MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ワールド座標から行と列の添字への変換
[I, J] = worldToSubscript(R,xWorld,yWorld)
[I, J, K] = worldToSubscript(R,xWorld,yWorld,zWorld)
[I, J] = worldToSubscript(R,xWorld,yWorld) は、2 次元空間参照オブジェクト R で定義された関係に基づいて、点をワールド座標系 (xWorld,yWorld) から添字配列 I と J にマッピングします。
I
J
R
xWorld
yWorld
k 番目の入力座標系 (xWorld(k),yWorld(k)) がワールド座標系のイメージの境界の外側にある場合、worldToSubscript は対応する添字 I(k) および J(k) を NaN に設定します。
worldToSubscript
NaN
例
[I, J, K] = worldToSubscript(R,xWorld,yWorld,zWorld) は、3 次元空間参照オブジェクト R を使用して、3 次元ワールド座標系から添字配列 I、J、および K にマッピングします。
K
zWorld
すべて折りたたむ
膝の 2 次元グレースケール イメージをワークスペースに読み取ります。
m = dicominfo('knee1.dcm'); A = dicomread(m);
ピクセルのサイズと解像度を指定して、imref2d オブジェクトを作成します。DICOM ファイルには、各次元のイメージ解像度を 1 ピクセルあたりのミリメートル単位で指定するメタデータ フィールド PixelSpacing が含まれます。
imref2d
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 に対応します。
xW
cS
yW
rS
3 次元ボリュームをワークスペースに読み取ります。このイメージは、27 フレームの 128 × 128 ピクセル イメージから構成されます。
load mri; D = squeeze(D); D = ind2gray(D,map);
ボリュームに関連付けられた imref3d 空間参照オブジェクトを作成します。説明をわかりやすくするために、各次元でピクセル解像度を指定します。解像度は 1 ピクセルあたりのミリメートル単位で指定します。
imref3d
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 のインデックス値を持つことに注意してください。
空間参照オブジェクト。imref2d または imref3d オブジェクトとして指定します。
ワールド座標系の x 次元に沿った座標であり、数値スカラーまたは数値ベクトルとして指定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
ワールド座標系の y 次元に沿った座標であり、数値スカラーまたは数値ベクトルとして指定します。yWorld は、xWorld と同じ長さです。
ワールド座標系の z 次元に沿った座標であり、数値スカラーまたは数値ベクトルとして指定します。zWorld は、xWorld と同じ長さです。
行インデックス。正の整数のスカラーまたはベクトルとして返されます。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 です。
平面インデックス。正の整数のスカラーまたはベクトルとして返されます。K は zWorld の長さと同じです。m x n x p のイメージの場合、1 ≤ K ≤ p です。
R2013a で導入
imref2d | imref3d | worldToIntrinsic
worldToIntrinsic
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 のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