Exemplo n.º 1
0
def methods_02_stats(config, verbose=False):

    input_dir = config['dirs']['input']

    util.mkcd_dir([config['methods']['results']['dir']], True)

    command = [
        'fslmaths',
        os.path.join(config['dirs']['methods']['01-register'],
                     'nu_brain.nii.gz'), '-bin',
        os.path.join(config['dirs']['methods']['results'], 'brain_mask.nii.gz')
    ]

    util.iw_subprocess(command, verbose, verbose, False)

    for ii in ['swi', 'swi_magnitude', 'swi_phase']:

        command = [
            'fslmaths',
            os.path.join(config['dirs']['methods']['01-register'],
                         'swi_Affine_nu__' + ii + '.nii.gz'), '-mas',
            'brain_mask.nii.gz', ii + '.nii.gz'
        ]

        util.iw_subprocess(command, verbose, verbose, False)

    util.force_hard_link(
        os.path.join(config['methods']['input']['dir'], 'nu.nii.gz'),
        'nu.nii.gz')
    util.force_hard_link(
        os.path.join(config['methods']['input']['dir'], 'nu_brain.nii.gz'),
        'nu_brain.nii.gz')
Exemplo n.º 2
0
def methods_02_lpa(input_dir, verbose):

    cenc_dirs = cenc.directories(input_dir)

    wm_lesions_dir = cenc_dirs['wmlesions']['dirs']['root']
    wm_lesions_lpa_dir = cenc_dirs['wmlesions']['dirs']['lpa']

    util.mkcd_dir([cenc_dirs['wmlesions']['dirs']['lpa']], True)

    util.copy_inputs([
        os.path.join(cenc_dirs['wmlesions']['dirs']['register'],
                     't2flair_Affine_nu__t2flair_Warped.nii.gz')
    ], cenc_dirs['wmlesions']['dirs']['lpa'])

    glob_files = glob.glob('*.gz')

    for ii in glob_files:
        os.system('gunzip ' + ii)
        os.chmod(str.replace(ii, '.gz', ''),
                 stat.S_IRUSR | stat.S_IRGRP | stat.S_IWUSR | stat.S_IWGRP)

    # Run Matlab

    command = ['cenc_wmlesions_run.sh', cenc_dirs['wmlesions']['dirs']['lpa']]
    util.iw_subprocess(command, verbose, verbose, False)

    os.chdir(cenc_dirs['wmlesions']['dirs']['lpa'])

    for ii in glob.glob('*.nii'):
        os.system('gzip ' + ii)
        os.chmod(str.replace(ii, '.nii', '.nii.gz'),
                 stat.S_IRUSR | stat.S_IRGRP | stat.S_IWUSR | stat.S_IWGRP)
Exemplo n.º 3
0
def results( input_dir ):
    """ Gather results and write the MagTran JSON output file"""

    cenc_dirs = cenc.directories( input_dir )

    mt_input_dir       = cenc_dirs['mt']['dirs']['input']
    mt_01_register_dir = cenc_dirs['mt']['dirs']['register']
    mt_results_dir     = cenc_dirs['mt']['dirs']['results']

    util.mkcd_dir( [ mt_results_dir ], True)

    result_files = [ [  os.path.join( cenc_dirs['mt']['dirs']['register'], 'mt_Affine_nu__mt_m0_Warped.nii.gz'),
    os.path.join( cenc_dirs['mt']['dirs']['results'],  'mt_Affine_nu__mt_m0.nii.gz')],

    [ os.path.join( cenc_dirs['mt']['dirs']['register'], 'mt_Affine_nu__mt_m1_Warped.nii.gz'),
    os.path.join( cenc_dirs['mt']['dirs']['results'],  'mt_Affine_nu__mt_m1.nii.gz')],

    [ os.path.join( cenc_dirs['mt']['dirs']['02-stats'], 'magtrans.json'),
    os.path.join( cenc_dirs['mt']['dirs']['results'],  'magtrans.json') ],

    [ os.path.join( cenc_dirs['mt']['dirs']['register'], 'mtr.nii.gz'),
    os.path.join( cenc_dirs['mt']['dirs']['results'],  'mtr.nii.gz') ],

    [ os.path.join( cenc_dirs['mt']['dirs']['input'],    'nu.nii.gz'),
    os.path.join( cenc_dirs['mt']['dirs']['results'],  'nu.nii.gz') ],

    [ os.path.join( cenc_dirs['mt']['dirs']['register'], 'mtr.nii.gz'),
    os.path.join( cenc_dirs['results']['dirs']['images'],  'mtr.nii.gz') ]
    ]

    for ii in result_files:
        util.force_hard_link( ii[0], ii[1])

    return
