regionprops3

Измерьте свойства 3-D областей объемного изображения

Описание

пример

stats = regionprops3(BW,properties) измеряет набор свойств для каждого связанного компонента (объекта) в 3-D объемном бинарном изображении BW. Область выхода stats обозначает различные свойства для каждого объекта.

Для всех синтаксисов, если вы не задаете properties аргумент, regionprops3 возвращает 'Volume', 'Centroid', и 'BoundingBox' измерения.

stats = regionprops3(CC,properties) измеряет набор свойств для каждого связанного компонента (объекта) в CC, которая является структурой, возвращенной bwconncomp.

stats = regionprops3(L,properties) измеряет набор свойств для каждой маркированной области в 3-D изображении метки L.

stats = regionprops3(___,V,properties) измеряет набор свойств для каждой маркированной области в 3-D объемном полутоновом изображении V. Первый вход (BW, CC, или L) определяет области в V.

Примеры

свернуть все

Создайте бинарное изображение с двумя сферами.

[x,y,z] = meshgrid(1:50,1:50,1:50);
bw1 = sqrt((x-10).^2 + (y-15).^2 + (z-35).^2) < 5;
bw2 = sqrt((x-20).^2 + (y-30).^2 + (z-15).^2) < 10;
bw = bw1 | bw2;

Получаем центры и радиусы двух сфер.

s = regionprops3(bw,"Centroid","PrincipalAxisLength");
centers = s.Centroid
centers = 2×3

    20    30    15
    10    15    35

diameters = mean(s.PrincipalAxisLength,2)
diameters = 2×1

   17.8564
    8.7869

radii = diameters/2
radii = 2×1

    8.9282
    4.3935

Сделайте кубик 9 на 9 с, который содержит кубик 3 на 3 с в центре.

innercube = ones(3,3,3);
cube_in_cube = padarray(innercube,[3 3],0,'both');

Получите всю статистику по кубу в кубе.

stats = regionprops3(cube_in_cube,'all')
stats=1×18 table
    Volume     Centroid      BoundingBox                 SubarrayIdx                     Image         EquivDiameter    Extent    VoxelIdxList       VoxelList         PrincipalAxisLength        Orientation    EigenVectors    EigenValues      ConvexHull        ConvexImage      ConvexVolume    Solidity    SurfaceArea
    ______    ___________    ____________    ___________________________________    _______________    _____________    ______    _____________    _____________    __________________________    ___________    ____________    ____________    _____________    _______________    ____________    ________    ___________

      27      5    5    2    [1x6 double]    {[4 5 6]}    {[4 5 6]}    {[1 2 3]}    {3x3x3 logical}       3.7221          1       {27x1 double}    {27x3 double}    3.4641    3.4641    3.4641    0    0    0    {3x3 double}    {3x1 double}    {24x3 double}    {3x3x3 logical}         27            1           41.07   

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

свернуть все

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

Типы данных: logical

Соединенные компоненты 3-D объемного изображения, заданные как структура, возвращаемая bwconncomp использование значения 3-D связи, такого как 6, 18 или 26. CC.ImageSize должен быть вектором 1 на 3.

Типы данных: struct

Пометьте изображение как одно из следующих.

  • A 3-D числовой массив. Воксели, маркированные 0 являются фоном. Воксели, маркированные 1 составляют один объект; воксели, отмеченные 2 составляют второй объект; и так далее. regionprops3 обрабатывает отрицательные воксели как фон и округляет вниз вход вокселей, которые не являются целыми числами. Вы можете получить числовое изображение метки из функций маркировки, таких как watershed или labelmatrix.

  • A 3-D категориальный массив. Каждая категория соответствует отдельной области.

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

Тип измерения, заданный как разделенный запятыми список строк или векторов символов, массив ячеек из строк или векторов символов, 'all' или 'basic'.

  • Если вы задаете 'all', затем regionprops3 вычисляет все измерения формы. Если вы также задаете полутоновое изображение, то regionprops3 возвращает все измерения значений вокселей.

  • Если вы задаете 'basic' или не указывать properties аргумент, затем regionprops3 вычисляет только 'Volume', 'Centroid', и 'BoundingBox' измерения.

В следующей таблице перечислены все свойства, обеспечивающие измерения формы. В таблице Измерения значения воксель (Voxel Value Measurements) перечислены дополнительные свойства, которые действительны только при указании полутонового изображения.

Измерения формы

Имя свойстваОписание
'BoundingBox'Наименьший кубоид, содержащий область, возвращается как вектор 1 на 6 вида [ulf_x ulf_y ulf_z width_x width_y width_z]. ulf_x, ulf_y, и ulf_z задайте верхний левый передний угол кубоида. width_x, width_y, и width_z задайте ширину кубоида по каждой размерности.
'Centroid'

Центр масс области, возвращаемый как вектор 1 на 3 вида [centroid_x centroid_y and centroid_z]. Первый элемент, centroid_x, - горизонтальная координата (или x-координата) центра масс. Второй элемент, centroid_y, - вертикальная координата (или y-координата). Третий элемент, centroid_z, - планарная координата (или z-координата).

