Main Content

affine3d

3 次元アフィン幾何学的変換

説明

affine3dオブジェクトは、3 次元アフィン幾何学的変換に関する情報を格納し、フォワード変換と逆変換を可能にします。

作成

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

  • imregtform— 類似性の最適化を使用して移動イメージを固定イメージにマッピングする幾何学的変換を推定します

  • randomAffine3d— ランダムな 3 次元アフィン変換を作成します

  • ここで説明する関数affine3d

説明

tform = affine3dは、恒等変換に該当する既定のプロパティ設定を使用してaffine3dオブジェクトを作成します。

tform = affine3d(A)は、正則行列Aによって定義される有効なアフィン変換でプロパティTを設定します。

プロパティ

すべて展開する

3 次元フォワード アフィン変換。正則な 4 行 4 列の数値行列として指定します。

行列Tは次の規則を使用します。

[x y z 1] = [u v w 1] * T

ここで、Tの形式は次のとおりです。

[a b c 0; d e f 0; g h i 0; j k l 1];

Tの既定の設定は、恒等変換です。

データ型:double|single

入力点と出力点の両方の幾何学的変換の次元を表します。値 3 として指定します。

オブジェクト関数

invert 幾何学的変換の反転
isRigid 変換が剛体変換かどうかの判別
isSimilarity 変換が相似変換かどうかの判別
isTranslation 変換が純粋な平行移動かどうかの判別
outputLimits 入力空間範囲に基づく出力空間範囲の特定
transformPointsForward フォワード幾何学的変換の適用
transformPointsInverse 幾何学的逆変換の適用

すべて折りたたむ

次元ごとに異なる倍率で 3 次元イメージをスケーリングするaffine3dオブジェクトを作成します。

Sx = 1.2; Sy = 1.6; Sz = 2.4; tform = affine3d([Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1])
tform = affine3d with properties: T: [4x4 double] Dimensionality: 3

3 次元ボリュームをワークスペースに読み込みます。

load('mri'); D = squeeze(D);

imwarpを使用してイメージに幾何学的変換を適用します。

B = imwarp(D,tform);

各ボリュームの中心を通る軸スライスを可視化して、スケール変換の効果を確認します。変換されたボリュームの中心スライスは、z次元でのスケーリングのために、元のボリュームの中心スライスとは異なるインデックスを持つことに注意してください。

figure imshowpair(D(:,:,14),B(:,:,33),'montage');

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

元のイメージは左側に、変換されたイメージは右側に表示されます。SySxよりも大きいので、変換されたイメージは、予想どおり水平方向よりも垂直方向に大きくスケーリングされます。

拡張機能

バージョン履歴

R2013a で導入