Exemplo n.º 4
0
def mt_link_inputs( input_dir, link_to_dir, change_to_dir = True ):

     cenc_dirs = cenc.directories( input_dir )

     util.mkcd_dir( [ link_to_dir ], change_to_dir )

     input_files = cenc_dirs['mt']['inputs']
     label_files = cenc_dirs['mt']['labels']

     util.link_inputs( input_files + label_files, link_to_dir )
Exemplo n.º 5
0
def methods_02_stats(input_dir, verbose=False):

    # Register MT images to nu.nii.gz
    cenc_dirs = cenc.directories(input_dir)

    util.mkcd_dir( [ cenc_dirs['mt']['dirs']['02-stats'] ], True)

    methods_write_json_redcap_mt_instrument(input_dir, verbose)


    return
Exemplo n.º 6
0
def prepare( cenc_participant_dir ):

     freesurfer_input_dir = os.path.join( cenc_participant_dir, 'freesurfer', 'input' )

     util.mkcd_dir( [ freesurfer_input_dir ])

     input_files = [ os.path.join( cenc_participant_dir, 'reorient', 't1w.nii.gz'),
                     os.path.join( cenc_participant_dir, 'reorient', 't2flair.nii.gz'),
                     os.path.join( cenc_participant_dir, 'reorient', 't2tse.nii.gz')
                     ]

     util.link_inputs( input_files, freesurfer_input_dir)

     return
Exemplo n.º 7
0
def prepare( input_dir ):

     cenc_dirs = cenc.directories( input_dir )

     util.mkcd_dir( [ cenc_dirs['freesurfer']['input']  ])

     input_files = [ os.path.join( cenc_dirs['cenc']['reorient'], 't1w.nii.gz'),
                     os.path.join( cenc_dirs['cenc']['reorient'], 't2flair.nii.gz'),
                     os.path.join( cenc_dirs['cenc']['reorient'], 't2tse.nii.gz')
                     ]

     util.link_inputs( input_files, cenc_dirs['freesurfer']['input'] )

     return
Exemplo n.º 8
0
def results(cenc_participant_id,  cenc_participant_dir, cenc_freesurfer_dir,cenc_results_dir, verbose):

     util.mkcd_dir( [ cenc_results_dir ], True)

     files_to_convert = [ os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'nu.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'aseg.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'brainmask.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'aparc.a2009s+aseg.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'wmparc.mgz')
                          ]

     # Check if files exist

     print files_to_convert

     if util.check_files(files_to_convert, True) == False:
          sys.exit()

     # Create link to directory

     freesurfer_results_dir =  os.path.abspath(os.path.join( cenc_participant_dir, 'freesurfer','results'))

     if not os.path.exists(freesurfer_results_dir):
          util.force_symbolic_link( os.path.join( cenc_freesurfer_dir,  cenc_participant_id ), freesurfer_results_dir)

     # TODO use input node to run this instead of a loop

     mc = Node( fs.MRIConvert( out_type = 'niigz'
                               ),
                name="mri_convert"
                )  
       
     mc.iterables = ( "in_file", files_to_convert )

     reorient = Node( fsl.Reorient2Std(), name="reorient" )

     workflow_convert = Workflow(name='cenc_freesurfer_nipype_workflow')
     workflow_convert.base_dir = cenc_results_dir
     
     workflow_convert.connect( [ (mc,       reorient, [('out_file', 'in_file')] )]
                               )    
     workflow_convert.run()
     
     # Create final brain mask. This takes forever. Speeding it up would be helpful. 

     cenc.create_mask( os.path.join( cenc_results_dir, 'brainmask.nii.gz'),         
                       os.path.join( cenc_results_dir, 'aparc.a2009s+aseg.nii.gz'), 
                       os.path.join( cenc_results_dir, 'mask.nii.gz')
                       )
