Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

imregconfig

強度ベースのレジストレーションの構成

説明

[optimizer,metric] = imregconfig(modality) は、強度ベースのイメージ レジストレーションを実行するために imregister に渡す optimizermetric の構成を作成します。modality はイメージ キャプチャ モダリティを指定します。

すべて折りたたむ

イメージをワークスペースに読み込んで表示します。明度およびコントラストが似ているため、これらのイメージはモノモーダルになります。

fixed  = imread('pout.tif');
moving = imrotate(fixed, 5, 'bilinear', 'crop');
imshowpair(fixed, moving,'Scaling','joint')

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

モダリティを 'monomodal' に設定して、オプティマイザーとメトリクスを作成します。

[optimizer, metric]  = imregconfig('monomodal')
optimizer = 
  registration.optimizer.RegularStepGradientDescent

  Properties:
    GradientMagnitudeTolerance: 1.000000e-04
             MinimumStepLength: 1.000000e-05
             MaximumStepLength: 6.250000e-02
             MaximumIterations: 100
              RelaxationFactor: 5.000000e-01
metric = 
  registration.metric.MeanSquares

  This class has no properties.

オプティマイザーとメトリクスを imregister に渡し、レジストレーションを実行します。

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

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

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

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

2 つのイメージを読み取ります。この例では、膝の 2 個の MRI (磁気共鳴) イメージを使用します。固定イメージはスピン エコー イメージであり、移動イメージは反転回復を行ったスピン エコー イメージです。同時に 2 個の矢状スライスが取得されますが、ややずれています。

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

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

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

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

異なるセンサーから得たイメージであるため、モダリティを 'multimodal' に設定して、オプティマイザーとメトリクスを作成します。

[optimizer, metric] = imregconfig('multimodal')
optimizer = 
  registration.optimizer.OnePlusOneEvolutionary

  Properties:
         GrowthFactor: 1.050000e+00
              Epsilon: 1.500000e-06
        InitialRadius: 6.250000e-03
    MaximumIterations: 100
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.

入力引数

すべて折りたたむ

イメージ キャプチャ モダリティ。次のいずれかの値を指定します。

モダリティ説明
"monomodal"

モノモーダル イメージは類似の明度およびコントラストをもちます。イメージは、同じタイプのスキャナーまたはセンサーでキャプチャされています。

"multimodal"

マルチモーダル イメージは異なる明度およびコントラストをもちます。イメージは、2 つのカメラをもつモデルや 2 種類の医療撮像モダリティ (CT と MRI など) のように、2 種類の異なる装置で取得される場合があります。また、1 つのカメラで異なる露光設定を使用したり、1 台の MRI スキャナーで異なる撮影シーケンスを使用した場合など、1 つの装置で取得される場合もあります。

データ型: char | string

出力引数

すべて折りたたむ

最適化の構成。optimizer オブジェクト RegularStepGradientDescent または OnePlusOneEvolutionary として返されます。

メトリクスの構成は、レジストレーション中に最適化されるイメージ類似度メトリクスを記述します。metric オブジェクト MeanSquares または MattesMutualInformation として返されます。

ヒント

  • imregconfig は、基本的なレジストレーション構成を指定するための既定の設定をもつ optimizer および metric を返します。オプティマイザー プロパティやメトリクス プロパティを調整すると、レジストレーション結果を改善できます。たとえば、オプティマイザーで反復の数を増やす、オプティマイザーのステップ サイズを減らす、または確率メトリクスのサンプル数を変更すると、パフォーマンスが低下するものの、レジストレーションはある程度改善されます。

拡張機能

バージョン履歴

R2012a で導入