exponenta event banner

regionprops3

Свойства меры 3D объемных регионов изображения

Описание

пример

stats = regionprops3(BW,properties) меры ряд свойств для каждого связанного компонента (объект) в 3D объемном бинарном изображении 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 из 0, который содержит куб 3 на 3 из 1 в центре.

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

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

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

Изображение метки, указанное как одно из следующих значений.

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

  • 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) того же размера, что и ограничивающая рамка области. on voxels соответствуют области, и все остальные voxels 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.

Измерения значения Voxel

Имя свойства Описание
'MaxIntensity'Значение вокселя с наибольшей интенсивностью в области, возвращаемое как скаляр.
'MeanIntensity'Среднее значение всех значений интенсивности в области, возвращаемое как скаляр.
'MinIntensity'Значение вокселя с наименьшей интенсивностью в области, возвращаемое как скаляр.
'VoxelValues'Значение вокселей в области, возвращаемое в виде вектора p-by-1, где p - число вокселей в области. Каждый элемент вектора содержит значение вокселя в области.
'WeightedCentroid'Центр области на основе местоположения и значения интенсивности, возвращаемого в виде p-по-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. Под редакцией Пола С. Хекберта, Morgan Kaufmann, 1994, стр. 222-229.

См. также

| | |

Представлен в R2017b