Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

regionprops3

Medir propiedades de regiones de imágenes volumétricas 3D

Descripción

stats = regionprops3(BW,properties) mide un conjunto de propiedades para cada componente conectado (objeto) en la imagen binaria volumétrica 3D BW. La salida stats determina propiedades diferentes para cada objeto.

regionprops3 encuentra objetos únicos en imágenes binarias volumétricas utilizando entornos de conectividad 26. Para obtener más información, consulte Conectividad de píxeles. Para encontrar objetos utilizando otros tipos de conectividad, utilice en su lugar bwconncomp para crear los componentes conectados y, después, pase el resultado a regionprops3 utilizando el argumento CC.

Para todas las sintaxis, puede omitir el argumento properties. En este caso regionprops3 devuelve las mediciones "Volume", "Centroid" y "BoundingBox".

ejemplo

stats = regionprops3(CC,properties) mide un conjunto de propiedades para cada componente conectado (objeto) en CC, que es una estructura devuelta por bwconncomp.

stats = regionprops3(L,properties) mide un conjunto de propiedades para cada región con etiqueta asignada en la imagen de etiqueta 3D L.

stats = regionprops3(___,V,properties) mide un conjunto de propiedades para cada región con etiqueta asignada en la imagen volumétrica 3D en escala de grises V. La primera entrada (BW, CC o L) identifica las regiones de V.

Ejemplos

contraer todo

Cree una imagen binaria con dos esferas.

