Example #1
0
        'edu.jhu.ece.iacl.plugins.utilities.math.MedicAlgorithmImageCalculator',
        'de.mpg.cbs.jist.brain.JistBrainMp2rageDuraEstimation',
        'de.mpg.cbs.jist.brain.JistBrainPartialVolumeFilter',
        'edu.jhu.ece.iacl.plugins.utilities.volume.MedicAlgorithmThresholdToBinaryMask',
        # 'de.mpg.cbs.jist.cortex.JistCortexFullCRUISE', # waiting for http://www.nitrc.org/tracker/index.php?func=detail&aid=7236&group_id=228&atid=942 to be fixed
        'de.mpg.cbs.jist.cortex.JistCortexSurfaceMeshInflation'
    ]

    modules_from_julia = [
        'de.mpg.cbs.jist.intensity.JistIntensityMp2rageMasking',
        'edu.jhu.ece.iacl.plugins.segmentation.skull_strip.MedicAlgorithmSPECTRE2010'
    ]

    modules_from_leonie = [
        'edu.jhu.ece.iacl.plugins.classification.MedicAlgorithmLesionToads'
    ]

    modules_from_yasinyazici = [
        'edu.jhu.ece.iacl.plugins.classification.MedicAlgorithmN3'
    ]

    modules_list = list(
        set(modules_list).union(modules_from_chris).union(
            modules_from_leonie).union(modules_from_julia).union(
                modules_from_yasinyazici).union(modules_list))

    generate_all_classes(modules_list=modules_list,
                         launcher=["java edu.jhu.ece.iacl.jist.cli.run"],
                         redirect_x=True,
                         mipav_hacks=True)
  'VBRAINSDemonWarp',
  'extractNrrdVectorIndex',
  'gtractAnisotropyMap',
  'gtractAverageBvalues',
  'gtractClipAnisotropy',
  'gtractCoRegAnatomy',
  'gtractConcatDwi',
  'gtractCopyImageOrientation',
  'gtractCoregBvalues',
  'gtractCostFastMarching',
  'gtractImageConformity',
  'gtractInvertBSplineTransform',
  'gtractInvertDisplacementField',
  'gtractInvertRigidTransform',
  'gtractResampleAnisotropy',
  'gtractResampleB0',
  'gtractResampleCodeImage',
  'gtractResampleDWIInPlace',
  'gtractTensor',
  'gtractTransformToDisplacementField',
  'GenerateLabelMapFromProbabilityMap',
  'BRAINSLinearModelerEPCA',
  'BRAINSCut',
]



launcher=['']
generate_all_classes(modules_list=modules_list, launcher=[])

Example #3
0
OUTPUT_PATH = os.path.join(args.output_path, 'semtools')
if os.path.exists(OUTPUT_PATH):
    shutil.rmtree(OUTPUT_PATH)
os.mkdir(OUTPUT_PATH)
os.chdir(OUTPUT_PATH)

found_modules_list = list()
missing_modules_list = list()

for test_module in all_known_modules_list:
    for currPath in SEARCH_PATHS:
        currProgPath = os.path.join(currPath, test_module)
        if os.path.exists(currProgPath):
            found_modules_list.append(test_module)
            break
        else:
            missing_modules_list.append(test_module)

generate_all_classes(modules_list=found_modules_list, launcher=[])

help_file = open(os.path.join(OUTPUT_PATH, 'generated.sh'), 'w')
help_file.write(' '.join(sys.argv) + "\n")
help_file.close()

print(("\n\nRan: ", ' '.join(sys.argv), "\n\n"))

