Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

fibermetric

Frangi 血管強調フィルターを使用したイメージ内の細長い構造またはチューブ状構造の強調

説明

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

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

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

すべて折りたたむ

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

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

Figure contains an axes object. The axes object contains an object of type image.

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

B = fibermetric(I,7,'ObjectPolarity','dark');
imshow(B)
title('Enhanced Tubular Structures 7 Pixels Thick')

Figure contains an axes object. The axes object with title Enhanced Tubular Structures 7 Pixels Thick contains an object of type image.

強調されたイメージのしきい値処理を実行し、指定した太さの糸を含むバイナリ マスク イメージを作成します。

BW = imbinarize(B);

関数 labeloverlay を使用して、マスクを元のイメージの上に重ねて表示します。マスクが true の部分で、オーバーレイの色調は青です (ただし、糸は指定された太さを持ちます)。

imshow(labeloverlay(I,BW))
title('Detected Tubular Structures 7 Pixels Thick')

Figure contains an axes object. The axes object with title Detected Tubular Structures 7 Pixels Thick contains an object of type image.

入力引数

すべて折りたたむ

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

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

チューブ状構造のピクセル単位の太さ。正の整数または正の整数のベクトルとして指定します。

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

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 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 はセグメンテーションを実行しません。この関数は、構造を強調表示するためにイメージを強調するもので、一般にはセグメンテーションの前処理手順として使用されます。

参照

[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 で導入

すべて展開する