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

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

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

すべて展開する