def mip_z(): ImageSlab = vtk.vtkImageSlabReslice() ImageSlab.SetInputData(imagedata) ImageSlab.SetResliceAxesOrigin(center) ImageSlab.SetResliceAxesDirectionCosines(DirectionCosines_z) ImageSlab.SetSlabThickness(ConstPixelSpacing[2] * ConstPixelDims[2]) ImageSlab.SetBlendModeToMax() ImageSlab.SetSlabResolution(ConstPixelSpacing[2]) ImageSlab.Update() image = ImageSlab.GetOutput() m = image.GetDimensions() vtk_data = image.GetPointData().GetScalars() arr = numpy_support.vtk_to_numpy(vtk_data).reshape(m[1], m[0]) arr = (arr - np.min(arr)) / ((np.max(arr) - np.min(arr)) / 255) # cv2.imwrite( path + name +'.jpg', arr) return arr
def mip_y(): ImageSlab = vtk.vtkImageSlabReslice() ImageSlab.SetInputData(imagedata) ImageSlab.SetResliceAxesOrigin(center) ImageSlab.SetResliceAxesDirectionCosines(DirectionCosines_y) ImageSlab.SetSlabThickness(ConstPixelSpacing[1] * ConstPixelDims[1]) ImageSlab.SetBlendModeToMax() ImageSlab.SetSlabResolution(ConstPixelSpacing[1]) ImageSlab.Update() image = ImageSlab.GetOutput() m = image.GetDimensions() vtk_data = image.GetPointData().GetScalars() arr = numpy_support.vtk_to_numpy(vtk_data).reshape(m[1], m[0]) arr = (arr - np.min(arr)) / ((np.max(arr) - np.min(arr)) / 255) width = int(ConstPixelDims[2] * (ConstPixelSpacing[2] / ConstPixelSpacing[0])) height = ConstPixelDims[0] dim = (width, height) resized = cv2.resize(np.rot90(arr, -1), dim, interpolation=cv2.INTER_AREA) # cv2.imwrite( path + name +'.jpg', resized) return resized
def mip_x(): ImageSlab = vtk.vtkImageSlabReslice() ImageSlab.SetInputData(imagedata) ImageSlab.SetResliceAxesOrigin(center) ImageSlab.SetResliceAxesDirectionCosines(DirectionCosines_x) ImageSlab.SetSlabThickness(ConstPixelSpacing[0] * ConstPixelDims[0]) ImageSlab.SetBlendModeToMax() ImageSlab.SetSlabResolution(ConstPixelSpacing[0]) ImageSlab.Update() image = ImageSlab.GetOutput() m = image.GetDimensions() vtk_data = image.GetPointData().GetScalars() arr = numpy_support.vtk_to_numpy(vtk_data).reshape(m[1], m[0]) arr = (arr - numpy.min(arr)) / ((numpy.max(arr) - numpy.min(arr)) / 255) width = columns height = int( len(lstFilesDCM) * (ConstPixelSpacing[2] / ConstPixelSpacing[1])) dim = (width, height) resized = cv2.resize(numpy.rot90(arr, 1), dim, interpolation=cv2.INTER_AREA) return resized
imagedata.SetOrigin(origin) imagedata.SetSpacing(spacing) imagedata.SetDimensions(Dim) imagedata.GetPointData().SetScalars(Array_vtk) origin = numpy.array(origin) ConstPixelSpacing = numpy.array(spacing) ConstPixelDims = numpy.array(Dim) center = origin + (ConstPixelSpacing * ConstPixelDims / 2) DirectionCosines_x = (0, 0, 1, 0, 1, 0, -1, 0, 0) DirectionCosines_y = (1, 0, 0, 0, 0, -1, 0, 1, 0) DirectionCosines_z = (1, 0, 0, 0, 1, 0, 0, 0, 1) ImageSlab = vtk.vtkImageSlabReslice() ImageSlab.SetInputData(imagedata) ImageSlab.SetResliceAxesOrigin(center) ImageSlab.SetResliceAxesDirectionCosines(DirectionCosines_y) ImageSlab.SetSlabThickness(ConstPixelSpacing[1] * ConstPixelDims[1]) ImageSlab.SetBlendModeToMax() ImageSlab.SetSlabResolution(ConstPixelSpacing[1]) ImageSlab.Update() image = ImageSlab.GetOutput() m = image.GetDimensions() # print(m) writer = vtk.vtkMetaImageWriter() writer.SetInputData(image) writer.SetFileName("E:/Dicom/test/DicomResource/test11.mhd") writer.Write()