Main Content

reducevolume

ボリューム データ セット内の要素数を減らす

構文

[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] であると解釈します。

配列 XYZ は、3 次元物体 V に関する座標を定義します。処理された結果は、nv に返され、結果の座標も nxnynz に返されます。

[nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz]) は、配列 XY および Z[m,n,p] = size(V) である [X,Y,Z] = meshgrid(1:n,1:m,1:p) として定義されていることを前提としています。

nv = reducevolume(...) は、削除された 3 次元物体のみを返します。

すべて折りたたむ

以下の例は、頭蓋骨の MRI スライスを集めたデータセットを使います。このデータはさまざまな方法で処理されます。

  • 4 次元データを 3 次元データにし (関数 squeeze)、その後、x、y 方向で 4 サンプルごと、z 方向ではすべてのサンプルを残すように間引きます (関数 reducevolume)。

  • 間引きされたデータにスムージングを適用します (関数 smooth3)。

  • 頭蓋骨の外観はパッチ (p1) の頂点の法線が、ライトが適用されたときの見え方を改良するために再計算されるように作成された等値面です (関数 patch、関数 isosurface、関数 isonormals)。

  • 内挿された面の色をもつ 2 番目のパッチ (p2) は、end caps を表示します (FaceColor、等値断面)。

  • オブジェクトの視野が設定されます (関数 view、関数 axis、関数 daspect)。

  • 100 要素のグレースケール カラーマップは、end caps のカラーリングを与えます (関数 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),...
    '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

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

拡張機能

バージョン履歴

R2006a より前に導入