vtkNIFTIImageWriter 没有输出文件,没有报错

如题,在调试过程中输出 vtkImageData, 发现怎么也没有输出,一直在查是不是因为图像算法不对。查到最后发现是图像路径有问题,被自己蠢哭了。记录一下。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个基础代码,仅供参考: ``` python import vtk from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * import sys class VTKWidget(QWidget): def __init__(self, parent=None): super(VTKWidget, self).__init__(parent) # 创建VTK渲染器 self.renderer = vtk.vtkRenderer() self.renderer.SetBackground(0.2, 0.2, 0.2) # 创建VTK交互器 self.interactor = vtk.vtkRenderWindowInteractor() self.interactor.SetRenderWindow(self.render_window) # 创建VTK渲染窗口 self.render_window = vtk.vtkRenderWindow() self.render_window.AddRenderer(self.renderer) # 创建VTK渲染窗口控件 self.vtk_widget = QVTKRenderWindowInteractor(self) self.layout = QVBoxLayout(self) self.layout.addWidget(self.vtk_widget) # 设置VTK交互器 self.vtk_widget.SetRenderWindow(self.render_window) self.interactor.Initialize() def load_dataset(self, filename): # 创建VTK读取器 reader = vtk.vtkDICOMImageReader() reader.SetFileName(filename) # 创建VTK体绘制器 volume_mapper = vtk.vtkGPUVolumeRayCastMapper() volume_mapper.SetInputConnection(reader.GetOutputPort()) # 创建VTK体视图器 volume_property = vtk.vtkVolumeProperty() volume_property.SetColor(vtk.vtkColorTransferFunction()) volume_property.SetScalarOpacity(vtk.vtkPiecewiseFunction()) volume_property.ShadeOn() volume_property.SetInterpolationTypeToLinear() volume = vtk.vtkVolume() volume.SetMapper(volume_mapper) volume.SetProperty(volume_property) # 将VTK体视图器添加到VTK渲染器 self.renderer.AddVolume(volume) self.renderer.ResetCamera() self.render_window.Render() self.interactor.Start() def save_as_nii_gz(self, filename): # 创建VTK图像数据对象 image_data = vtk.vtkImageData() # 将VTK图像数据对象保存为.nii.gz文件 writer = vtk.vtkNIFTIImageWriter() writer.SetFileName(filename) writer.SetInputData(image_data) writer.Write() if __name__ == '__main__': app = QApplication(sys.argv) widget = VTKWidget() widget.load_dataset('example.dcm') widget.save_as_nii_gz('example.nii.gz') sys.exit(app.exec_()) ``` 需要注意的是,这段代码中的VTK渲染器、VTK交互器、VTK渲染窗口、VTK渲染窗口控件等对象的创建顺序和相互关系非常重要。此外,这段代码中的VTK体绘制器、VTK体视图器、VTK体绘制属性等对象的创建也需要根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值