Создайте двоичную маску с помощью Volume Segmenter

В этом примере показано, как сегментировать том в приложении Volume Segmenter. Приложение Volume Segmenter предлагает много способов исследовать том и объекты сегментов в томе. Для примера можно просмотреть объемный срез за срезом или как 3-D представление. Для сегментации объекта можно нарисовать видимую область (ROI) с помощью инструментов информации только для чтения рисования или инструмента кисти краски. Этот пример создает бинарную маску, которая изолирует небольшую область мозга.

Загрузка объемных данных в рабочую область

Загрузите том в рабочую область. Этот пример использует стек изображений мозга МРТ, хранящихся в MAT-файле vol_001.mat.

load(fullfile(toolboxdir('images'),'imdata',...
    'BrainMRILabeled','images','vol_001.mat'));

Эта команда загружает объем 240 на 240 на 155, названный vol в рабочую область.

whos vol
  Name        Size                    Bytes  Class     Attributes

  vol       240x240x155            17856000  uint16              

Откройте Volume Segmenter

Откройте приложение Volume Segmenter. Нажмите вкладку Apps на панели инструментов MATLAB ®. В разделе Обработка изображений и Компьютерное зрение нажмите Volume Segmenter .

Загрузка тома в Volume Segmenter

Чтобы загрузить том в приложении Volume Segmenter, нажмите Открыть том на панели инструментов приложения. В данном примере выберите Открыть из Рабочей области. В диалоговом окне «Импорт тома» выберите том, который вы загрузили в рабочую область, vol(Вы также можете задать том, когда откроете приложение при помощи volumeSegmenter команда: volumeSegmenter(vol).)

Приложение Volume Segmenter отображает представление 3-D объема на панели 3-D Отображение и отображает отдельные срезы набора данных на панели Slice.

По умолчанию на панели « Срезе» отображается первый срез данных. Приложение отображает номер среза, отображаемого в верхней части изображения, например, 1/155. В этом наборе данных первые несколько срезов не содержат изображений мозга.

Приложение также автоматически создает метку для сегментации на панели Labels, используя имя по умолчанию Label1. На панели «Метки» можно задать несколько меток. Однако для создания двоичной маски необходимо использовать только одну метку.

Чтобы изменить имя метки, дважды щелкните имя метки. Чтобы изменить цвет, связанный с меткой, дважды щелкните цветовой квадрат, отображаемый на панели « Метках». Вы можете опционально загрузить существующий набор меток в приложение с помощью кнопки «Открыть метки».

Исследуйте том

Чтобы определить, какой сегмент необходимо сегментировать, исследуйте том с помощью панели 3-D Отображение и панели Slice.

На панели 3-D Отображение можно повернуть том, чтобы исследовать данные с каждого угла, используя мышь. Можно также настроить отображение тома на вкладке 3-D Display на панели инструментов приложения. Например, если у вас есть метаданные, которые уменьшают относительный размер вокселей, можно задать их в части Пространственные ссылки на вкладке 3-D Отображение на панели инструментов приложения. Чтобы улучшить представление данных, можно изменить цвет фона, используемый в 3-D отображении, изменить порог и непрозрачность отображения и включить оси ориентации в отображение, как показано на этом рисунке. С помощью данных МРТ мозга можно увидеть опухоль в височной доле, которую вы хотите сегментировать.

Можно также просмотреть каждый срез объема на панели « Срезе». Для перехода от среза к срезу используйте ползунок в нижней части панели. Вы можете увидеть опухоль на срезе 35 через срез 88. По умолчанию на панели « Срезе» отображается том, ориентированный вдоль оси X-Y, но изменить его можно с помощью кнопок в разделе Ориентация (Orientation) панели инструментов на вкладке Сегмент (Segmenter). Панель « Срез» также находится там, где для определения маски используются инструменты рисования.

Для определения маски используйте Инструменты рисования

Если вы определили объект, который хотите сегментировать, можно использовать инструменты на вкладке Draw на панели инструментов приложения, чтобы определить область. Выберите инструмент для рисования, который необходимо использовать, из инструментов ROI: Freehand, Assisted Freehand и многоугольник, а также инструмент Paint Brush.

На панели « Срезы» перейдите к срезу, где объект впервые появляется, срезайте 35 и нарисуйте контур вокруг объекта. В данном примере используйте инструмент рисования «Многоугольник». Щелкните, чтобы создать вершину, затем переместите курсор и щелкните еще раз, чтобы создать вторую вершину с прямой линией, соединяющей их. Продолжите этот процесс, чтобы создать соединенную линию. Чтобы добавить дополнительные вершины после завершения рисования, дважды щелкните на ребре информация только для чтения.

