fibermetric

Улучшите удлиненные или трубчатые структуры в изображении

Описание

пример

J = fibermetric(I) улучшает удлиненные или трубчатые структуры в 2D или 3-D полутоновом изображении I использование Основанной на гессиане многошкальной фильтрации. Возвращенное изображение, J, содержит максимальный ответ фильтра в толщине, которая приблизительно совпадает с размером трубчатой структуры в изображении.

J = fibermetric(I,thickness) задает толщину трубчатых структур, чтобы улучшить.

J = fibermetric(___,Name,Value) аргументы пары "имя-значение" использования, чтобы управлять различными аспектами алгоритма фильтрации.

Примеры

свернуть все

Считайте и отобразите изображение, которое содержит трубчатые потоки различных толщин.

A = imread('threads.png');
imshow(A)

Создайте расширенную версию изображения, которое подсвечивает потоки, которые семь пикселей толщиной. Потоки обнаруживаются темный против светлого фона, поэтому задают объектную полярность как 'темную'. Отобразите улучшенное изображение.

B = fibermetric(A,7,'ObjectPolarity','dark');
imshow(B)
title('Enhanced Tubular Structures 7 Pixels Thick')

Порог улучшенное изображение, чтобы создать бинарный рисунок маски, содержащий потоки с заданной толщиной.

BW = imbinarize(B);

Отобразите маску по оригинальному изображению при помощи labeloverlay функция. Наложение имеет голубой оттенок, где маской является true (где потоки имеют заданную толщину).

imshow(labeloverlay(A,BW));
title('Detected Tubular Structures 7 Pixels Thick')

Входные параметры

свернуть все

Отобразите с удлиненными или трубчатыми структурами, заданными как 2D полутоновое изображение или 3-D полутоновый объем.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Толщина трубчатых структур в пикселях, заданных как положительное целое число или вектор положительных целых чисел.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: J = fibermetric(I,'StructureSensitivity',15)

Чувствительность структуры, заданная как разделенная запятой пара, состоящая из 'StructureSensitivity' и положительное число. Чувствительность структуры является порогом для дифференциации трубчатой структуры происхождения.

Значение по умолчанию зависит от типа данных изображения I, и вычисляется как 0.01*diff (getrangefromclassi. Например, порогом по умолчанию является 2.55 для изображений типа данных uint8, и значением по умолчанию является 0.01 для изображений типа данных double с пиксельными значениями в области значений [0, 1].

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Полярность трубчатых структур с фоном, заданным как разделенная запятой пара, состоящая из 'ObjectPolarity' и одно из следующих значений:

ЗначениеОписание
'bright'Структура более ярка, чем фон.
'dark'Структура является более темной, чем фон.

Типы данных: char | string

Выходные аргументы

свернуть все

Улучшенное изображение, возвращенное как числовой массив одного размера с входом, отображает I. Если тип данных I double, затем тип данных J также double. В противном случае, тип данных J single.

Типы данных: single | double

Советы

  • fibermetric функция не выполняет сегментацию. Функция улучшает изображение, чтобы подсветить структуры и обычно используется в качестве шага предварительной обработки для сегментации.

Вопросы совместимости

развернуть все

Поведение изменяется в R2018b

Ссылки

[1] Frangi, Алехандро Ф., и др. Многошкальная фильтрация улучшения судна. Медицинское Вычисление Изображений и Машинное Вмешательство — MICCAI '98. Спрингер Берлин Гейдельберг, 1998. стр 130–137.

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

|

Введенный в R2017a