因此,我不想将我们拥有的每一个数据以另一种格式存储以使其可以通过ParaView显示,我想使用ParaView提供的python接口直接从当前的文件格式加载数据并显示出来。在
为了测试这一点,我想创建一个简单的ProgrammableSource
过滤器,它输出vtkImageData并用一些数据填充它。在
我遇到了三个问题:
这是我到目前为止的情况。没有来自ParaView的投诉,但也没有任何结果。在
import numpy as np
import vtk
import vtk.util.numpy_support as ns
img = self.GetImageDataOutput()
img.SetDimensions(3,4,5)
img.AllocateScalars(vtk.VTK_DOUBLE, 1)
dims = img.GetDimensions()
img.SetOrigin(0,0,0)
img.SetSpacing(0.55, 0.55, 0.55)
for z in range(dims[2]):
for y in range(dims[1]):
for x in range(dims[0]):
img.SetScalarComponentFromDouble(x,y,z,0, 1.0*x*y*z)
注意:如果直接使用ParaView的pythonshell而不是ProgrammableSource更容易,这也没问题。在
为了用可编程源定义
vtkImageData
输出,还必须在管道执行的RequestInformation
阶段设置一些信息。在Script (RequestInformation)
属性中插入以下内容:此信息改编自http://www.paraview.org/Wiki/Python_Programmable_Filter上的可用信息。在
相关问题 更多 >
编程相关推荐