Exemplo n.º 9
0
def results(cenc_participant_id,  cenc_participant_dir, cenc_freesurfer_dir,cenc_results_dir, verbose):

     util.mkcd_dir( [ cenc_results_dir ], True)

     files_to_convert = [ os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'nu.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'aseg.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'brainmask.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'aparc.a2009s+aseg.mgz'),
                          os.path.join( cenc_freesurfer_dir, cenc_participant_id, 'mri', 'wmparc.mgz')
                          ]

     # Check if files exist

     print files_to_convert

     if util.check_files(files_to_convert, True) == False:
          sys.exit()

     # Create link to directory

     freesurfer_results_dir =  os.path.abspath(os.path.join( cenc_participant_dir, 'freesurfer','results'))

     if not os.path.exists(freesurfer_results_dir):
          util.force_symbolic_link( os.path.join( cenc_freesurfer_dir,  cenc_participant_id ), freesurfer_results_dir)

     # TODO use input node to run this instead of a loop. The trick part is to have the files named correctly. 

     for ii in files_to_convert:
          mc = fs.MRIConvert( in_file  = ii,
                              out_file = os.path.join( cenc_results_dir, str.replace( os.path.basename(ii),'.mgz','.nii.gz')),
                              out_type = 'niigz'
                              )
          mc.run()

          
          reorient = fsl.Reorient2Std( in_file = mc.inputs.out_file, out_file = mc.inputs.out_file)
          reorient.run()
     
     # Create final brain mask. 

     cenc.create_mask( os.path.join( cenc_results_dir, 'brainmask.nii.gz'),         
                       os.path.join( cenc_results_dir, 'aparc.a2009s+aseg.nii.gz'), 
                       os.path.join( cenc_results_dir, 'mask.nii.gz')
                       )

     # Extract labels for Further processing

     cenc_results_labels_dir = os.path.join(cenc_results_dir, 'labels')
     util.mkcd_dir( cenc_results_labels_dir, 'labels') )
Exemplo n.º 10
0
def methods_00_input(config, verbose):
    """ Renames inputs from configureation file to standard naming convention"""

    if verbose:
        print
        print(config['config']['dirs'])
        print
        print(config['methods']['input'])
        print

    util.mkcd_dir([config['methods']['input']['dir']], True)

    input_output_pairs = zip(config['methods']['input']['inputs'],
                             config['methods']['input']['outputs'])

    for ii in input_output_pairs:
        os.link(ii[0], ii[1])
Exemplo n.º 11
0
def methods_01_register(input_dir, verbose):

    cenc_dirs = cenc.directories(input_dir)

    wm_lesions_dir = cenc_dirs['wmlesions']['dirs']['root']
    wm_lesions_lpa_dir = cenc_dirs['wmlesions']['dirs']['lpa']

    # Register

    util.mkcd_dir([cenc_dirs['wmlesions']['dirs']['register']], True)

    files = [
        os.path.join(cenc_dirs['wmlesions']['dirs']['input'], 'nu.nii.gz'),
        os.path.join(cenc_dirs['wmlesions']['dirs']['input'],
                     't2flair.nii.gz'),
        os.path.join(cenc_dirs['results']['dirs']['labels'], 'mask.nii.gz')
    ]

    util.link_inputs(files, cenc_dirs['wmlesions']['dirs']['register'])

    ants_register('t2flair')
