Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将VTKresicleImageViewer或vtkImageViewer2与Python3+;PyQt5_Python_Pyqt5_Vtk_Qvtkwidget - Fatal编程技术网

将VTKresicleImageViewer或vtkImageViewer2与Python3+;PyQt5

将VTKresicleImageViewer或vtkImageViewer2与Python3+;PyQt5,python,pyqt5,vtk,qvtkwidget,Python,Pyqt5,Vtk,Qvtkwidget,我已经为vtkImageViewer编写了工作示例: 但是,任何图像都不会使用vtkImageViewer2或VTKIMAGEVIEWER进行渲染。已找到基于的示例,但也无法获得渲染图像(可能是因为库的版本错误) Python中是否有这些类的示例 import sys import vtk from PyQt5 import QtCore, QtGui from PyQt5 import QtWidgets from vtk.qt.QVTKRenderWindowInteractor impo

我已经为vtkImageViewer编写了工作示例:

但是,任何图像都不会使用vtkImageViewer2或VTKIMAGEVIEWER进行渲染。已找到基于的示例,但也无法获得渲染图像(可能是因为库的版本错误)

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_())        
只用

self.viewer = vtk.vtkImageViewer2()

self.vtkWidget.Initialize()
self.show()之后