コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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()