ボリュームの等値面を表示するためにmayavi(3.3.2)を使用しています。
一般的に、私のボリュームには立方体のボクセルがありません。たとえば、サンプリンググリッドはXとYで1mm x 1mmですが、Z方向では1.4mmです。
mayavimlab.contour3dまたはを使用して、このようなボリュームを正しい空間比率で表示するにはどうすればよいmlab.pipeline.iso_surfaceですか?ボリュームをキュービックグリッドにリサンプリングしたくないのですが。
問題を説明する別の方法:平坦化された楕円体の代わりに球を表示するために以下のコードを取得するにはどうすればよいですか(volume意図された1:1:2のアスペクト比のボクセルを与えられたものとして、再生またはリサンプリングせずに音量)。
import numpy as np
from enthought.mayavi import mlab
def sqr(x): return x*x
s=64
x,y,z = np.ogrid[0:s,0:s,0:s/2]
volume = np.sqrt(sqr(x-s/2)+sqr(y-s/2)+sqr(2*z-s/2))
isos = mlab.contour3d(volume,contours=[5,15,25],transparent=True)
mlab.show()
基礎となるVTKグラフィックスパイプライン(その変換など)を取得し、適切な異方性スケーリングを挿入する方法があるはずだと思います(mlab APIを介して直接行う方法がない場合)。
