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

fibermetric

イメージ内の細長い構造またはチューブ状構造の強調

説明

J = fibermetric(I) は、2 次元または 3 次元グレースケール イメージ I 内の細長い構造またはチューブ状構造を、ヘッシアンに基づくマルチスケール フィルター処理を使用して強調します。返されたイメージ J には、イメージ内のチューブ状構造のサイズにほぼ一致する太さでフィルターの最大応答が示されています。

J = fibermetric(I,thickness) は、チューブ状構造の太さを指定して強調します。

J = fibermetric(___,Name,Value) は、フィルター処理アルゴリズムのさまざまな特性を制御する名前と値のペアの引数を使用します。

すべて折りたたむ

さまざまな太さのチューブ状の糸を含むイメージを読み取って表示します。

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

太さ 7 ピクセルの糸を強調表示するイメージ強調バージョンを作成します。糸は淡色の背景に対して暗く表示されるため、オブジェクトの極性を 'dark' に指定します。強調されたイメージを表示します。

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')

入力引数

すべて折りたたむ

細長い構造またはチューブ状構造をもつイメージ。2 次元グレースケール イメージまたは 3 次元グレースケール ボリュームとして指定します。

データ型: 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(getrangefromclass(I)) で計算されます。たとえば、既定のしきい値は、データ型 uint8 のイメージに対して 2.55 です。データ型が double のイメージで、ピクセル値が [0, 1] の範囲であるイメージに対して既定値は 0.01 です。

データ型: 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, Alejandro F., et al. Multiscale vessel enhancement filtering. Medical Image Computing and Computer-Assisted Intervention — MICCAI'98. Springer Berlin Heidelberg, 1998. pp. 130–137.

R2017a で導入