Exemplo n.º 12
0
def prepare(input_dir):

    cenc_dirs = cenc.directories(input_dir)

    wm_lesions_dir = cenc_dirs['wmlesions']['dirs']['root']
    wm_lesions_input_dir = cenc_dirs['wmlesions']['dirs']['input']
    wm_lesions_lpa_dir = cenc_dirs['wmlesions']['dirs']['lpa']

    # Create Input Directory if it doesn't exist and link files

    files = [
        os.path.abspath(
            os.path.join(cenc_dirs['results']['dirs']['images'], 'nu.nii.gz')),
        os.path.abspath(
            os.path.join(cenc_dirs['results']['dirs']['labels'],
                         'mask.nii.gz')),
        os.path.abspath(
            os.path.join(cenc_dirs['cenc']['reorient'], 't2flair.nii.gz'))
    ]

    util.mkcd_dir(os.path.join(wm_lesions_input_dir))
    util.link_inputs(files, wm_lesions_input_dir)
Exemplo n.º 13
0
def results( input_dir, verbose):

     cenc_dirs = cenc.directories( input_dir )
     cenc_freesurfer_dir = cenc_dirs['freesurfer']['mri']


     util.mkcd_dir( [ cenc_dirs['results']['dirs']['root'],
                      cenc_dirs['results']['dirs']['images'],
                      cenc_dirs['results']['dirs']['labels'] 
                      ],
                    True 
                    )

     files_to_convert = [ os.path.join( cenc_freesurfer_dir, 'nu.mgz'),
                          os.path.join( cenc_freesurfer_dir, 'aseg.mgz'),
                          os.path.join( cenc_freesurfer_dir, 'brainmask.mgz'),
                          os.path.join( cenc_freesurfer_dir, 'aparc.a2009s+aseg.mgz'),
                          os.path.join( cenc_freesurfer_dir, 'wmparc.mgz')
                          ]


     # Check if files exist

     if util.check_files(files_to_convert, True) == False:
          sys.exit()

     # Create link to directory

     if not os.path.exists(cenc_dirs['freesurfer']['results']):
          util.force_symbolic_link( cenc_dirs['freesurfer']['mri'], cenc_dirs['freesurfer']['results'])

     # TODO use input node to run this instead of a loop. The trick part is to have the files named correctly. 

     for ii in files_to_convert:
          mc = fs.MRIConvert( in_file  = ii,
                              out_file = os.path.join( cenc_dirs['results']['dirs']['labels'],
                                                       str.replace( os.path.basename(ii),'.mgz','.nii.gz')),
                              out_type = 'niigz'
                              )
          mc.run()

          
          reorient = fsl.Reorient2Std( in_file = mc.inputs.out_file, out_file = mc.inputs.out_file)
          reorient.run()

     # Link nu.nii.gz to results/native/images

     result_files = [ [ os.path.join( cenc_dirs['results']['dirs']['labels'], 'nu.nii.gz'), 
                        os.path.join( cenc_dirs['results']['dirs']['images'], 'nu.nii.gz') ]
                      ]
 
     for ii in result_files:
          util.force_hard_link( ii[0], ii[1])

     
     # Create final brain mask. 

     cenc.create_mask( os.path.join( cenc_dirs['results']['dirs']['labels'], 'brainmask.nii.gz'),         
                       os.path.join( cenc_dirs['results']['dirs']['labels'], 'aparc.a2009s+aseg.nii.gz'), 
                       os.path.join( cenc_dirs['results']['dirs']['labels'], 'mask.nii.gz')
                       )



     # Create macroscopic labels

     util.iw_subprocess( ['cenc_aseg_labels.sh'], True, True, False)
