floIm = os.path.join(itDir, 'T1MD.nii.gz') resIm = os.path.join(itDir, 'T1_MD_Regged.nii.gz') affIn = os.path.join(topDir, 'aff.txt') cppName = os.path.join(itDir, 'trans.cpp.nii') segResName = os.path.join(nextDir, 'Segs_diffspace.nii.gz') maskOutName = os.path.join(nextDir, 'T1_Brain_mask.nii.gz') if os.path.isdir(itDir) and not os.path.isdir(nextDir) and os.path.isfile( floIm): os.mkdir(nextDir) if not os.path.isfile(resIm) and os.path.isfile(floIm): other_args = '-rmask ' + rMask DPD.NR_reg(refIm, floIm, cppName, resIm, dbg=False, other_args=other_args) ## This is for when we don't want to keep resampling the matrix T1segName = os.path.join(itDir, 'T1_Segmentation.nii.gz') T1tmpName = os.path.join(itDir, 'T1_Segmentation_Regged.nii.gz') T1MaskName = os.path.join(itDir, 'T1_Brain_mask.nii.gz') MaskTempName = os.path.join(itDir, 'T1_Brain_Mask_Regged.nii.gz') NextT1SegName = os.path.join(nextDir, 'T1_Segmentation.nii.gz') if (not os.path.isfile(segResName)) and os.path.isfile(cppName): DPD.reg_resample(refIm, T1segName,
if len(sysArgs) < 2: print 'Please include the top directory. Exiting' exit() else: return sysArgs[1] topDir = get_direc_name(sys.argv) for dirName in get_immediate_subdirectories(topDir): if 'Readings' in dirName: readDir = os.path.join(topDir, dirName) for sampling in get_immediate_subdirectories(readDir): sampleDir = os.path.join(readDir, sampling) for it in get_immediate_subdirectories(sampleDir): itDir = os.path.join(sampleDir, it) dtOut = os.path.join(itDir, 'DT') if not os.path.isdir(dtOut): os.makedirs(dtOut) DWname, MaskName, bvalName, bvecName = standard_dti_names( itDir) if not os.path.isfile(dtOut + '/DT_MD.nii.gz'): DPD.fit_diffusion_tensor(DWname, bvecName, bvalName, MaskName, dtOut + '/DT', wls=True, dbg=False)
diffSegName,segOutName,DWoutName, maskName = get_seg_name(sys.argv) #true or false dtiCode = do_i_dtifit(sys.argv) gsDir = os.path.join(topDir,'GoldStand') bvalName = os.path.join(gsDir,'bvals') bvecName = os.path.join(gsDir,'bvecs') for i in range(1,13): resampDir = os.path.join(gsDir,'downSampled_'+str(i)) refName = os.path.join(resampDir,maskName) outName = os.path.join(resampDir,segOutName) floName = os.path.join(gsDir,diffSegName) if not os.path.isfile(outName): DPD.reg_resample(refName,floName,outName,other_args = '-psf') outName = os.path.join(resampDir,DWoutName) floName = os.path.join(gsDir,'DW.nii.gz') if not os.path.isfile(outName): DPD.reg_resample(refName,floName,outName,other_args = '-psf') shutil.copyfile(bvalName,os.path.join(resampDir,'bvals')) shutil.copyfile(bvecName,os.path.join(resampDir,'bvecs')) if not dtiCode == '0': dtOut = os.path.join(resampDir,'DT') if not os.path.isdir(dtOut): os.makedirs(dtOut) if not os.path.isfile(dtOut+'/DT_MD.nii.gz'): DPD.fit_diffusion_tensor(outName,bvecName,bvalName,refName,dtOut+'/DT',wls=True,dbg=False)
if os.path.isdir(itDir) and not os.path.isdir(nextDir) and os.path.isfile(floIm): os.mkdir(nextDir) if not os.path.isfile(resIm) and os.path.isfile(floIm): other_args = '-rmask ' + rMask DPD.NR_reg(refIm,floIm,cppName,resIm,dbg=False,other_args = other_args) ## This is for when we don't want to keep resampling the matrix T1segName = os.path.join(itDir,'T1_Segmentation.nii.gz') T1tmpName = os.path.join(itDir,'T1_Segmentation_Regged.nii.gz') T1MaskName = os.path.join(itDir,'T1_Brain_mask.nii.gz') MaskTempName = os.path.join(itDir,'T1_Brain_Mask_Regged.nii.gz') NextT1SegName = os.path.join(nextDir,'T1_Segmentation.nii.gz') if (not os.path.isfile(segResName)) and os.path.isfile(cppName): DPD.reg_resample(refIm,T1segName,T1tmpName,cpp = cppName,dbg = False,other_args = '-inter 3') DPD.reg_resample(MDdiff,T1tmpName,segResName,cpp = aff_from_T1_to_diff,dbg = False,other_args = '-inter 3 -psf') DPD.reg_resample(refIm,T1MaskName,MaskTempName,cpp = cppName,dbg = False,other_args = '-NN') DPD.reg_resample(MDdiff,MaskTempName,maskOutName,cpp = aff_from_T1_to_diff,dbg = False,other_args = '-NN') shutil.copyfile(T1tmpName,NextT1SegName) oldName = os.path.join(itDir,'reg_results.txt') newName = os.path.join(nextDir,'init_params.txt') if not os.path.isfile(newName) and os.path.isfile(oldName): shutil.copyfile(oldName,newName)
cppName = os.path.join(itDir, 'trans.cpp.nii') segResName = os.path.join(nextDir, 'Segs_Diffspace.nii.gz') oldCpp = os.path.join(prevDir, 'trans.cpp.nii') if os.path.isdir(itDir) and not os.path.isdir(nextDir) and os.path.isfile( floIm): os.mkdir(nextDir) if not os.path.isfile(resIm) and os.path.isfile(floIm): # if os.path.isfile(oldCpp): # other_args = ' -incpp '+oldCpp + ' -rmask ' + rMask # else: other_args = '-rmask ' + rMask DPD.NR_reg(refIm, floIm, cppName, resIm, dbg=False, other_args=other_args) segName = os.path.join(itDir, 'Segs_Diffspace.nii.gz') if not os.path.isfile(segResName) and os.path.isfile(cppName): DPD.reg_resample(segName, segName, segResName, cpp=cppName, dbg=False, other_args='-inter 4') oldName = os.path.join(itDir, 'reg_results.txt') newName = os.path.join(nextDir, 'init_params.txt') if not os.path.isfile(newName) and os.path.isfile(oldName):
bvalName = os.path.join(dwDIR,'bvals') bvecName = os.path.join(dwDIR,'bvecs') return DWname,MaskName,bvalName,bvecName def get_direc_name(sysArgs): if len(sysArgs) < 2: print 'Please include the top directory. Exiting' exit() else: return sysArgs[1] topDir = get_direc_name(sys.argv) for dirName in get_immediate_subdirectories(topDir): if 'Readings' in dirName: readDir = os.path.join(topDir,dirName) for sampling in get_immediate_subdirectories(readDir): sampleDir = os.path.join(readDir,sampling) for it in get_immediate_subdirectories(sampleDir): itDir = os.path.join(sampleDir,it) dtOut = os.path.join(itDir,'DT') if not os.path.isdir(dtOut): os.makedirs(dtOut) DWname,MaskName,bvalName,bvecName = standard_dti_names(itDir) if not os.path.isfile(dtOut+'/DT_MD.nii.gz'): DPD.fit_diffusion_tensor(DWname,bvecName,bvalName,MaskName,dtOut+'/DT',wls=True,dbg=False)
diffSegName, segOutName, DWoutName, maskName = get_seg_name(sys.argv) #true or false dtiCode = do_i_dtifit(sys.argv) gsDir = os.path.join(topDir, 'GoldStand') bvalName = os.path.join(gsDir, 'bvals') bvecName = os.path.join(gsDir, 'bvecs') for i in range(1, 13): resampDir = os.path.join(gsDir, 'downSampled_' + str(i)) refName = os.path.join(resampDir, maskName) outName = os.path.join(resampDir, segOutName) floName = os.path.join(gsDir, diffSegName) if not os.path.isfile(outName): DPD.reg_resample(refName, floName, outName, other_args='-psf') outName = os.path.join(resampDir, DWoutName) floName = os.path.join(gsDir, 'DW.nii.gz') if not os.path.isfile(outName): DPD.reg_resample(refName, floName, outName, other_args='-psf') shutil.copyfile(bvalName, os.path.join(resampDir, 'bvals')) shutil.copyfile(bvecName, os.path.join(resampDir, 'bvecs')) if not dtiCode == '0': dtOut = os.path.join(resampDir, 'DT') if not os.path.isdir(dtOut): os.makedirs(dtOut) if not os.path.isfile(dtOut + '/DT_MD.nii.gz'): DPD.fit_diffusion_tensor(outName,
for i in range(50): # NAMING itDir = os.path.join(topDir, dirBase + str(i)) nextDir = os.path.join(topDir, dirBase + str(i + 1)) prevDir = os.path.join(topDir, dirBase + str(i - 1)) floIm = os.path.join(itDir, "DWsynth.nii.gz") resIm = os.path.join(itDir, "DWregged.nii.gz") cppName = os.path.join(itDir, "trans.cpp.nii") segResName = os.path.join(nextDir, "Segs_Diffspace.nii.gz") oldCpp = os.path.join(prevDir, "trans.cpp.nii") if os.path.isdir(itDir) and not os.path.isdir(nextDir) and os.path.isfile(floIm): os.mkdir(nextDir) if not os.path.isfile(resIm) and os.path.isfile(floIm): # if os.path.isfile(oldCpp): # other_args = ' -incpp '+oldCpp + ' -rmask ' + rMask # else: other_args = "-rmask " + rMask DPD.NR_reg(refIm, floIm, cppName, resIm, dbg=False, other_args=other_args) segName = os.path.join(itDir, "Segs_Diffspace.nii.gz") if not os.path.isfile(segResName) and os.path.isfile(cppName): DPD.reg_resample(segName, segName, segResName, cpp=cppName, dbg=False, other_args="-inter 4") oldName = os.path.join(itDir, "reg_results.txt") newName = os.path.join(nextDir, "init_params.txt") if not os.path.isfile(newName) and os.path.isfile(oldName): shutil.copyfile(oldName, newName)