'ConvexHull'Наименьший выпуклый многоугольник, который может содержать область, возвращенную как матрица p -by-3. Каждая строка матрицы содержит координаты x -, y - и z одной вершины многоугольника.
'ConvexImage'Изображение выпуклой оболочки, возвращаемое как объемное бинарное изображение (logical) со всеми заполненными вокселями в корпусе (установлено на on). Изображение представляет собой размер ограничивающего прямоугольника области.
'ConvexVolume'Количество вокселей в 'ConvexImage', возвращается как скаляр.
'EigenValues'Собственные значения вокселей, представляющих область, возвращаются как вектор 3 на 1. regionprops3 использует собственные значения, чтобы вычислить длины главных осей.
'EigenVectors'Собственные векторы вокселей, представляющих область, возвращаются как вектор 3 на 3. regionprops3 использует собственные векторы, чтобы вычислить ориентацию эллипсоида, который имеет те же нормированные вторые центральные моменты, что и область.
'EquivDiameter'Диаметр сферы с тем же объёмом, что и область, возвращается в виде скаляра. Вычисляется как (6*Volume/pi)^(1/3).
'Extent'Отношение вокселей в области к вокселам в общем ограничивающем прямоугольнике, возвращаемое в виде скаляра. Вычисляется как значение Volume разделенный на объем ограничивающего прямоугольника. [Volume/(bounding box width * bounding box height * bounding box depth)]
'Image'Ограничительный прямоугольник области, возвращенный как объемное бинарное изображение (logical) такой же размер как и ограничивающий прямоугольник области. The on воксели соответствуют области, и все другие воксели off.
'Orientation'

Углы Эйлера [2], возвращенные как вектор 1 на 3. Углы основаны на правиле правой руки. regionprops3 интерпретирует углы путем просмотра источника координат x -, y - и z - осей, представляющих крен, тангаж и рыскание соответственно. Положительный угол представляет поворот в направлении против часовой стрелки. Операции вращения не коммутируются, поэтому они должны применяться в правильном порядке, чтобы иметь предполагаемый эффект.

'PrincipalAxisLength'Длина (в вокселях) основных осей эллипсоида, которые имеют такие же нормализованные вторые центральные моменты, как и область, возвращается как вектор 1 на 3. regionprops3 сортировка значений от самых высоких до самых низких.
'Solidity'Доля вокселей в выпуклые оболочки, которые также находятся в области, возвращается как скаляр. Вычисляется как Volume/ConvexVolume.
'SubarrayIdx'Индексы, используемые для извлечения элементов внутри ограничивающего объекта прямоугольника, возвращаются как массив ячеек, такой что L(idx{:}) извлекает элементы L внутри ограничивающего объекта прямоугольника.
'SurfaceArea'Расстояние вокруг контура области [1], возвращаемое в виде скаляра.
'Volume'Счетчик фактического количества on'воксели в области, возвращается как скаляр. Объем представляет метрику или меру количества вокселей в областях объемного бинарного изображения, BW.
'VoxelIdxList'Линейные индексы вокселей в области, возвращенные как p элемент.
'VoxelList'Местоположения вокселей в области, возвращенные как матрица p -by-3. Каждая строка матрицы имеет вид [x y z] и задает координаты одного воксель в области.

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

Измерения значений вокселей

Имя свойства Описание
'MaxIntensity'Значение воксель с наибольшей интенсивностью в области, возвращаемое в виде скаляра.
'MeanIntensity'Среднее из всех значений интенсивности в области, возвращаемое в виде скаляра.
'MinIntensity'Значение воксель с самой низкой интенсивностью в области, возвращаемое в виде скаляра.
'VoxelValues'Значение вокселей в области, возвращаемое как вектор p -by-1, где p - количество вокселей в области. Каждый элемент в векторе содержит значение воксель в области.
'WeightedCentroid'Центр области на основе местоположения и значения интенсивности, возвращаемый как p-by-3 вектор координат. Первый элемент WeightedCentroid - горизонтальная координата (или x-координата) взвешенного центроида. Вторым элементом является вертикальная координата (или y-координата). Третьим элементом является плоская координата (или z-координата).

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

Объемное полутоновое изображение, заданное как 3-D числовой массив. Размер изображения должен совпадать с размером бинарного изображения BW, связанная структура компонента CC, или матрица меток L.

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

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

свернуть все

Значения измерений, возвращенные как таблица. Количество строк в таблице соответствует количеству объектов в BW, CC.NumObjects, или max (L(:)). Переменные (столбцы) в каждой строке таблицы обозначают свойства, рассчитанные для каждой области, как задано в properties. Если вход изображение является категориальным изображением с меткой L, затем stats включает дополнительную переменную со свойством 'LabelName'.

Ссылки

[1] Леманн, Гаэтан и Дэвид Легланд. Эффективная оценка N-размерной поверхности с помощью формулы Крофтона и кодировки длин прогонов, The Insight Journal, 2012. (https://insight-journal.org/browse/publication/852)

[2] Shoemake, Ken, Graphics Gems IV. Edited by Paul S. Heckbert, Morgan Kaufmann, 1994, pp. 222-229.

См. также

| | |

Введенный в R2017b