Exemplo n.º 14
0
def methods_03_stats(input_dir, verbose=False, min_lesion_volume=10):

    cenc_dirs = cenc.directories(input_dir)

    wm_lesions_dir = cenc_dirs['wmlesions']['dirs']['root']
    wm_lesions_lpa_dir = cenc_dirs['wmlesions']['dirs']['lpa']

    util.mkcd_dir([cenc_dirs['wmlesions']['dirs']['stats']], True)

    wm_lesions_stats_filename = os.path.join(
        cenc_dirs['wmlesions']['dirs']['stats'], 'wmlesions_lpa_labels.csv')

    # Create labels file from LPA probability map
    iw_labels_label.create(
        os.path.join(cenc_dirs['wmlesions']['dirs']['lpa'],
                     'ples_lpa_mt2flair_Affine_nu__t2flair_Warped.nii.gz'),
        os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                     'wmlesions_lpa_labels.nii.gz'))

    # Measure statistics of labels
    iw_labels_stats.measure(
        os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                     'wmlesions_lpa_labels.nii.gz'),
        None,
        False, ['volume_mm3'],
        wm_lesions_stats_filename,
        limits_volume_voxels=[min_lesion_volume, numpy.inf],
        limits_bb_volume_voxels=[0, numpy.inf],
        limits_fill_factor=[0, 1],
        sort='volume_mm3',
        verbose=verbose,
        verbose_nlines=20)

    # Keep labels greater than 10 mm^3.  Limit is set above
    iw_labels_keep.keep(
        os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                     'wmlesions_lpa_labels.nii.gz'), [],
        wm_lesions_stats_filename,
        os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                     'wmlesions_lpa_labels.nii.gz'))
    #  1)
    #  2) Create a WM Lesions mask
    #  3)

    command = [[
        'fslmaths',
        os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                     'wmlesions_lpa_labels.nii.gz'), '-bin', '-mul',
        os.path.join(cenc_dirs['wmlesions']['dirs']['lpa'],
                     'ples_lpa_mt2flair_Affine_nu__t2flair_Warped.nii.gz'),
        '-mas',
        os.path.join(cenc_dirs['wmlesions']['dirs']['input'], 'mask.nii.gz'),
        os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                     'wmlesions_lpa_pmap.nii.gz')
    ],
               [
                   'fslmaths',
                   os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                                'wmlesions_lpa_labels.nii.gz'), '-bin',
                   os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                                'wmlesions_lpa_mask.nii.gz')
               ],
               [
                   'fslmaths',
                   os.path.join(cenc_dirs['wmlesions']['dirs']['lpa'],
                                'mt2flair_Affine_nu__t2flair_Warped.nii.gz'),
                   '-mas',
                   os.path.join(cenc_dirs['wmlesions']['dirs']['input'],
                                'mask.nii.gz'),
                   os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                                'wmlesions_lpa_t2flair.nii.gz')
               ]]

    for ii in command:
        util.iw_subprocess(ii, verbose, verbose, False)

    # Write out JSON file with RedCap Instrument
    methods_write_json_redcap_instrument(input_dir, wm_lesions_stats_filename,
                                         verbose)
Exemplo n.º 15
0
def results(input_dir):

    cenc_dirs = cenc.directories(input_dir)
    util.mkcd_dir([cenc_dirs['wmlesions']['dirs']['results']], True)

    # Link Files

    link_result_files = [
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                         'wmlesions_lpa_t2flair.nii.gz'),
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_t2flair.nii.gz')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['input'], 'nu.nii.gz'),
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'nu.nii.gz')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                         'wmlesions_lpa_pmap.nii.gz'),
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_pmap.nii.gz')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                         'wmlesions.json'),
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions.json')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                         'wmlesions_lpa_labels.nii.gz'),
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_labels.nii.gz')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                         'wmlesions_lpa_labels.csv'),
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_labels.csv')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['stats'],
                         'wmlesions_lpa_mask.nii.gz'),
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_mask.nii.gz')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_pmap.nii.gz'),
            os.path.join(cenc_dirs['results']['dirs']['images'],
                         'wmlesions_lpa_pmap.nii.gz')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_mask.nii.gz'),
            os.path.join(cenc_dirs['results']['dirs']['labels'],
                         'wmlesions_lpa_mask.nii.gz')
        ],
        [
            os.path.join(cenc_dirs['wmlesions']['dirs']['results'],
                         'wmlesions_lpa_labels.nii.gz'),
            os.path.join(cenc_dirs['results']['dirs']['labels'],
                         'wmlesions_lpa_labels.nii.gz')
        ]
    ]

    for ii in link_result_files:
        util.force_hard_link(ii[0], ii[1])