print(("FOUND: ", found_modules_list))
for test_module in missing_modules_list:
    print(("Missing Candidate Program: {prog_name}".format(
        prog_name=test_module)))
    modules_list = ['edu.jhu.bme.smile.demo.RandomVol',
                    'de.mpg.cbs.jist.laminar.JistLaminarProfileCalculator',
                    'de.mpg.cbs.jist.laminar.JistLaminarProfileSampling',
                    'de.mpg.cbs.jist.laminar.JistLaminarROIAveraging',
                    'de.mpg.cbs.jist.laminar.JistLaminarVolumetricLayering',
                    'de.mpg.cbs.jist.laminar.JistLaminarProfileGeometry',
                    'de.mpg.cbs.jist.brain.JistBrainMgdmSegmentation',
                    'de.mpg.cbs.jist.brain.JistBrainMp2rageSkullStripping',
                    'de.mpg.cbs.jist.brain.JistBrainPartialVolumeFilter',
                    'de.mpg.cbs.jist.brain.JistBrainMp2rageDuraEstimation']

    modules_from_chris = ['edu.jhu.ece.iacl.plugins.segmentation.skull_strip.MedicAlgorithmSPECTRE2010',
                          'edu.jhu.ece.iacl.plugins.utilities.volume.MedicAlgorithmMipavReorient',
                          'edu.jhu.ece.iacl.plugins.utilities.math.MedicAlgorithmImageCalculator',
                          'de.mpg.cbs.jist.brain.JistBrainMp2rageDuraEstimation',
                          'de.mpg.cbs.jist.brain.JistBrainPartialVolumeFilter',
                          'edu.jhu.ece.iacl.plugins.utilities.volume.MedicAlgorithmThresholdToBinaryMask',
                          # 'de.mpg.cbs.jist.cortex.JistCortexFullCRUISE', # waiting for http://www.nitrc.org/tracker/index.php?func=detail&aid=7236&group_id=228&atid=942 to be fixed
                          'de.mpg.cbs.jist.cortex.JistCortexSurfaceMeshInflation']

    modules_from_julia = ['de.mpg.cbs.jist.intensity.JistIntensityMp2rageMasking',
                          'edu.jhu.ece.iacl.plugins.segmentation.skull_strip.MedicAlgorithmSPECTRE2010']

    modules_from_leonie = ['edu.jhu.ece.iacl.plugins.classification.MedicAlgorithmLesionToads']

    modules_from_yasinyazici = ['edu.jhu.ece.iacl.plugins.classification.MedicAlgorithmN3']

    modules_list = list(set(modules_list).union(modules_from_chris).union(modules_from_leonie).union(modules_from_julia).union(modules_from_yasinyazici).union(modules_list))

    generate_all_classes(modules_list=modules_list, launcher=["java edu.jhu.ece.iacl.jist.cli.run"], redirect_x=True, mipav_hacks=True)
    #exec_dir = '/scratch/src/BRAINS4-build/bin'
    #exec_dir = '/scratch/johnsonhj/src/BRAINS4-buld/bin'
    exec_dir = '/Users/johnsonhj/src/BRAINS4-build/bin'
    for candidate_exe in test_list.split():
        test_command = exec_dir + "/" + candidate_exe + " --xml"
        xmlReturnValue = subprocess.Popen(test_command,
                                          stdout=subprocess.PIPE,
                                          shell=True).communicate()[0]
        isThisAnSEMExecutable = xmlReturnValue.find("<executable>")
        if isThisAnSEMExecutable != -1:
            SEM_exe.append(candidate_exe)

    print("SEM_PROGRAMS: {0}".format(SEM_exe))

    ## NOTE:  For now either the launcher needs to be found on the default path, or
    ##        every tool in the modules list must be found on the default path
    ##        AND calling the module with --xml must be supported and compliant.
    ##       modules_list = ['BRAINSConstellationDetector','BRAINSFit', 'BRAINSResample', 'BRAINSDemonWarp', 'BRAINSROIAuto']
    ## SlicerExecutionModel compliant tools that are usually statically built, and don't need the Slicer3 --launcher
    SEM.generate_all_classes(modules_list=SEM_exe, launcher=[])

### This uses the unsuppored "point" SEM type
### TransformFromFiducials
### This uses the unsupported "geometry" SEM type
### compareTractInclusion
### gtractCreateGuideFiber
### gtractFiberTracking
### gtractCostFastMarching
### gtractFastMarchingTracking
### gtractResampleFibers
    SEM_exe = list()
    # exec_dir = '/scratch/src/BRAINS4-build/bin'
    # exec_dir = '/scratch/johnsonhj/src/BRAINS4-buld/bin'
    exec_dir = "/Users/johnsonhj/src/BRAINS4-build/bin"
    for candidate_exe in test_list.split():
        test_command = exec_dir + "/" + candidate_exe + " --xml"
        xmlReturnValue = subprocess.Popen(test_command, stdout=subprocess.PIPE, shell=True).communicate()[0]
        isThisAnSEMExecutable = xmlReturnValue.find("<executable>")
        if isThisAnSEMExecutable != -1:
            SEM_exe.append(candidate_exe)

    print("SEM_PROGRAMS: {0}".format(SEM_exe))

    ## NOTE:  For now either the launcher needs to be found on the default path, or
    ##        every tool in the modules list must be found on the default path
    ##        AND calling the module with --xml must be supported and compliant.
    ##       modules_list = ['BRAINSConstellationDetector','BRAINSFit', 'BRAINSResample', 'BRAINSDemonWarp', 'BRAINSROIAuto']
    ## SlicerExecutionModel compliant tools that are usually statically built, and don't need the Slicer3 --launcher
    SEM.generate_all_classes(modules_list=SEM_exe, launcher=[])


### This uses the unsuppored "point" SEM type
### TransformFromFiducials
### This uses the unsupported "geometry" SEM type
### compareTractInclusion
### gtractCreateGuideFiber
### gtractFiberTracking
### gtractCostFastMarching
### gtractFastMarchingTracking
### gtractResampleFibers