Пример #1
0
    def make_compare_images(image, reference_file, tolerance=0.1):
        reader = imagereader.vmtkImageReader()
        try:
            datadir = os.path.join(
                        os.path.dirname(
                            os.path.dirname(
                                os.path.realpath(__file__))), 'vmtk-test-data', 'imagereference')
            if not os.path.isdir(datadir): raise ValueError()
        except ValueError:
            datadir = os.path.join(
                os.path.dirname(
                    os.path.dirname(
                        os.path.dirname(
                            os.path.dirname(
                                os.path.realpath(__file__))))),
                'vmtk-test-data', 'imagereference')
            if not os.path.isdir(datadir): 
                raise ValueError('the vmtk-test-data repository cannot be found at the same level as vmtk. expected it to be at', datadir)
        reader.InputFileName = os.path.join(datadir, reference_file)
        reader.Execute()

        comp = imagecompare.vmtkImageCompare()
        comp.Image = image
        comp.ReferenceImage = reader.Image
        comp.Method = 'subtraction'
        comp.Tolerance = tolerance
        comp.Execute()

        return comp.Result
Пример #2
0
    def make_compare_images(image, reference_file, tolerance=0.1):
        reader = imagereader.vmtkImageReader()
        try:
            datadir = os.path.join(
                os.path.dirname(os.path.dirname(os.path.realpath(__file__))),
                'vmtk-test-data', 'imagereference')
            if not os.path.isdir(datadir): raise ValueError()
        except ValueError:
            datadir = os.path.join(
                os.path.dirname(
                    os.path.dirname(
                        os.path.dirname(
                            os.path.dirname(os.path.realpath(__file__))))),
                'vmtk-test-data', 'imagereference')
            if not os.path.isdir(datadir):
                raise ValueError(
                    'the vmtk-test-data repository cannot be found at the same level as vmtk. expected it to be at',
                    datadir)
        reader.InputFileName = os.path.join(datadir, reference_file)
        reader.Execute()

        comp = imagecompare.vmtkImageCompare()
        comp.Image = image
        comp.ReferenceImage = reader.Image
        comp.Method = 'subtraction'
        comp.Tolerance = tolerance
        comp.Execute()

        return comp.Result
Пример #3
0
def imageObjectEnhance():
    input_datadir = 'C:/Users/chenjiaxing/Desktop/CT-Data/png/WU_Lung_Vessel_Ext/'
    reader = imagereader.vmtkImageReader()

    # 图像序
    filelist = os.listdir(input_datadir)
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0, 512, 0, 512, 1, len(filelist)]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    imageObjEn = imageEnhance.vmtkImageObjectEnhancement()
    imageObjEn.Image = reader.Image
    # default arguments
    imageObjEn.SigmaMin = 1.0
    imageObjEn.SigmaMax = 1.0
    imageObjEn.NumberOfSigmaSteps = 1
    imageObjEn.ScaledObjectness = 0
    imageObjEn.Alpha = 0.5
    imageObjEn.Beta = 0.5
    imageObjEn.Gamma = 5.0
    imageObjEn.ObjectDimension = 2
    imageObjEn.Execute()

    viewer = imageviewer.vmtkImageViewer()
    viewer.Image = imageObjEn.Image
    viewer.Execute()
Пример #4
0
def test_read_vti_image(input_datadir, compare_images):
    name = __name__ + '_test_read_vti_image.vti'
    reader = imagereader.vmtkImageReader()
    reader.InputFileName = os.path.join(input_datadir, 'vase.vti')
    reader.Execute()

    assert compare_images(reader.Image, name) == True
Пример #5
0
def levelset_seg():
    '''
    图像的水平集分割,生成等值面
    '''
    input_file = "vesselVoi.vti"
    output_filename = 'vessellevelset.vtp'
    reader = imagereader.vmtkImageReader()
    # 图像序
    reader.InputFileName = input_file
    reader.Format = "vtkxml"
    reader.UseITKIO = 0
    reader.Execute()

    levelset = levelsetseg.vmtkLevelSetSegmentation()
    levelset.Image = reader.Image
    levelset.LevelSetsType = "geodesic"  # '["geodesic","curves","threshold","laplacian"]'
    levelset.FeatureImageType = "gradient"  # '["vtkgradient","gradient","upwind","fwhm"]'
    levelset.Execute()

    marchingcube = marchingcubes.vmtkMarchingCubes()
    marchingcube.Image = levelset.LevelSetsOutput
    marchingcube.Execute()

    writer = surfacewriter.vmtkSurfaceWriter()
    writer.Surface = marchingcube.Surface
    writer.Format = "vtkxml"
    writer.OutputFileName = output_filename
    writer.Execute()
