将VTKresicleImageViewer或vtkImageViewer2与Python3+;PyQt5
我已经为vtkImageViewer编写了工作示例: 但是,任何图像都不会使用vtkImageViewer2或VTKIMAGEVIEWER进行渲染。已找到基于的示例,但也无法获得渲染图像(可能是因为库的版本错误) Python中是否有这些类的示例将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
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()之后