Main Content

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

imrotate3

3 次元ボリューム グレースケール イメージの回転

説明

B = imrotate3(V,angle,W) は、3 次元ボリューム V を原点 [0 0 0] を通る軸に対して反時計回りに angle 度回転します。W は 3 次元空間での回転軸の方向を指定する 1 行 3 列のベクトルです。既定の設定では、imrotate3 は回転したボリュームの境界の外側にある B 内のボクセル値を 0 に設定します。

B = imrotate3(V,angle,W,method) は、内挿法も指定します。

B = imrotate3(V,angle,W,method,bbox) は、出力ボリューム bbox のサイズも指定します。'crop' が指定されると、imrotate3 は出力ボリュームのサイズを入力ボリュームと同じにします。'loose' が指定されると、imrotate3 は回転したボリューム全体が出力ボリュームに含まれるようにします。

B = imrotate3(___,'FillValues',fillValues) は、対応するピクセルが入力イメージにない出力ピクセルに使用する、塗りつぶしの値を設定します。

すべて折りたたむ

3 次元ボリューム グレースケール イメージをワークスペースに読み込んで表示します。

s = load('mri');
mriVolume = squeeze(s.D);
volshow(mriVolume);

Z 軸に対してボリュームを 90 度回転します。

B = imrotate3(mriVolume,90,[0 0 1],'nearest','loose','FillValues',0);

回転した出力ボリュームを表示します。また、ボリュームをボリューム ビューアー アプリで調べることもできます。

volshow(B);

入力引数

すべて折りたたむ

回転するボリューム。3 次元数値配列、3 次元 logical 配列、または 3 次元 categorical 配列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical

回転角度 (度単位)。数値スカラーとして指定します。ボリュームを時計回りに回転するには、angle に負の値を指定します。imrotate3 は、回転した 3 次元ボリューム全体が出力ボリューム B に含まれるようにします。

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

3 次元空間での回転軸の方向 (直交座標)。1 行 3 列の数値ベクトルとして指定します。

回転軸の方向を球面座標で指定する場合は、sph2cart を使用して直交座標に値を変換してから imrotate3 に渡します。

例: [0 0 1] は z 軸に対してボリュームを回転します。

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

内挿法。次のいずれかの値に指定します。

メソッド説明
'nearest'

最近傍内挿。出力ボクセルには、対象の点が含まれるボクセルの値が代入されます。周りの他のボクセルは、考慮に入れません。

最近傍内挿は、categorical イメージでサポートされている唯一のメソッドであり、このタイプのイメージに対する既定のメソッドです。

'linear'

三重線形内挿。

三重線形内挿は、数値イメージと論理イメージに対する既定のメソッドです。

'cubic'

三重三次内挿

メモ

三重三次内挿は、元の範囲外のピクセル値を生成する可能性があります。

データ型: char | string

出力ボリュームのサイズ。次のいずれかの値として指定します。

メソッド説明
'crop'

出力ボリュームと入力ボリュームのサイズが同じになるように、大きさに合わせて回転したボリュームを切り取ります。

'loose'

回転したボリューム全体が出力ボリュームに含まれます。通常、回転したボリュームは入力ボリュームより大きくなります。

データ型: char | string

入力イメージの外側にある出力ピクセルに使用する塗りつぶしの値。次のいずれかの値として指定します。imrotate3 は、入力イメージにおける対応する逆変換後の位置が完全に入力イメージの境界外である場合に、塗りつぶしの値を出力ピクセルに使用します。

イメージ タイプ

塗りつぶしの値の形式

数値イメージまたは論理イメージ
  • 数値スカラー。数値イメージと論理イメージの既定の塗りつぶしの値は 0 です。

categorical イメージ
  • イメージ内の有効なカテゴリ。string スカラーまたは文字ベクトルとして指定します。

  • missing<undefined> カテゴリに対応します。これは categorical イメージの既定の塗りつぶしの値です。詳細については、missing を参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

出力引数

すべて折りたたむ

回転したボリューム。入力ボリューム V と同じクラスの数値配列、logical 配列、または categorical 配列として返されます。

ヒント

  • imrotate3 では、入力ボリューム V が原点 [0 0 0] を中心とすると仮定しています。ボリュームの中心が原点でない場合は、imtranslate を使用してボリュームを [0 0 0] に平行移動してから imrotate3 を使用します。逆の平行移動ベクトルを使用すると、出力ボリューム B を元の位置まで平行移動できます。

R2017a で導入