绘制一个三维强度数据的立方体。

5

我有k个(n,n,n)强度值的立方体,希望能够将它们绘制出来。

我将它们视为扩散MRI中的扩散张量,希望能可视化它们(可能作为椭球体)并尝试以某种方式“对齐”。目前,我只是每个立方体绘制其n个“(n,n)”的“片”。

是否有任何用于此任务的Python模块?


现在不清楚“椭球体”额外信息的来源。对于每个元组(x,y,z),您可能会有一个标量值v与之相关联。要在该点放置一个椭球体,您需要四个更多的数据点,即两个角度值和长轴和短轴的长度。 - Hooked
我认为你的“立方体”是相应扩散张量的三个特征值。您是否想绘制一个椭球,其半轴长度对应于这三个特征值?您希望按照哪个标准来对齐这些椭球? - Dr. Jan-Philip Gehrcke
每个立方体代表一种组织体素,因此为了正确比较它们,我需要对齐它们。对于每个立方体,我认为应该计算其扩散张量并将其旋转到主轴上。 - no_name
1个回答

7
您可以使用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) - no_name
1
enthought.mayavimayavi 的区别在于你最初安装 mayavi 库的方式。前者来自 Enthought 发行版。 - Hooked

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接