首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将.stl文件转换为3D .mha或.nii

如何将.stl文件转换为3D .mha或.nii
EN

Stack Overflow用户
提问于 2022-02-24 07:49:20
回答 2查看 431关注 0票数 0

请有人指导我如何将.stl文件转换成.nii文件或.mha文件。我使用下面的代码加载并呈现.stl文件。但是我仍然无法找到一个代码来将这个呈现文件保存到.nii或.mha中,我对这个VTK和ITK库非常陌生。提前谢谢你的帮助。

代码语言:javascript
复制
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()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-24 14:19:20

有一个VTK C++示例可以做你想做的事。还有一个做得更多的Python示例。你可以把它们结合起来得到你想要的。

票数 0
EN

Stack Overflow用户

发布于 2022-02-24 14:22:29

有一个ITK C++实例Python代码段展示了如何使用ITK实现这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71248675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档