使用KreVTer2和ViewPyVTer3的图像切片器

2024-06-08 16:44:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我为vtkImageViewer编写了一个工作示例:

但任何图像都不是用vtkImageViewer2或vtkrescipleimageviewer渲染的。找到了基于PyQt4+Python2.7的示例,但也无法获取渲染图像(可能是因为库的版本错误)。在

在Python中有这些类的例子吗?在

import sys
import vtk
from PyQt5 import QtCore, QtGui
from PyQt5 import QtWidgets

from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor


class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent = None):
        QtWidgets.QMainWindow.__init__(self, parent)

        self.frame = QtWidgets.QFrame()
        self.vl = QtWidgets.QVBoxLayout()
        self.vtkWidget = QVTKRenderWindowInteractor(self.frame)
        self.vl.addWidget(self.vtkWidget)

        pathDicomDir = "/path/to/dicom/data"
        reader = vtk.vtkDICOMImageReader()
        reader.SetDirectoryName(pathDicomDir)
        reader.Update()

        self.viewer = vtk.vtkImageViewer()
        # self.viewer = vtk.vtkImageViewer2()
        # self.viewer = vtk.vtkResliceImageViewer()
        self.viewer.SetInputData(reader.GetOutput())

        self.viewer.SetupInteractor(self.vtkWidget)
        self.viewer.SetRenderWindow(self.vtkWidget.GetRenderWindow())
        self.viewer.Render()
        self.frame.setLayout(self.vl)
        self.setCentralWidget(self.frame)

        self.show()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    sys.exit(app.exec_())        

Tags: from图像importself示例sysframeviewer