Main Content

maxhessiannorm

行列のヘッシアンのフロベニウス ノルムの最大値

説明

C = maxhessiannorm(I) は、グレースケール イメージ I のヘッシアンのフロベニウス ノルムの最大値を返します。

C = maxhessiannorm(I,thickness) はチューブ状構造の太さも指定します。

すべて折りたたむ

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

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

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

太さが 7 ピクセルに設定されたチューブ状の糸を含むイメージについて、ヘッシアンのフロベニウス ノルムの最大値を計算します。

C = maxhessiannorm(I,7);

太さ 7 ピクセルの糸が強調表示されたイメージを作成します。構造の感度のしきい値は、ヘッシアンのフロベニウス ノルムの最大値の半分とします。このイメージでは、淡色の背景に対して糸が暗く表示されているため、オブジェクトの極性を 'dark' として指定します。強調されたイメージを表示します。

J = fibermetric(I,7,'ObjectPolarity','dark','StructureSensitivity',0.5*C); 
imshow(J)
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(J);

関数 labeloverlay を使用して、マスクを元のイメージの上に重ねて表示します。重ね合わせたイメージでは、マスクが true の箇所が青みがかって表示されます。これは、糸が指定した太さであることを意味しています。

maskl = labeloverlay(I,BW);
imshow(maskl)
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 次元グレースケール イメージとして指定します。

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

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

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

出力引数

すべて折りたたむ

グレースケール イメージ I のヘッシアンのフロベニウス ノルムの最大値。数値スカラーとして返されます。

データ型: double

ヒント

  • maxhessiannorm は、R2018b で既定の動作が変更された fibermetric の補助関数です。従来の既定の動作を再現する場合は、StructureSensitivity0.5*maxhessiannorm(I) と指定します。

参照

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

バージョン履歴

R2018b で導入