ドキュメンテーション

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

imregtform

2 つの 2 次元イメージまたは 3 次元イメージを位置合わせする幾何学的変換の推定

構文

tform = imregtform(moving,fixed,transformType,optimizer,metric)
tform = imregtform(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric)
tform = imregtform(___,Name,Value)

説明

tform = imregtform(moving,fixed,transformType,optimizer,metric) は移動イメージ moving を固定イメージ fixed に位置合わせする幾何学的変換を推定します。transformType は推定する変換のタイプを定義する文字ベクトルです。optimizer はメトリクスを最適化するための方法を記述するオブジェクトです。metric は最適化するイメージ間の類似度の定量的な尺度を定義するオブジェクトです。出力 tform は、movingfixed にマッピングする幾何学的変換オブジェクトです。

tform = imregtform(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric) は幾何学的変換を推定します。ここで、Rmoving および Rfixedmoving イメージおよび fixed イメージに関連付けられている空間参照オブジェクトを指定します。出力 tform は、空間参照オブジェクト Rmoving および Rfixed で定義されている単位で表された幾何学的変換オブジェクトです。

tform = imregtform(___,Name,Value) は、処理の特性を制御する名前と値のペアを使用して、幾何学的変換を推定します。

すべて折りたたむ

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

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

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

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

異なるセンサーから得たイメージであるため、モダリティを '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;

レジストレーションを行うイメージ (moving) を参照イメージ (fixed) にマッピングする幾何学的変換を見つけます。

tform = imregtform(moving, fixed, 'affine', optimizer, metric)
tform = 
  affine2d with properties:

                 T: [3×3 double]
    Dimensionality: 2

関数 imwarp を使用してレジストレーションするイメージ (moving) に変換を適用します。この例では 'OutputView' パラメーターを使用し、変換されたイメージの形成に際して参照イメージのワールド座標範囲と解像度を維持しています。

movingRegistered = imwarp(moving,tform,'OutputView',imref2d(size(fixed)));

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

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

入力引数

すべて折りたたむ

レジストレーションされるイメージであり、2 次元または 3 次元のグレースケール イメージとして指定されます。

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

レジストレーションされるイメージに関連付けられている空間参照情報。imref2d タイプまたは imref3d タイプの空間参照オブジェクトとして指定します。

ターゲット方向の参照イメージであり、2 次元または 3 次元のグレースケール イメージとして指定されます。

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

参照 (固定) イメージに関連付けられている空間参照情報であり、imref2d タイプまたは imref3d タイプの空間参照オブジェクトとして指定されます。

レジストレーションされるイメージに適用される幾何学的変換。次のいずれかの値に指定します。

説明
'translation'(x,y) の平行移動。
'rigid'平行移動と回転を含む剛体変換。
'similarity'平行移動、回転およびスケーリングを含む無反射相似変換。
'affine'平行移動、回転、スケーリングおよびせん断を含むアフィン変換。

'similarity' および 'affine' の変換タイプには、常に無反射変換が伴います。

類似度メトリクスを最適化するメソッド。optimizer オブジェクト RegularStepGradientDescent または OnePlusOneEvolutionary として指定します。optimizer オブジェクトの作成とプロパティの詳細については、registration.optimizer.OnePlusOneEvolutionary および registration.optimizer.RegularStepGradientDescent を参照してください。

レジストレーション時に最適化されるイメージの類似度メトリクス。metric オブジェクト MeanSquares または MattesMutualInformation として指定します。metric オブジェクトの作成とプロパティの詳細については、registration.metric.MattesMutualInformation および registration.metric.MeanSquares を参照してください。

名前/値のペアの引数

オプションの Name,Value 引数のペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

例: 'DisplayOptimization',1 は詳細な最適化モードを有効にします。

すべて折りたたむ

詳細な最適化フラグ。'DisplayOptimization' と論理値 true または false で構成されるコンマ区切りのペアとして指定します。レジストレーション プロセスにおいて imregister が最適化情報をコマンド ウィンドウに表示するかどうかを制御します。

データ型: logical

最初の幾何学的変換。'InitialTransformation' と幾何学的変換オブジェクト affine2d または affine3d で構成されるコンマ区切りのペアとして指定します。

レジストレーション プロセスで使用されるピラミッド レベルの数。'PyramidLevels' と正の整数で構成されるコンマ区切りのペアとして指定します。

例: 'PyramidLevels',4 は、ピラミッド レベル数を 4 に設定します。

出力引数

すべて折りたたむ

幾何学的変換。幾何学的変換オブジェクト affine2d または affine3d として返されます。入力行列が 3 次元である場合、imregtformaffine3d オブジェクトを返します。

ヒント

  • 空間参照情報がある場合は、空間参照オブジェクトを使用してこの情報を必ず imregtform に渡します。この情報によってスケールの差が考慮されるため、imregtform でより適切な結果にすばやく収束するようになります。

  • imregtformimregister はいずれも同じ基礎となるレジストレーション アルゴリズムを使用しています。imregister は、moving をリサンプリングする追加ステップを実行し、imregtform で計算された幾何学的変換の推定からレジストレーションされた出力イメージを生成します。movingfixed に関連付ける幾何学的変換にアクセスするには、imregtform を使用します。レジストレーションされた出力イメージが必要なときは、imregister を使用します。

  • 通常、最適化ベースのイメージのレジストレーションで適切な結果を得るには、レジストレーションされるイメージのペアについて、オプティマイザーやメトリクスの設定を変更する必要があります。関数 imregconfig によって提供される既定の構成は、単なる開始点にすぎません。変更できる各種のパラメーターについての詳細は、imregconfig の出力を参照してください。

R2013a で導入

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