MATLAB Function Reference | ![]() ![]() |
表示
[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
を使って、3次元データセットのサブセットを抽出します。範囲は、つぎの型で設定します。limits = [xmin, xmax, ymin, ymax, zmin, zmax]
(ここで、limit
の中に NaN
を設定すると、その軸に沿って切り取っていないことを意味しています)。
配列 X
, Y
, Z
は、物体 V
に対する座標です。サブ物体は、NV
に出力され、サブ物体の座標は、NX
, NY
, NZ
に出力されます。
[Nx,Ny,Nz,Nv] = subvolume(V,limits)
は、[X,Y,Z] = meshgrid(1:N,1:M,1:P)
で設定される配列 X
, Y
, Z
を仮定しています。ここで、[M,N,P] = size(V)
です。
Nv = subvolume(...)
は、サブ物体のみを出力します。
例題
この例題は、頭骸骨のMRIスライスを集めたものです。データは、種々の方法で処理されています。
squeeze
)。そして、データのサブセットが抽出されます(subvolume
)。p1
)の頂点の法線が、ライトが適用されたときの見えかたを改良するために再計算されるように作成された等平面です(patch
, isosurface
, isonormals
)。p2
) は、end capsを表示します (FaceColor
, isocaps
)。view
, axis
, daspect
)。colormap
)。camlight
, lighting
)。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,.4]) colormap(gray(100)) camlight right; camlight left; lighting gouraud
参考
isocaps
, isonormals
, isosurface
, reducepatch
, reducevolume
, smooth3
![]() | subsref | sum | ![]() |