MATLAB Function Reference | ![]() ![]() |
表示
[nx,ny,nz,nv] = reducevolume(X,Y,Z,V,[Rx,Ry,Rz]) [nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz]) nv = reducevolume(...)
詳細
[nx,ny,nz,nv] = reducevolume(X,Y,Z,V,[Rx,Ry,Rz])
は、x軸方向にRx
毎に、y軸方向にRy
毎に、z軸方向にRz
毎に、3次元物体データから要素を取り除きます。3要素ベクトルの代わりに、スカラR
が設定されると、MATLABは、[R R R]
と解釈します。
配列X
, Y
, Z
は、3次元物体V
に関する座標を定義します。処理された結果は、nv
に出力され、結果の座標もnx
,ny
,nz
に出力されます。
[nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz])
は、配列X
, Y
, Z
が、[X,Y,Z] = meshgrid(1:n,1:m,1:p)
であると仮定しています。ここで、[m,n,p] = size(V)
です。
nv = reducevolume(...)
は、処理された結果の3次元物体のみを出力します。
例題
つぎの例題は、頭蓋骨のMRIスライスを集めたデータを使います。このデータは、種々の方法で処理されます。
squeeze
)、その後、x,y方向で4サンプル毎、z方向ではすべてのサンプルを残すように間引きます。smooth3
)。patch
, isosurface
, isonormals
)。p2
)は、end capを描画します(FaceColor
, isocaps
)。view
, axis
, daspect
)。colormap
)。camlight
, lighting
)。load mri D = squeeze(D); [x,y,z,D] = reducevolume(D,[4,4,1]); D = smooth3(D); p1 = patch(isosurface(x,y,z,D, 5,'verbose'),... '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; lighting gouraud
参考
isosurface
, isocaps
, isonormals
, smooth3
, subvolume
, reducepatch
![]() | reducepatch | refresh | ![]() |