ドキュメンテーション

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

registration.metric.MattesMutualInformation クラス

パッケージ: registration.metric

マテス相互情報量メトリクス構成オブジェクト

説明

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

構築

metric = registration.metric.MattesMutualInformation()MattesMutualInformation オブジェクトを作成します。

プロパティ

NumberOfSpatialSamples

メトリクスの計算に使用する空間サンプル数。

NumberOfSpatialSamples は、imregister がメトリクスの計算に使用するランダム ピクセルの数を定義するための正のスカラー整数値です。この値を大きくすると、(パフォーマンスは低下しますが) レジストレーション結果の再現性がより高まります。imregister は、UseAllPixels = 0 (false) の場合のみ NumberOfSpatialSamples を使用します。NumberOfSpatialSamples の既定値は 500 です。

NumberOfHistogramBins

メトリクスの計算に使用するヒストグラムのビン数。

NumberOfHistogramBins は、imregister が結合分布ヒストグラムの計算に使用するビンの数を定義するための正のスカラー整数値です。既定値は 50 で、最小値は 5 です。

UseAllPixels

imregister がメトリクスを計算する際にイメージの重複領域にあるすべてのピクセルを使用するかどうかを指定する論理スカラー。

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

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、MATLAB® ドキュメンテーションの「オブジェクトのコピー」 (MATLAB)を参照してください。

すべて展開する

異なるプロトコルを使って取得された膝の 2 枚の MRI イメージのレジストレーションを行います。

イメージをワークスペースに読み取ります。

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

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

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

異なるセンサーのイメージのレジストレーションを行うのに適しているオプティマイザー構成オブジェクトを作成します。

optimizer = registration.optimizer.OnePlusOneEvolutionary;

MattesMutualInformation メトリクス構成オブジェクトを作成します。

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

定義

すべて展開する

ヒント

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

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

アルゴリズム

関数 imregister はイメージのレジストレーションで反復処理を使用します。imregister に渡すメトリクスは、レジストレーションの精度を評価するためのイメージ類似度メトリクスを定義します。イメージ類似度メトリクスは、2 つのイメージを取って、イメージがどのくらい類似しているかを記述するスカラー値を返します。imregister に渡すオプティマイザーは、類似度メトリクスを最小化または最大化するための方法論を定義します。

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

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

代替方法

関数 imregconfig を使用して、典型的なイメージ レジストレーション シナリオのメトリクス構成を作成します。

参考文献

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

この情報は役に立ちましたか?