最近在看python, 写段显示dicom的代码,练练手。
#!C:\Program Files\Python\Python38\Python
import numpy as np
import matplotlib.pyplot as plt
import vtk
from vtk.util.numpy_support import vtk_to_numpy
class dicom2dviewer():
def __init__(self):
self.data = np.array([])
self.srcdata = []
self.tardata = np.array([])
self.dims = []
self.spacing = []
self.curindex = 0
self.fig = None
self.arrX = []
self.arrY = []
def __loadDicom(self, path):
reader = vtk.vtkDICOMImageReader()
reader.SetDirectoryName(path)
reader.Update()
extent = reader.GetDataExtent()
self.dims = [extent[1] - extent[0] + 1, extent[3] - extent[2] + 1, extent[5] - extent[4] +1];
self.spacing = reader.GetPixelSpacing()
imageData = reader.GetOutput()
self.srcdata = imageData.G