def transform_image(input_datadir):
    import vmtk.vmtkimagereader as imagereader
    reader = imagereader.vmtkImageReader()
    reader.InputFileName = os.path.join(input_datadir,
                                        'image-test-transform.nrrd')
    reader.Execute()
    return (reader.Image, reader.XyzToRasMatrixCoefficients)
Пример #7
0
def imagefeature():
    '''
    图像的水平集分割,生成等值面
    '''
    input_datadir = 'C:/Users/chenjiaxing/Desktop/CT-Data/png/WU_Lung_Vessel_Ext/'
    reader = imagereader.vmtkImageReader()
 
    # 图像序
    filelist = os.listdir(input_datadir)
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0, 512, 0, 512, 1, len(filelist)]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    feature = imageFeatures.vmtkImageFeatures()
    feature.Image = reader.Image
    feature.FWHMRadius = [0.5, 0.5, 0.5]
    feature.FeatureImageType = "gradient"   # '["vtkgradient","gradient","upwind","fwhm"]'
    feature.Execute()

    viewer = imageviewer.vmtkImageViewer()
    viewer.Image = reader.Image
    viewer.Execute()
Пример #8
0
def imagevoi(input_datadir, output_filename):
    '''
     提取图像感兴趣的区域
    '''
    print("Hello")
    reader = imagereader.vmtkImageReader()

    # 图像序
    filelist = os.listdir(input_datadir)
    #print(len(filelist))
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0, 512, 0, 512, 1, len(filelist)]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    selector = imagevoiselector.vmtkImageVOISelector()
    selector.Image = reader.Image
    selector.Execute()

    writer = imagewriter.vmtkImageWriter()
    writer.Image = selector.Image
    writer.Format = "vtkxml"
    writer.OutputFileName = output_filename
    writer.WindowLevel = [150, 1200]  #窗宽和窗位
    writer.Execute()
Пример #9
0
def test_read_vti_image(input_datadir, compare_images):
    name = __name__ + '_test_read_vti_image.vti'
    reader = imagereader.vmtkImageReader()
    reader.InputFileName = os.path.join(input_datadir, 'vase.vti')
    reader.Execute()

    assert compare_images(reader.Image, name) == True
Пример #10
0
def level_set_image(input_datadir):
    import vmtk.vmtkimagereader as reader
    import os
    read = reader.vmtkImageReader()
    read.InputFileName = os.path.join(input_datadir, 'aorta-final-levelset.mha')
    read.Execute()

    return read.Image
Пример #11
0
def feature_image(input_datadir):
    import vmtk.vmtkimagereader as reader
    import os
    read = reader.vmtkImageReader()
    read.InputFileName = os.path.join(input_datadir, 'aorta-feature-image.mha')
    read.Execute()

    return read.Image
Пример #12
0
def initial_level_sets(input_datadir):
    import vmtk.vmtkimagereader as reader
    import os
    read = reader.vmtkImageReader()
    read.InputFileName = os.path.join(input_datadir, 'aorta-fastmarching-initial-levelset.mha')
    read.Execute()

    return read.Image
def feature_image(input_datadir):
    import vmtk.vmtkimagereader as reader
    import os
    read = reader.vmtkImageReader()
    read.InputFileName = os.path.join(input_datadir, 'aorta-feature-image.mha')
    read.Execute()

    return read.Image
Пример #14
0
def level_set_image(input_datadir):
    import vmtk.vmtkimagereader as reader
    import os
    read = reader.vmtkImageReader()
    read.InputFileName = os.path.join(input_datadir,
                                      'aorta-final-levelset.mha')
    read.Execute()

    return read.Image
def initial_level_sets(input_datadir):
    import vmtk.vmtkimagereader as reader
    import os
    read = reader.vmtkImageReader()
    read.InputFileName = os.path.join(
        input_datadir, 'aorta-fastmarching-initial-levelset.mha')
    read.Execute()

    return read.Image
