Main Content

subvolume

ボリューム データ セットのサブセットの抽出

構文

[Nx,Ny,Nz,Nv] = subvolume(X,Y,Z,V,limits)
[Nx,Ny,Nz,Nv] = subvolume(V,limits)
Nv = subvolume(...)

説明

[Nx,Ny,Nz,Nv] = subvolume(X,Y,Z,V,limits) は、軸の順に指定した範囲 limits を使用して、ボリューム データセット V のサブセットを抽出します。limits = [xmin,xmax,ymin, ymax,zmin,zmax] です (範囲に NaN を指定した場合、ボリュームをその軸に沿って切り取ってはいけないことを示す)。

配列 XYZ は、3 次元物体 V に関する座標を定義します。サブ物体は、NV に返され、サブ物体の座標は、NXNY、および NZ に返されます。

[Nx,Ny,Nz,Nv] = subvolume(V,limits) は、配列 XYZ が以下のように定義されていることを前提としています。

[X,Y,Z] = meshgrid(1:N,1:M,1:P) 

ここで、[M,N,P] = size(V) です。

Nv = subvolume(...) は、サブ物体のみを返します。

すべて折りたたむ

mri データセットを読み込みます。これは人の頭蓋骨の MRI スライスを集めたものです。ここで、次のようにします。

  • 4 次元配列を 3 次元に圧縮し、subvolume を使用してサブセットを抽出します。

  • パッチを使用して、頭蓋骨のアウトラインの等値面を表示します。

  • 面の色が内挿された 2 番目のパッチを追加します。

  • オブジェクトの視点を設定します。

  • カラーマップをグレースケール カラーマップに変更します。

  • カメラの右と左にライトを追加して、オブジェクトに光を当てます。

load mri
D = squeeze(D);
[x,y,z,D] = subvolume(D,[60,80,nan,80,nan,nan]);
p1 = patch(isosurface(x,y,z,D, 5),...
     'FaceColor','red','EdgeColor','none');
isonormals(x,y,z,D,p1);
p2 = patch(isocaps(x,y,z,D, 5),...
     'FaceColor','interp','EdgeColor','none');
view(3); 
axis tight; 
daspect([1 1 0.4])
colormap(gray(100))
camlight right; 
camlight left; 
lighting gouraud

Figure contains an axes object. The axes object contains 2 objects of type patch.

拡張機能

バージョン履歴

R2006a より前に導入