Exemplo n.º 16
0
     affine_out_iras_to_wras  = stage1_output_files[0] 
     affine_out_wras_to_wlps  = stage1_output_files[1] 
     affine_out_wlps_to_wctf  = stage1_output_files[3] 

     fiducials_out_iras = stage1_output_files[2]
     fiducials_out_wlps = stage1_output_files[4]
     fiducials_out_wctf = stage1_output_files[5]

     print stage1_output_files

     if inArgs.run and (1 in inArgs.run_stage):
          
          util.print_stage("Entering Stage 1 - Creating matrices", inArgs.verbose)
               
          util.verify_inputs(stage1_input_files, inArgs.verbose)
          util.mkcd_dir( stage1_directory )
          util.link_inputs( stage1_input_files,  stage1_directory)


          #
          # Save ITK affine matrix
          #
          

          if inArgs.verbose:
               print
               print "Image affine RAS image to RAS world  matrix"
               print img_affine_matrix_ras
               print
               
          util.save_itk_affine_matrix( img_affine_matrix_ras, affine_out_iras_to_wras, inArgs.verbose )
Exemplo n.º 17
0
        tarball_filename = inArgs.tarball
    else:
        tarball_filename = id + '_fmri.tar.gz'

    if os.path.isfile(os.path.join(out_dir, tarball_filename)):
        sys.exit('fMRI tarball already exists for ' + id + '.')

    # Create Output Directory if it doesn't exist

    files = [
        os.path.abspath(os.path.join(dicom_dir, 'dcmConvertAll.cfg')),
        os.path.abspath(os.path.join(dicom_dir, 'dcmConvert_cenc.cfg')),
        os.path.abspath(os.path.join(nifti_dir, 'rest.nii.gz'))
    ]

    util.mkcd_dir(out_dir)
    util.link_inputs(files, out_dir)

    files_to_be_tarred = glob.glob('*')

    # Create TarBall

    tarball = tarfile.open(tarball_filename, 'w:gz')

    for f in files_to_be_tarred:
        tarball.add(f)

    tarball.close()

    # Clean Directory
Exemplo n.º 18
0
    participant_dir = os.path.abspath(os.path.join(inArgs.cenc_dir, id))
    reorient_dir = util.path_relative_to(participant_dir, inArgs.reorient_dir)

    wm_lesions_dir = util.path_relative_to(participant_dir, inArgs.out_dir)
    wm_lesions_input_dir = os.path.join(wm_lesions_dir, 'input')
    wm_lesions_lpa_dir = os.path.join(wm_lesions_dir, '01-lst_lpa')
    wm_lesions_lga_dir = os.path.join(wm_lesions_dir, '02-lst_lga')

    # Create Output Directory if it doesn't exist

    files = [
        os.path.abspath(os.path.join(reorient_dir, 't1w.nii.gz')),
        os.path.abspath(os.path.join(reorient_dir, 't2flair.nii.gz'))
    ]

    util.mkcd_dir(os.path.join(wm_lesions_input_dir))
    util.link_inputs(files, wm_lesions_input_dir)

    #

    util.mkcd_dir(os.path.join(wm_lesions_lpa_dir), False)

    util.mkcd_dir(os.path.join(wm_lesions_lga_dir), True)
    util.copy_inputs(files, wm_lesions_lga_dir)

    for ii in glob.glob('*.gz'):
        os.system('gunzip ' + ii)

    util.link_inputs(glob.glob('*.nii'), wm_lesions_lpa_dir)
Exemplo n.º 19
0
                                ]


     stage0_output_files  = stage0_output_files + native_to_template + template_to_native


     if os.path.exists(reference_template):
          reference_template   = util.path_relative_to( stage0_directory, 'reference_template.nii.gz'  )
          stage0_output_files  = stage0_output_files + [ reference_template ] 

     if inArgs.run and (0 in inArgs.run_stage):
          
          util.print_stage('Entering Stage 0 - Renaming input files to common working names', inArgs.verbose) 

          util.verify_inputs(stage0_input_files, inArgs.verbose)
          util.mkcd_dir( stage0_directory )

          for ii in range(0,len(stage0_input_files)):

               if os.path.exists( stage0_output_files[ii] ):
                    os.unlink( stage0_output_files[ii] )

               os.link(stage0_input_files[ii], stage0_output_files[ii] )

          util.verify_outputs(stage0_output_files, inArgs.verbose)

     #
     # Stage 1
     #

     stage1_directory     = stage_directory[1];