ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

regionprops3

3 次元ボリューム イメージ領域のプロパティの計測

説明

stats = regionprops3(BW,properties) は、3 次元ボリューム バイナリ イメージ BW 内の各連結要素 (オブジェクト) の一連のプロパティを測定します。出力 stats は、BW のオブジェクトの数と高さ (行数) が等しいテーブルです。テーブルの変数 (列) は、properties で指定された、各領域のさまざまなプロパティを示します。

すべての構文において、properties 引数を指定しない場合、regionprops3'Volume''Centroid'、および 'BoundingBox' の測定値を返します。

stats = regionprops3(CC,properties) は、bwconncomp によって返される構造体である CC 内の各連結要素 (オブジェクト) の一連のプロパティを測定します。

stats = regionprops3(L,properties) は、3 次元ラベル行列 L にある各ラベル付き領域の一連のプロパティを測定します。

stats = regionprops3(___,V,properties) は、3 次元ボリューム グレースケール イメージ V にある各ラベル付き領域の一連のプロパティを測定します。最初の入力 (BWCC または L) は、V にある領域を識別します。

すべて折りたたむ

2 つの球を持つバイナリ イメージを作成します。

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

2 つの球の中心と半径を取得します。

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

中心に 1 の 3 x 3 のキューブを含む 0 の 9 x 9 のキューブを作成します。

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]    [1x3 double]    [1x3 double]    [1x3 double]    [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 次元 logical 配列として指定します。

データ型: logical

連結要素。bwconncomp によって返される構造体として指定します。CC 構造体は 3 次元イメージを表す必要があります。つまり、CC.ImageSize は 1 行 3 列のベクトルでなければなりません。また、CC 構造体は、6、18、26 などの 3 次元の連結性の値を使用して作成しなければなりません。

データ型: 構造体

ラベル行列。3 次元数値配列として指定します。regionprops3 は負の値のピクセルを背景として扱い、整数でない入力ピクセルを丸めます。L の正の整数要素は、さまざまな領域に対応します。たとえば、1 に等しい L の要素の集合は、領域 1 に対応します。2 に等しい L の要素の集合は、領域 2 に対応します。以下同様です。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

測定のタイプ。string または文字ベクトルのコンマ区切りリスト、string または文字ベクトルの cell 配列、あるいは 'all' または 'basic' のいずれかとして指定します。プロパティ名は、大文字と小文字を区別せず、省略形を使用することもできます。

  • 'all' を指定すると、regionprops3 はすべての形状測定値を計算し、グレースケール イメージを指定した場合は、すべてのピクセル値の測定値を計算します。

  • 'basic' を指定するか、properties 引数を省略すると、regionprops3'Volume''Centroid' および 'BoundingBox' の測定のみを計算します。

以下の表に、形状測定を提供するすべてのプロパティを示します。ボクセル値の測定値の表に一覧表示した追加プロパティは、グレースケール イメージを指定する場合のみ有効です。

形状測定

プロパティ名説明
'BoundingBox'領域を含む最小の直方体。[ulf_x ulf_y ulf_z width_x width_y width_z] の形式の 1 行 6 列のベクトルで返されます。ulf_xulf_y、および ulf_z は、直方体の左上隅を指定します。width_xwidth_y、および width_z は、各次元に沿って直方体の幅を指定します。
'Centroid'

領域の重心。[centroid_x centroid_y and centroid_z] の形式の 1 行 3 列のベクトルとして返されます。最初の要素 centroid_x は、重心の水平座標 (または x 座標) です。2 番目の要素 centroid_y は、垂直座標 (または y 座標) です。3 番目の要素 centroid_z は、平面座標 (または z 座標) です。

'ConvexHull'領域を含むことができる最小の凸多角形。p 行 3 列の行列として返されます。行列の各行には、多角形の 1 頂点の x 座標と y、および z の座標が含まれています。
'ConvexImage'凸包のイメージ。凸包内のボクセルがすべて塗りつぶされた状態 (on に設定) のボリューム バイナリ イメージ (logical) として返されます。イメージは、領域の境界ボックスのサイズです。
'ConvexVolume''ConvexImage' 内のボクセル数。スカラーとして返されます。
'EigenValues'領域を表すボクセルの固有値。3 行 1 列のベクトルとして返されます。regionprops3 はこの固有値を使用して主軸の長さを計算します。
'EigenVectors'領域を表すボクセルの固有ベクトル。3 行 3 列のベクトルとして返されます。regionprops3 は、固有ベクトルを使用して領域と同じ正規化された 2 次の中心モーメントを持つ楕円体の方向を計算します。
'EquivDiameter'領域と同じボリュームを持つ球の直径。スカラーとして返されます。(6*Volume/pi)^(1/3) と同様に計算します。
'Extent'境界ボックス全体のボクセル数に対する領域内ボクセル数の割合。スカラーとして返されます。境界ボックスのボリュームで除算された Volume の値として計算されます。[Volume/(bounding box width * bounding box height * bounding box depth)]
'Image'領域の境界ボックス。領域の境界ボックスと同じサイズのボリューム バイナリ イメージ (logical) として返されます。on ボクセルは領域に対応しており、他のすべてのボクセルは off です。
'Orientation'

オイラー角度。1 行 3 列のベクトルとして返されます。角度は右手の法則に基づきます。regionprops3 は、それぞれロール、ピッチ、およびヨーを表す xy、および z 軸に沿った原点を見て角度を解釈します。正の角度は、反時計回りの回転を表します。回転演算は可換ではないため、意図した効果を得るには正しい順序で適用する必要があります。詳細は、参照を参照してください。

'PrincipalAxisLength'領域と同じ正規化された 2 次中心モーメントを持つ楕円の長軸の長さ (ボクセル単位)。1 行 3 列のベクトルとして返されます。regionprops3 は値を降順 (高から低へ) で並べ替えます。
'Solidity'領域内にもある凸包のボクセルの比率。スカラーとして返されます。Volume/ConvexVolume と同様に計算します。
'SubarrayIdx'オブジェクト境界ボックスの内側の要素を抽出するのに使用されるインデックス。L(idx{:}) がオブジェクト境界ボックス内の L 要素を抽出するような cell 配列として返されます。
'SurfaceArea'領域の境界周囲の距離。スカラーとして返されます。詳細は、参照を参照してください。
'Volume'領域内の on ボクセルの実際の数。スカラーとして返されます。ボリュームは、ボリューム バイナリ イメージ BW 内部の領域に含まれるボクセル数のメトリクスまたは測定値を表します。
'VoxelIdxList'領域内のボクセルの線形インデックス。p 要素ベクトルとして返されます。
'VoxelList'領域内のボクセルの位置。p 行 3 列の行列として返されます。行列の各行は [x y z] の形式で、領域内の 1 ボクセルの座標を指定します。

以下の表に示すボクセル値の測定値プロパティは、グレースケールのボリューム イメージ V を指定する場合のみ有効です。

ボクセル値の測定値

プロパティ名説明
'MaxIntensity'領域内で最大の強度を持つボクセルの値。スカラーとして返されます。
'MeanIntensity'領域内のすべての強度値の平均。スカラーとして返されます。
'MinIntensity'領域内で最小の強度を持つボクセルの値。スカラーとして返されます。
'VoxelValues'領域内のボクセルの値。p 行 1 列のベクトルとして返されます。ここで、p は領域内のボクセル数です。ベクトルの各要素には、領域内のボクセルの値が含まれています。
'WeightedCentroid'位置と強度値に基づく領域の中心。座標の p 行 3 列のベクトルとして返されます。WeightedCentroid の最初の要素は、重み付き重心の水平座標 (または x 座標) です。2 番目の要素は、垂直座標 (または y 座標) です。3 番目の要素は、平面座標 (または z 座標) です。

データ型: char | string | cell

ボリューム グレースケール イメージ。3 次元の数値配列として指定します。イメージのサイズはバイナリ イメージ BW、連結要素の構造体 CC またはラベル行列 L のサイズと一致しなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32

出力引数

すべて折りたたむ

測定値。テーブルとして返されます。テーブル内の行数は、BWCC.NumObjects または max(L(:)) のオブジェクトの数に対応します。各テーブル行の変数 (列) は、properties で指定された、各領域で計算されるプロパティを示します。

参照

[1] Lehmann, Gaetan and David Legland, Efficient N-Dimensional surface estimation using Crofton formula and run-length encoding, https://hdl.handle.net/10380/3342

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

R2017b で導入