Пример #16
0
def imageFeature():
    input_datadir = 'C:/Users/chenjiaxing/Desktop/CT-Data/png/WU_Lung_Vessel_Ext/'
    reader = imagereader.vmtkImageReader()

    # 图像序
    filelist = os.listdir(input_datadir)
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0, 512, 0, 512, 1, len(filelist)]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    normalize = imagenormalize.vmtkImageNormalize()
    normalize.Image = reader.Image
    normalize.Execute()

    viewer = imageviewer.vmtkImageViewer()
    viewer.Image = normalize.Image
    viewer.Execute()
Пример #17
0
def pngToVti():
    input_datadir = 'C:/Users/chenjiaxing/Desktop/CT-Data/png/Spine_Bone_Ext/'
    outputFileName = 'vessel.vti'
    reader = imagereader.vmtkImageReader()
 
    # 图像序
    filelist = os.listdir(input_datadir)
    #print(len(filelist))
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0 ,512 ,0, 512, 1, len(filelist)]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    writer = imagewriter.vmtkImageWriter()
    writer.Image = reader.Image
    writer.Format = "vtkxml"
    writer.OutputFileName = outputFileName
    writer.WindowLevel = [150, 1200]  #窗宽和窗位
    writer.Execute()
Пример #18
0
def imageFeature():
    input_datadir = 'C:/Users/chenjiaxing/Desktop/CT-Data/png/WU_Lung_Vessel_Ext/'
    reader = imagereader.vmtkImageReader()

    # 图像序
    filelist = os.listdir(input_datadir)
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0, 512, 0, 512, 1, len(filelist)]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    morphology = imagemorphology.vmtkImageMorphology()
    morphology.Operation = "erode"  # '["dilate","erode","open","close"]'
    morphology.BallRadius = [1, 1, 1]
    morphology.Image = reader.Image
    morphology.Execute()

    viewer = imageviewer.vmtkImageViewer()
    viewer.Image = morphology.Image
    viewer.Execute()
Пример #19
0
def imageFeature():
    input_datadir = 'C:/Users/chenjiaxing/Desktop/CT-Data/png/WU_Lung_Vessel_Ext/'
    reader = imagereader.vmtkImageReader()

    # 图像序
    filelist = os.listdir(input_datadir)
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0, 512, 0, 512, 1, len(filelist)]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    imageVesselEnhance = imagevesseEnhance.vmtkImageVesselEnhancement()
    imageVesselEnhance.Image = reader.Image
    imageVesselEnhance.Method = "vedm"  #["frangi","sato","ved","vedm"]
    imageVesselEnhance.SigmaStepMethod = "equispaced"  #["equispaced","logarithmic"]
    imageVesselEnhance.Execute()

    viewer = imageviewer.vmtkImageViewer()
    viewer.Image = imageVesselEnhance.Image
    viewer.Execute()
Пример #20
0
def ostsuerThreshold():
    input_datadir = 'C:/Users/chenjiaxing/Desktop/CT-Data/png/Spine_Bone_Ext/'
    reader = imagereader.vmtkImageReader()

    # 单幅图像
    # reader.InputFileName = os.path.join(input_datadir, '170.png')

    # 图像序列
    reader.InputFilePrefix = input_datadir
    reader.InputFilePattern = "%s%d.png"
    reader.DataExtent = [0, 512, 0, 512, 1, 188]
    reader.Format = "png"
    reader.UseITKIO = 0
    reader.Execute()

    otsuer = otsu.vmtkImageOtsuThresholds()
    otsuer.Image = reader.Image
    otsuer.NumberOfThresholds = 2
    otsuer.Execute()

    viewer = imageviewer.vmtkImageViewer()
    viewer.Image = otsuer.Image
    viewer.Execute()
Пример #21
0
def transform_image(input_datadir):
    import vmtk.vmtkimagereader as imagereader
    reader = imagereader.vmtkImageReader()
    reader.InputFileName = os.path.join(input_datadir, 'image-test-transform.nrrd')
    reader.Execute()
    return (reader.Image, reader.XyzToRasMatrixCoefficients)
Пример #22
0
def aorta_image(input_datadir):
    reader = imagereader.vmtkImageReader()
    reader.InputFileName = os.path.join(input_datadir, 'aorta.mha')
    reader.Execute()
    return reader.Image
Пример #23
0
def aorta_image(input_datadir):
    reader = imagereader.vmtkImageReader()
    reader.InputFileName = os.path.join(input_datadir, 'aorta.mha')
    reader.Execute()
    return reader.Image