worldToSubscript
ワールド座標から行と列の添字への変換
説明
例
膝の 2 次元グレースケール イメージをワークスペースに読み取ります。
m = dicominfo('knee1.dcm');
A = dicomread(m);ピクセルのサイズと解像度を指定して、imref2d オブジェクトを作成します。DICOM ファイルには、各次元のイメージ解像度を 1 ピクセルあたりのミリメートル単位で指定するメタデータ フィールド PixelSpacing が含まれます。
RA = imref2d(size(A),m.PixelSpacing(2),m.PixelSpacing(1))
RA =
imref2d with properties:
XWorldLimits: [0.1562 160.1562]
YWorldLimits: [0.1562 160.1562]
ImageSize: [512 512]
PixelExtentInWorldX: 0.3125
PixelExtentInWorldY: 0.3125
ImageExtentInWorldX: 160
ImageExtentInWorldY: 160
XIntrinsicLimits: [0.5000 512.5000]
YIntrinsicLimits: [0.5000 512.5000]
空間参照オブジェクトを含むイメージを表示します。座標軸座標は、ワールド座標を反映します。座標 (0,0) が左上隅にあることに注目してください。
figure
imshow(A,RA,'DisplayRange',[0 512])
サンプル点を選択し、そのワールド座標 x および y をベクトルに格納します。たとえば、最初の点はワールド座標 (38.44,68.75) で、2 番目の点はそれよりも 1 mm 右にあり、3 番目の点は 7 mm 下にあります。最後の点はイメージ境界外にあります。
xW = [38.44 39.44 38.44 -0.2]; yW = [68.75 68.75 75.75 1];
worldToSubscript を使用してワールド座標から行と列の添字に変換します。
[rS, cS] = worldToSubscript(RA,xW,yW)
rS = 1×4
220 220 242 NaN
cS = 1×4
123 126 123 NaN
結果のベクトルには、点に最も近い行インデックスと列インデックスが含まれます。インデックスは離散的であり、イメージ境界外の点の行インデックスと列インデックスの両方に NaN があります。
また、入力座標と出力座標の順序が逆になります。ワールド座標の x のベクトル xW は、2 番目の出力ベクトル cS に対応します。ワールド y 座標ベクトル yW は、最初の出力ベクトル rS に対応します。
3 次元ボリュームをワークスペースに読み取ります。このイメージは、27 フレームの 128 × 128 ピクセル イメージから構成されます。
load mri;
D = squeeze(D);
D = ind2gray(D,map);ボリュームに関連付けられた imref3d 空間参照オブジェクトを作成します。説明をわかりやすくするために、各次元でピクセル解像度を指定します。解像度は 1 ピクセルあたりのミリメートル単位で指定します。
R = imref3d(size(D),2,2,4)
R =
imref3d with properties:
XWorldLimits: [1 257]
YWorldLimits: [1 257]
ZWorldLimits: [2 110]
ImageSize: [128 128 27]
PixelExtentInWorldX: 2
PixelExtentInWorldY: 2
PixelExtentInWorldZ: 4
ImageExtentInWorldX: 256
ImageExtentInWorldY: 256
ImageExtentInWorldZ: 108
XIntrinsicLimits: [0.5000 128.5000]
YIntrinsicLimits: [0.5000 128.5000]
ZIntrinsicLimits: [0.5000 27.5000]
サンプル点を選択し、そのワールド座標 x、y、および z をベクトルに格納します。たとえば、最初の点はワールド座標 (108,92,52) で、2 番目の点はそれよりも 3 mm 上 (+z 方向) にあり、3 番目の点は 5.2 mm 右 (+x 方向) にあります。最後の点はイメージ境界外にあります。
xW = [108 108 113.2 2]; yW = [92 92 92 -1]; zW = [52 55 52 0.33];
worldToSubscript を使用してワールド座標から行、列、および平面の添字に変換します。
[rS, cS, pS] = worldToSubscript(R,xW,yW,zW)
rS = 1×4
46 46 46 NaN
cS = 1×4
54 54 57 NaN
pS = 1×4
13 14 13 NaN
結果として得られるベクトルには、点に最も近い列インデックス、行インデックス、および平面インデックスが含まれます。インデックスは離散的であり、イメージ境界外の点は、NaN のインデックス値を持つことに注意してください。
また、入力座標と出力座標の順序が逆になります。ワールド座標の x のベクトル xW は、2 番目の出力ベクトル cS に対応します。ワールド y 座標ベクトル yW は、最初の出力ベクトル rS に対応します。
入力引数
ワールド座標系の x 次元に沿った座標であり、数値スカラーまたは数値ベクトルとして指定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
ワールド座標系の y 次元に沿った座標であり、数値スカラーまたは数値ベクトルとして指定します。yWorld は、xWorld と同じ長さです。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
ワールド座標系の z 次元に沿った座標であり、数値スカラーまたは数値ベクトルとして指定します。zWorld は、xWorld と同じ長さです。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
出力引数
行インデックス。正の整数のスカラーまたはベクトルとして返されます。I は yWorld の長さと同じです。m 行 n 列または m x n x p のイメージの場合、1 ≤ I ≤ m です。
データ型: double
列インデックス。正の整数のスカラーまたはベクトルとして返されます。J は xWorld の長さと同じです。m 行 n 列または m x n x p のイメージの場合、1 ≤ J ≤ n です。
データ型: double
平面インデックス。正の整数のスカラーまたはベクトルとして返されます。K は zWorld の長さと同じです。m x n x p のイメージの場合、1 ≤ K ≤ p です。
データ型: double
バージョン履歴
R2013a で導入
参考
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)