Создайте Семантическую Сегментацию Используя Volume Segmenter

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

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

Загрузите объем в рабочую область. Этот пример использует стек изображений мозга 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

Откройте приложение Volume Segmenter. Кликните по вкладке Apps на панели инструментов MATLAB®. В разделе Image Processing и Computer Vision нажмите Volume Segmenter.

Загрузите объем в 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.

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

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

Используя интерполяцию, чтобы ускорить объектное создание ROI

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

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

С 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. На вкладке Automate нажмите Add Algorithm. Выберите, хотите ли вы, чтобы ваша функция обработки работала с каждым 2D (Основанным на срезе) срезом или с целым 3-D (Основанным на объеме) объемом.

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

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

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

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

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

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

Во-первых, задайте новую метку в панели Меток. Кликните по Знаку "плюс" в панели Меток, чтобы создать новую метку.

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

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

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

Сделайте фон отдельно помеченной областью

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

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

  2. Пометьте фон на каждом срезе. Перейдите к срезу, выберите Fill Region на вкладке Draw и щелкните где угодно в фоновом режиме. Повторите этот процесс на каждом срезе.

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

Просмотрите помеченный объем

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

Смотрите также

Похожие темы