请有人指导我如何将.stl文件转换成.nii文件或.mha文件。我使用下面的代码加载并呈现.stl文件。但是我仍然无法找到一个代码来将这个呈现文件保存到.nii或.mha中,我对这个VTK和ITK库非常陌生。提前谢谢你的帮助。
import vtkmodules.vtkInteractionStyle
import vtkmodules.vtkRenderingOpenGL2
from vtkmodules.vtkCommonColor import vtkNamedColors
from vtkmodules.vtkIOGeometry import vtkSTLReader
from vtkmodules.vtkRenderingCore import (
vtkActor,
vtkPolyDataMapper,
vtkRenderWindow,
vtkRenderWindowInteractor,
vtkRenderer
)
filename = 'filename.stl'
colors = vtkNamedColors()
reader = vtkSTLReader()
reader.SetFileName(filename)
mapper = vtkPolyDataMapper()
if vtk.VTK_MAJOR_VERSION <= 5:
mapper.SetInput(reader.GetOutput())
else:
mapper.SetInputConnection(reader.GetOutputPort())
actor = vtkActor()
actor.SetMapper(mapper)
actor.GetProperty().SetDiffuse(0.8)
#actor.GetProperty().SetDiffuseColor(colors.GetColor3d('LightSteelBlue'))
actor.GetProperty().SetSpecular(0.3)
actor.GetProperty().SetSpecularPower(60.0)
# Create a rendering window and renderer
ren = vtkRenderer()
renWin = vtkRenderWindow()
renWin.AddRenderer(ren)
renWin.SetWindowName('ReadSTL')
# Create a renderwindowinteractor
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# Assign actor to the renderer
ren.AddActor(actor)
#ren.SetBackground(colors.GetColor3d('DarkOliveGreen'))
# Enable user interface interactor
iren.Initialize()
renWin.Render()
iren.Start()https://stackoverflow.com/questions/71248675
复制相似问题