Создайте семантическую сегментацию с помощью 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.

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

На панели « Срезы» перейдите к срезу, где объект впервые появляется, и используйте инструмент рисования, чтобы пометить объект. На следующем рисунке этот пример использует инструмент Paint Кисти для маркировки мозга, но можно использовать любой из инструментов рисования.

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание дополнительных меток

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

Сначала задайте новую метку на панели « Метках». Щелкните знак «Плюс» на панели « Метках», чтобы создать новую метку.

На панели « Срезы» перейдите к срезу, где объект впервые появляется, и начните маркировать объект на каждом срезе с помощью инструмента рисования. На следующем рисунке этот пример использует инструмент Paint Brush для маркировки опухоли. Как и ранее, можно рисовать объект на каждом срезе, где он появляется, или использовать инструменты интерполяции, чтобы автоматически рисовать на нескольких срезах. После интерполяции можно использовать инструменты рисования, такие как ластик, для изменения автоматической сегментации на каждом срезе.

Сохраните сегментацию

Когда вы завершите маркировку мозга и опухоли в объеме, сохраните сегментацию. Щелкните Сохранить метки (Save Labels) на вкладке Сегментатор (Segmenter) и выберите один из нескольких опций. Помеченные данные МРТ можно сохранить как MAT-файл или как переменную в рабочей области. В данном примере выберите переменную рабочей области. Когда вы задаете несколько меток, приложение Volume Segmenter создает в рабочей области категориальный том, размер которого совпадает с размером входа тома. После сохранения сегментации можно включить функцию Autosave, которая периодически автоматически сохраняет сегментацию.

Сделайте фон отдельно маркированной областью

После маркировки мозга и опухоли и сохранения сегментации в рабочей области как категориального объема, можно заметить, что все фоновые воксели имеют значение <undefined>. Чтобы пометить фоновые воксели, чтобы они также имели распознаваемую категоризацию, следуйте процессу, аналогичному ранее описанному:

  1. Задайте новую метку на панели « Метках», присвойте метке описательное имя и выберите цвет фона.

  2. Пометьте фон на каждом срезе. Перейдите к срезу, выберите «Заливка» Области вкладке «Рисование» и щелкните в любом месте фона. Повторите этот процесс на каждом срезе.

При добавлении фона можно скрыть другие метки в визуализации тома на панели 3-D Отображение. Чтобы просмотреть другие маркированные области на панели 3-D Отображение, отключите видимость метки фона. Щелкните Показом Labels на вкладке 3-D Display, нажатием кнопки Customize и отмените выбор видимости метки фона.

Просмотр маркированного тома

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

См. также

Похожие темы