Использование интерполяции для ускорения создания информация только для чтения объекта

Можно перемещаться по объему, срезать по фрагментам и рисовать информация только для чтения на каждом срезе, где отображается объект. Однако приложение Volume Segmenter предоставляет несколько автоматических инструментов интерполяции, которые могут помочь с сегментацией объекта по срезам.

Чтобы использовать интерполяцию, сначала необходимо вручную задать область на двух срезах. Вы уже определили область на первом срезе, где отображается объект, срез 35. Используйте тот же процесс, чтобы задать область на последнем срезе, где она появляется, срез 88. Приложение помещает две полосы поверх ползунка, используя цвет, сопоставленный с меткой, чтобы указать срезы с ROIs.

Используя объект, заданный на двух срезах, щелкните Автоматическая интерполяция (Auto Interpolate). Приложение автоматически определяет информация только для чтения на всех промежуточных слайдах. Приложение использует синие полосы, чтобы указать все срезы, которые имеют ROI, которые теперь выглядят как сплошная полоса от среза 35 до среза 88.

Кроме того, после определения информация только для чтения на двух срезах можно нажать кнопку Вручную Интерполировать. С помощью этой опции приложение открывает диалоговое окно «Ручная интерполяция». Вы выбираете две области, из которых вы хотите интерполировать, - Область 1 и Область 2. Чтобы выбрать первую область, используйте ползунок в нижней части диалогового окна, чтобы перейти к первому срезу с информацией только для чтения, срезу 35, и затем щелкните внутри отображаемой информации только для чтения. Чтобы выбрать вторую область, щелкните Область 2, перейдите, чтобы сдвинуть 88 и нажатие кнопки внутрь отображаемой информации только для чтения. После выбора обеих областей щелкните Запуском, чтобы интерполировать информацию только для чтения на всех промежуточных срезах.

Уточнение интерполированных ROIs

После использования интерполяции проверьте отдельные срезы, чтобы увидеть, создала ли интерполяция удовлетворительные ROI. Обратите внимание, что информация только для чтения на срезе 71 не заполняет весь объект, который вы хотите сегментировать. Настроить информацию только для чтения можно вручную с помощью инструмента «Кисти краски». Также можно использовать один из инструментов на вкладке Automate. Например, можно использовать Active Contours, чтобы вырастить ROI на срезах, где он не заполняет полный размер опухоли. Можно также использовать Алгоритм Добавления, чтобы задать свой собственный алгоритм для работы с ROIs.

Выполните пользовательскую обработку

Вы также можете свой собственный алгоритм для работы с ROIs. На вкладке Automate нажмите Add Algorithm. Выберите, должна ли обработка работать с каждым срезом 2-D (на основе среза) или со всем объемом 3-D (на основе объема).

В данном примере в разделе На основе фрагментов (Slice-Based) выберите опцию Создать (New) и нажмите Шаблон функции (Function Template), чтобы создать новую функцию, которая будет работать с каждым 2-D срезом. Приложение открывает шаблон в редакторе MATLAB. Замените образец кода в шаблоне на код, который вы хотите использовать. Ваша функция должна принять два аргумента: каждый срез как отдельное изображение и маску. Ваша функция должна также вернуть маскированное изображение.

По завершении редактирования шаблона сохраните файл. Приложение Volume Segmenter автоматически создает кнопку на панели инструментов вкладки Automate для вашей функции. Чтобы протестировать функцию на одном срезе, нажмите Запуск. По умолчанию приложение применяет функцию только к текущему срезу.

После проверки функции на одном срезе, можно запустить ее на всех срезах или подмножестве срезов. Можно запустить его от текущего среза до конца (наивысший нумерованный срез) или от текущего среза назад к началу (срез 1). Можно также задать область значений срезов путем определения начального среза и конечного среза.

Когда вы выбираете один из направленных опций, приложение обновляет номера среза в отображение. Это отображение можно использовать для просмотра прогресса обработки.

Создайте объем двоичной маски

Чтобы создать объем двоичной маски, щелкните Сохранить метки (Save Labels) на вкладке Сегментатор (Segmenter). Можно сохранить маску в MAT-файле или в переменной рабочей области. В данном примере щелкните Сохранить как переменную рабочей области. В диалоговом окне Сохранить в рабочей области укажите, нужно ли сохранять сегментацию как логическую или категориальную маску. Выберите логический, (значение по умолчанию, когда метка только одна), дайте переменной имя, my_mask_volume, и нажмите OK. Приложение создает 3-D том класса logical с теми же размерностями, что и исходный объем.

Чтобы просмотреть маску, используйте volshow функция: volshow(my_mask_volume);.

См. также

Похожие темы