np格式到vtk转换代码实现

将np文件格式转换为vtk格式,并支持自定义坐标系统。代码实现如下:

import numpy as np
import vtk

# 读取np文件
np_data = np.load('data.npy')

# 创建vtk对象
vtk_data = vtk.vtkStructuredPoints()

# 设置自定义坐标系统
vtk_data.SetOrigin(0.0, 0.0, 0.0)
vtk_data.SetSpacing(1.0, 1.0, 1.0)
vtk_data.SetDimensions(np_data.shape)

# 将np数据写入vtk对象
flat_data = np_data.flatten()
vtk_array = vtk.vtkDoubleArray()
vtk_array.SetNumberOfValues(len(flat_data))
for i in range(len(flat_data)):
    vtk_array.SetValue(i, flat_data[i])

vtk_data.GetPointData().SetScalars(vtk_array)

# 写入vtk文件
writer = vtk.vtkStructuredPointsWriter()
writer.SetFileName('output.vtk')
writer.SetInputData(vtk_data)
writer.Write()
py 文件大小:3.75KB