В этом примере показано, как сегментировать объем в приложении Volume Segmenter. Приложение Volume Segmenter предлагает много способов исследовать объем и объекты сегмента в объеме. Например, можно просмотреть срез срезом объема или как 3-D представление. Чтобы сегментировать объект, можно чертить видимую область (ROI) с помощью инструментов для рисования ROI или инструмента кисти. Этот пример создает бинарную маску, которая изолирует небольшую область мозга.
Загрузите объем в рабочую область. Этот пример использует стек изображений мозга MRI, сохраненных в 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. Кликните по вкладке Apps на панели инструментов MATLAB®. В разделе Image Processing и Computer Vision нажмите Volume Segmenter.
Чтобы загрузить объем в приложении Volume Segmenter, нажмите Open Volume в панели инструментов приложения. В данном примере выберите Open from Workspace. В диалоговом окне Import Volume выберите объем, который вы загрузили в рабочую область, vol
, и нажмите ОК. (Можно также задать объем, когда вы открываете приложение при помощи volumeSegmenter
команда: volumeSegmenter(vol)
.)
Отображения приложения Volume Segmenter 3-D представление объема в 3-D панели Отображения и срезах индивидуума отображений набора данных в панели Среза.
По умолчанию панель Среза отображает первый срез ваших данных. Отображения приложения количество среза, отображенного наверху изображения, например, 1/155. В этом наборе данных первые несколько срезов не содержат изображения мозга.
Приложение также автоматически создает метку для сегментации в панели Меток, с помощью имени по умолчанию Label1
. Можно задать несколько меток в панели Меток. Однако, чтобы создать бинарную маску, необходимо использовать только одну метку.
Чтобы изменить название метки, дважды кликните имя метки. Чтобы изменить цвет, сопоставленный с меткой, дважды кликните цветной квадрат, отображенный в панели Меток. Можно опционально загрузить существующий набор меток в приложение с помощью кнопки Open Labels.
Чтобы определить, что вы хотите сегментировать, исследуйте объем с помощью 3-D панели Отображения и панели Среза.
В 3-D панели Отображения можно вращать объем, чтобы исследовать данные с разных сторон, с помощью мыши. Можно также настроить отображение объема в 3-D вкладке Display в панели инструментов приложения. Например, если у вас есть метаданные, которые описывают относительный размер вокселей, можно задать его в Пространственной части Ссылки 3-D вкладки Display в панели инструментов приложения. Чтобы улучшить ваше представление данных, можно изменить цвет фона, используемый в 3-D отображении, изменить порог и непрозрачность отображения, и включать оси ориентации с отображением, как показано в рисунке ниже. С мозговыми данными MRI вы видите опухоль в височной доле, которую вы хотите сегментировать.
Можно также просмотреть каждый срез объема в панели Среза. Используйте ползунок в нижней части панели, чтобы переместиться от среза до среза. Вы видите опухоль на срезе 35 через срез 88. По умолчанию панель Среза отображает объем, ориентированный вдоль оси X-Y, но можно изменить это использование кнопки в разделе Orientation панели инструментов на вкладке Segmenter. Панель Среза также, где вы используете инструменты для рисования, чтобы задать маску.
Если вы идентифицировали объект, который вы хотите сегментировать, можно использовать инструменты на вкладке Draw в панели инструментов приложения, чтобы задать область. Выберите инструмент для рисования, который вы хотите использовать от инструментов ROI: От руки, Помогший От руки, и Многоугольник и инструмент Paint Brush.
В панели Среза перейдите к срезу, где объект сначала появляется, срез 35, и чертите схему вокруг объекта. В данном примере используйте инструмент для рисования Многоугольника. Щелкните, чтобы создать вершину, затем переместите курсор и щелкните еще раз, чтобы создать вторую вершину прямой линией, соединяющей их. Продолжите этот процесс, чтобы создать связанную линию. Чтобы добавить дополнительные вершины после того, как вы закончите чертить, дважды кликните на ребре ROI.
Можно переместиться через объем, срез срезом, и чертить ROI на каждом срезе, где объект появляется. Однако приложение Volume Segmenter обеспечивает несколько автоматизированных инструментов интерполяции, которые могут помочь с сегментацией объекта через срезы.
Чтобы использовать интерполяцию, необходимо сначала вручную задать область на двух срезах. Вы уже задали область на первом срезе, где объект появляется, срез 35. Используйте тот же процесс, чтобы задать область на последнем срезе, где это появляется, срез 88. Приложение помещает две панели сверху ползунка, с помощью цвета, сопоставленного с меткой, чтобы указать на срезы с ROI.
С объектом, заданным на двух срезах, нажмите Auto Interpolate. Приложение автоматически задает ROI на всех прошедших слайдах. Приложение использует синие панели, чтобы указать на все срезы, которые имеют ROI, которые теперь появляются, когда тело запрещает срез 35, чтобы резать 88.
В качестве альтернативы после определения ROI на двух срезах, можно нажать Manually Interpolate. При использовании этой опции приложение открывает диалоговое окно Manually Interpolate. Вы выбираете эти две области, из которых вы хотите интерполировать, область Один и область Два. Чтобы выбрать первую область, используйте ползунок в нижней части диалогового окна, чтобы перейти к первому срезу с ROI, срезу 35, и затем щелкнуть в отображенном ROI. Чтобы выбрать вторую область, нажмите Region Two, перейдите к слайду 88 и нажатию кнопки в отображенном ROI. После выбора обеих областей нажмите Run, чтобы интерполировать ROI на всех прошедших срезах.
После использования интерполяции проверяйте отдельные срезы, чтобы видеть, создала ли интерполяция удовлетворительные ROI. Обратите внимание на то, что ROI на срезе 71 не заполняет целый объект, который вы хотите сегментировать. Можно вручную настроить ROI с помощью инструмента Paint Brush. В качестве альтернативы можно использовать один из инструментов на вкладке Automate. Например, можно использовать Активные Контуры, чтобы вырастить ROI на срезах, где это не заполняет полный размер опухоли. Можно также использовать Добавить Алгоритм, чтобы задать собственный алгоритм, чтобы работать с ROI.
Можно добавить собственный алгоритм, чтобы работать с ROI. На вкладке Automate нажмите Add Algorithm. Выберите, хотите ли вы, чтобы ваша обработка работала с каждым 2D (Основанным на срезе) срезом или с целым 3-D (Основанным на объеме) объемом.
В данном примере под Основанным на срезе, выберите Новую опцию и нажмите Function Template, чтобы создать новую функцию, которая работает с каждым 2D срезом. Приложение открывает шаблон в редакторе MATLAB. Замените пример кода в шаблоне с кодом, который вы хотите использовать. Ваша функция должна принять два аргумента: каждый срез как отдельное изображение и маска. Ваша функция должна также возвратить рисунок маски.
Когда вы закончите редактируя шаблон, сохраните файл. Приложение Volume Segmenter автоматически создает кнопку в панели инструментов вкладки Automate для вашей функции. Чтобы протестировать вашу функцию на одном срезе, нажмите Run. По умолчанию приложение применяет функцию только к текущему срезу.
После тестирования вашей функции на одном срезе можно запустить его на всех срезах или подмножестве срезов. Можно запустить его от текущего среза в конец (самый высокий пронумерованный срез) или от текущего среза назад к началу (срез 1). Можно также указать диапазон срезов путем определения стартового среза и конечного среза.
Когда вы выбираете одну из направленных опций, обновления приложения числа среза в отображении. Можно использовать это отображение, чтобы просмотреть прогресс обработки.
Чтобы создать бинарный объем маски, нажмите Save Labels на вкладке Segmenter. Можно сохранить маску в MAT-файл или в переменную рабочей области. В данном примере нажмите Save As Workspace Variable. В диалоговом окне Save to Workspace задайте, хотите ли вы сохранить сегментацию как логическую или категориальную маску. Выберите логический (значение по умолчанию, когда существует только одна метка), дайте переменной имя, my_mask_volume
, и нажмите ОК. Приложение создает 3-D объем класса logical
с теми же размерностями как исходный объем.
Чтобы просмотреть маску, используйте volshow
функция: volshow(my_mask_volume);
.