[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;

Obtenga los centros y los radios de las dos esferas.

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

   19.9641
    9.8241

radii = diameters/2
radii = 2×1

    9.9820
    4.9120

Haga un cubo de ceros de 9 por 9 que contenga un cubo de unos de 3 por 3 en su centro.

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

Obtenga todas las estadísticas del cubo dentro del cubo.

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    3.5    3.5    0.5      3      3      3    {[4 5 6]}    {[4 5 6]}    {[1 2 3]}    {3×3×3 logical}       3.7221          1       {27×1 double}    {27×3 double}    3.873    3.873    3.873    0    0    0    {3×3 double}    {3×1 double}    {24×3 double}    {3×3×3 logical}         27            1           41.07   

Argumentos de entrada

contraer todo

Imagen binaria volumétrica, especificada como arreglo lógico 3D.

regionprops3 ordena los objetos de la imagen binaria volumétrica de izquierda a derecha en función del extremo top-left de cada componente. Cuando varios objetos tienen la misma posición horizontal, la función ordena esos objetos de arriba abajo y, de nuevo, a lo largo de la tercera dimensión. regionprop3 devuelve las propiedades medidas, stats, en el mismo orden que los objetos ordenados.

Tipos de datos: logical

Componentes conectados de una imagen volumétrica 3D, especificados como una estructura devuelta por bwconncomp utilizando un valor de conectividad 3D, como 6, 18 o 26. CC.ImageSize debe ser un vector de 1 por 3.

Tipos de datos: struct

Imagen de la etiqueta, especificada como uno de los siguientes:

  • Arreglo numérico 3D. Los vóxeles que tiene asignada la etiqueta 0 son el fondo. Los vóxeles que tienen asignada la etiqueta 1 forman un objeto; los vóxeles etiquetados como 2 forman un segundo objeto; y así sucesivamente. regionprops3 trata los vóxeles con valores negativos como fondo y redondea hacia abajo los vóxeles de entrada que no sean enteros. Puede obtener una imagen de etiqueta numérica a partir de funciones de etiquetado como watershed o labelmatrix.

  • Arreglo categórico 3D. Cada categoría corresponde a una región diferente.

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | categorical

Tipo de medición, especificado como una lista separada por comas de cadenas o vectores de caracteres, un arreglo de celdas de cadenas o vectores de caracteres, "all" o "basic".

  • Si especifica "all", regionprops3 calcula todas las mediciones de la forma. Si también especifica una imagen en escala de grises, regionprops3 devuelve todas las mediciones del valor de los vóxeles.

  • Si especifica "basic" o no especifica el argumento properties, regionprops3 solo calcula las mediciones "Volume", "Centroid" y "BoundingBox".

En la siguientes tabla se enumeran todas las propiedades que proporcionan mediciones de la forma. En la tabla Mediciones del valor de los vóxeles se enumeran las propiedades adicionales que solo son válidas cuando se especifica una imagen en escala de grises.

Mediciones de forma

Nombre de la propiedadDescripciónGeneración de código
"BoundingBox"Cuboide más pequeño que contiene la región, devuelto como un vector de 1 por 6 de la forma [ulf_x ulf_y ulf_z width_x width_y width_z]. ulf_x, ulf_y y ulf_z especifican la esquina frontal superior izquierda del cuboide. width_x, width_y y width_z especifican la anchura del cuboide a lo largo de cada dimensión.
"Centroid"

Centro de masa de la región, devuelto como un vector de 1 por 3. Los tres elementos especifican las coordenadas (x, y, z) del centro de masa.

"ConvexHull"Polígono convexo más pequeño que puede contener la región, devuelto como matriz de p por 3. Cada fila de la matriz contiene las coordenadas x, y y z de un vértice del polígono.No
"ConvexImage"Imagen de la envolvente convexa, devuelta como imagen binaria volumétrica con todos los vóxeles dentro de la envolvente rellenados (establecido en on). La imagen tiene el tamaño del cuadro delimitador de la región. No
"ConvexVolume"Número de vóxeles en ConvexImage, devuelto como escalar.No
"EigenValues"Valores propios de los vóxeles que representan una región, devueltos como vector de 3 por 1. regionprops3 utiliza valores propios para calcular las longitudes principales de los ejes.
"EigenVectors"Vectores propios de los vóxeles que representan una región, devueltos como vector de 3 por 3. regionprops3 utiliza los vectores propios para calcular la orientación del elipsoide que tiene los mismos segundos momentos centrales normalizados que la región.
"EquivDiameter"Diámetro de una esfera con el mismo volumen que la región, devuelto como escalar. Calculado como (6*Volume/pi)^(1/3).
"Extent"Relación entre los vóxeles de la región y los vóxeles del cuadro delimitador total, devuelta como escalar. Se calcula como el valor de Volume dividido por el volumen del cuadro delimitador. [Volume/(bounding box width * bounding box height * bounding box depth)]
"Image"Cuadro delimitador de la región, devuelto como imagen binaria volumétrica del mismo tamaño que el cuadro delimitador de la región. Los vóxeles on corresponden a la región y todos los demás vóxeles son off.
"Orientation"

Ángulos de Euler [2], devueltos como vector de 1 por 3. Los ángulos se basan en la regla de la mano derecha. regionprops3 interpreta los ángulos mirando al origen a lo largo de los ejes x, y y x, que representan el alabeo, cabeceo y guiñada, respectivamente. Un ángulo positivo representa una rotación en sentido contrario a las agujas del reloj. Las operaciones de rotación no son conmutativas, por lo que deben aplicarse en el orden correcto para que tengan el efecto deseado.

"PrincipalAxisLength"Longitud (en vóxeles) de los ejes principales del elipsoide que tienen los mismos segundos momentos centrales normalizados que la región, devuelta como vector de 1 por 3. regionprops3 ordena los valores de mayor a menor.
"Solidity"Proporción de los vóxeles en la envolvente convexa que también están en la región, devuelta como escalar. Calculado como Volume/ConvexVolume.No
"SubarrayIdx"Índices utilizados para extraer elementos de dentro del cuadro delimitador del objeto, devueltos como arreglo de celdas de tal modo que L(idx{:}) extrae los elementos de L dentro del cuadro delimitador del objeto.
"SurfaceArea"Distancia alrededor del límite de la región [1], devuelta como escalar.No
"Volume"Recuento del número real de vóxeles on de la región, devuelto como escalar. El volumen representa la métrica o medida del número de vóxeles de las regiones dentro de la imagen binaria volumétrica, BW.
"VoxelIdxList"Índices lineales de los vóxeles de la región, devueltos como vector de p elementos.
"VoxelList"Ubicación de los vóxeles en la región, devuelta como matriz de p por 3. Cada fila de la matriz tiene la forma [x y z] y especifica las coordenadas de un vóxel de la región.

Las propiedades de medición del valor de los vóxeles de la siguiente tabla solo son válidas cuando se especifica una imagen volumétrica en escala de grises, V.

Mediciones del valor de los vóxeles

Nombre de la propiedad DescripciónGeneración de código
"MaxIntensity"Valor del vóxel con la mayor intensidad de la región, devuelto como escalar.
"MeanIntensity"Media de todos los valores de intensidad de la región, devuelta como un escalar.
"MinIntensity"Valor del vóxel con la menor intensidad de la región, devuelto como escalar.
"VoxelValues"Número de vóxeles de la región, devuelto como vector de p por 1, donde p es el número de vóxeles de la región. Cada elemento del vector contiene el valor de un vóxel de la región.
"WeightedCentroid"Centro de la región basado en la ubicación y el valor de intensidad, devuelto como vector de p por 3 de coordenadas. El primer elemento de WeightedCentroid es la coordenada horizontal (o coordenada x) del centroide ponderado. El segundo elemento es la coordenada vertical (o coordenada y). El tercer elemento es la coordenada planar (o coordenada z).

Tipos de datos: char | string | cell

Imagen volumétrica en escala de grises, especificada como arreglo numérico 3D. El tamaño de la imagen debe coincidir con el tamaño de la imagen binaria BW, de la estructura de componentes conectados CC o de la matriz de etiquetas L.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32

Argumentos de salida

contraer todo

Valores de medición, devueltos como tabla. El número de filas de la tabla corresponde al número de objetos de BW, CC.NumObjects o max(L(:)). Las variables (columnas) de cada fila de tabla determinan las propiedades calculadas para cada región, como se especifica en properties. Si la imagen de entrada es una imagen de etiqueta categórica L, stats incluye una variable adicional con la propiedad "LabelName".

El orden de los valores de medición de stats es el mismo que los objetos ordenados en la imagen binaria BW o los objetos ordenados especificados por CC o L.

Referencias

[1] Lehmann, Gaetan and David Legland. Efficient N-Dimensional surface estimation using Crofton formula and run-length encoding, 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.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2017b

expandir todo

Consulte también

| | |