Main Content

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

MattesMutualInformation

マテス相互情報量メトリクスの構成

説明

MattesMutualInformation オブジェクトは、イメージ レジストレーションの問題を解決するために関数 imregister に渡す相互情報量メトリクスの構成を記述します。

作成

MattesMutualInformation オブジェクトは以下の方法を使用して作成できます。

  • imregconfig — マルチモーダル イメージのレジストレーションに適したオプティマイザーとペアになった MattesMutualInformation オブジェクトを返します

  • 以下のコマンド

    metric = registration.metric.MattesMutualInformation;
    をコマンド ラインに入力すると、MattesMutualInformation オブジェクトが既定の設定で作成されます

プロパティ

すべて展開する

相互情報量メトリクスの計算に使用する空間サンプル数。正の整数として指定します。NumberOfSpatialSamples は、imregister がメトリクスの計算に使用するランダム ピクセルの数を定義します。この値を大きくすると、(パフォーマンスは低下しますが) レジストレーション結果の再現性がより高まります。imregister は、UseAllPixels0 (false) の場合にのみ NumberOfSpatialSamples を使用します。

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

相互情報量メトリクスの計算に使用するヒストグラムのビン数。正の整数スカラーとして指定します。NumberOfHistogramBins は、imregister が結合分布ヒストグラムの計算に使用するビンの数を定義します。最小値は 5 です。

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

相互情報量メトリクス計算時にイメージのオーバーラップ領域内のすべてのピクセルを含めるかどうか。logical スカラーとして指定します。

このプロパティを 0 (false) に設定すると、パフォーマンスを大幅に向上させることができます。UseAllPixels0 の場合、imregister がメトリクスの計算に使用するランダム ピクセル位置の数は NumberOfSpatialSamples プロパティで制御します。UseAllPixels = 0 の場合、レジストレーションの結果を再現できないことがあります。これは、imregister がイメージからピクセルのランダムなサブセットを選択してメトリクスを計算するためです。

すべて折りたたむ

MattesMutualInformation オブジェクトを作成し、これを使用して、異なるプロトコルを使って取得された膝の 2 個の MRI イメージのレジストレーションを行います。

イメージをワークスペースに読み取ります。明度およびコントラストが異なるため、イメージはマルチモーダルになります。

fixed  = dicomread('knee1.dcm');
moving = dicomread('knee2.dcm');

位置のずれたイメージを表示します。

figure
imshowpair(fixed, moving,'Scaling','joint');

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

マルチモーダル イメージのレジストレーションに適しているオプティマイザー構成オブジェクトを作成します。

optimizer = registration.optimizer.OnePlusOneEvolutionary;

マルチモーダル イメージのレジストレーションに適しているメトリクス構成オブジェクトを作成します。

metric = registration.metric.MattesMutualInformation
metric = 
  registration.metric.MattesMutualInformation

  Properties:
    NumberOfSpatialSamples: 500
     NumberOfHistogramBins: 50
              UseAllPixels: 1

問題が大域的最大値に収束するように、オプティマイザーのプロパティを調整します。オプティマイザーが問題を解くために使用する反復の数を増やします。

optimizer.InitialRadius = 0.009;
optimizer.Epsilon = 1.5e-4;
optimizer.GrowthFactor = 1.01;
optimizer.MaximumIterations = 300;

レジストレーションを実行します。

movingRegistered = imregister(moving,fixed,'affine',optimizer,metric);

レジストレーションが行われたイメージを表示します。

figure
imshowpair(fixed, movingRegistered,'Scaling','joint');

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

ヒント

  • 相互情報量の値が大きいほど、レジストレーションの結果が良くなります。次の例のように imregister を呼び出すときに DisplayOptimization を有効にすると、マテス相互情報量の計算値を調べることができます。

    movingRegistered = imregister(moving,fixed,"rigid",optimizer,metric, ...
        DisplayOptimization=true);

アルゴリズム

相互情報量メトリクスは、2 つの変数の関連性を測定するための情報理論の手法です。これらのアルゴリズムは 2 つのイメージから抽出したピクセルのサンプリングの結合確率分布を使用して、あるピクセル セットの値が別のイメージ内にある類似値にマッピングされる確実性を測定します。この情報は、イメージの類似度を示す定量的な尺度です。相互情報量が多い場合、2 つの分布間の不確実性 (エントロピー) が大幅に下がり、イメージが一致する可能性が高いことを示します。

マテス相互情報量アルゴリズムは反復ごとに新しいセットのピクセル位置に描画するのではなく、最適化の処理全体を通じて 1 セットのピクセル位置を使用します。確率密度推定の計算に使用されるサンプル数と、エントロピーの計算に使用されるビン数は、どちらもユーザーが選択することができます。周辺および結合確率密度関数は、等間隔のビンでサンプルを使用して評価されます。エントロピー値はこれらのビンを合計することで求められます。固定イメージと移動イメージの確率密度関数を計算するには、0 次および 3 次の B スプライン カーネルがそれぞれ使用されます[1]

参照

[1] Rahunathan, Smriti, D. Stredney, P. Schmalbrock, and B.D. Clymer. Image Registration Using Rigid Registration and Maximization of Mutual Information. Poster presented at: MMVR13. The 13th Annual Medicine Meets Virtual Reality Conference; 2005 January 26–29; Long Beach, CA.

[2] D. Mattes, D.R. Haynor, H. Vesselle, T. Lewellen, and W. Eubank. "Non-rigid multimodality image registration." (Proceedings paper).Medical Imaging 2001: Image Processing. SPIE Publications, 3 July 2001. pp. 1609–1620.

拡張機能

バージョン履歴

R2012a で導入

すべて展開する