2012-05-25 53 views
4

我有k个立方体的(n,n,n)强度值,我想绘制它们。绘制3D强度数据的立方体

我认为它们是扩散MRI中的扩散张量,我想将它们形象化(可能是椭圆体),然后尝试以某种方式“对齐”。目前我只是绘制每个立方体的n个“切片”(n,n)

这个任务有没有python模块?

+0

目前还不清楚其中的“椭圆”的额外信息会来自。对于每个元组'(x,y,z)',你大概都有一个与其相关的标量值'v'。要在该点放置一个椭球体,您需要四个点的数据,两个角度值以及主轴和副轴的长度。 – Hooked

+0

我认为你的“立方体”是相应扩散张量的三个特征值。你喜欢绘制一个椭圆体,其半轴长度对应于这三个特征值吗?你想用哪个标准来对齐这些椭球? –

+0

每个立方体代表一种组织体素,因此为了正确比较它们,我需要对齐它们。对于每个立方体,我认为我应该计算其扩散张量并将其旋转到主轴。 –

回答

5

您可以使用mayavi2。由于我没有你的数据的表示,我给了一个最小的工作示例超过下方的网格一些随机领域:

import numpy 
import mayavi.mlab as mlab 

# Create some random data 
N = 20 
x, y, z = numpy.mgrid[-5:5:20j, -5:5:20j, -5:5:20j] 
val = numpy.random.random(z.shape) 

# Plot and show in mayavi2 
pts = mlab.points3d(x, y, z, val, scale_factor=.5,transparent=True) 
mlab.show() 

enter image description here

+1

谢谢,它的工作原理! (与enthought.mayavi,而不是简单的mayavi) –

+1

'enthought.mayavi'和'mayavi'之间的区别就是你首先安装了'mayavi'库。前者来自Enthought分布。 – Hooked