def do_bet(head, fracval, fourD, logpath, tmpdir, prov_list): bet = fsl.BET() prefile = head.split("/")[-1] prefile_wo_ext = prefile[: prefile.find(".nii")] if fourD == False: bet.inputs.in_file = head bet.inputs.out_file = tmpdir + prefile_wo_ext + version + str(fracval) + "frac_3D.nii.gz" bet.inputs.frac = fracval bet.inputs.mask = True xnatmaster.add_to_log(logpath, bet.cmdline) prov_list = xnatmaster.track_provenance( prov_list, "/import/monstrum/Applications/fsl_4.1.7/bin/bet", "v2", head + " " + tmpdir + prefile_wo_ext + version + str(fracval) + "frac_3D.nii.gz -m", ) result = bet.run() slice_bet(tmpdir, tmpdir + prefile_wo_ext + version + str(fracval) + "frac_3D.nii.gz") return tmpdir + prefile_wo_ext + version + str(fracval) + "frac_3D" else: bet.inputs.in_file = head bet.inputs.mask = True bet.inputs.out_file = tmpdir + prefile_wo_ext + version + str(fracval) + "frac_4D.nii.gz" bet.inputs.functional = True bet.inputs.frac = fracval xnatmaster.add_to_log(logpath, bet.cmdline) prov_list = xnatmaster.track_provenance( prov_list, "/import/monstrum/Applications/fsl_4.1.7/bin/bet", "v2", head + " " + tmpdir + prefile_wo_ext + version + str(fracval) + "frac_4D.nii.gz -F", ) result = bet.run() slice_bet(tmpdir, tmpdir + prefile_wo_ext + version + str(fracval) + "frac_4D.nii.gz") return tmpdir + prefile_wo_ext + version + str(fracval) + "frac_4D"
def do_bet(head, fracval, fourD, logpath, tmpdir, prov_list): bet = fsl.BET() prefile = head.split('/')[-1] prefile_wo_ext = prefile[:prefile.find(".nii")] if fourD == False: bet.inputs.in_file = head bet.inputs.out_file = tmpdir + prefile_wo_ext + version + str( fracval) + 'frac_3D.nii.gz' bet.inputs.frac = fracval bet.inputs.mask = True xnatmaster.add_to_log(logpath, bet.cmdline) prov_list = xnatmaster.track_provenance( prov_list, '/import/monstrum/Applications/fsl_4.1.7/bin/bet', 'v2', head + ' ' + tmpdir + prefile_wo_ext + version + str(fracval) + 'frac_3D.nii.gz -m') result = bet.run() slice_bet( tmpdir, tmpdir + prefile_wo_ext + version + str(fracval) + 'frac_3D.nii.gz') return tmpdir + prefile_wo_ext + version + str(fracval) + 'frac_3D' else: bet.inputs.in_file = head bet.inputs.mask = True bet.inputs.out_file = tmpdir + prefile_wo_ext + version + str( fracval) + 'frac_4D.nii.gz' bet.inputs.functional = True bet.inputs.frac = fracval xnatmaster.add_to_log(logpath, bet.cmdline) prov_list = xnatmaster.track_provenance( prov_list, '/import/monstrum/Applications/fsl_4.1.7/bin/bet', 'v2', head + ' ' + tmpdir + prefile_wo_ext + version + str(fracval) + 'frac_4D.nii.gz -F') result = bet.run() slice_bet( tmpdir, tmpdir + prefile_wo_ext + version + str(fracval) + 'frac_4D.nii.gz') return tmpdir + prefile_wo_ext + version + str(fracval) + 'frac_4D'
formname = formname.replace(" ", "_") nonzeroi = str(i).lstrip("0") nonzerosubid = str(subj_id).lstrip("0") newoutdir = ( outdir + str(nonzerosubid) + "_" + str(nonzeroi) + "/" + str(seq_id) + "_" + str(seqname) + "/bet/" ) if ( not xnatmaster.ensure_dir_exists(newoutdir) and xnatmaster.ensure_write_permissions(newoutdir) and not xnatmaster.ensure_dir_exists(newtmpdir) and xnatmaster.ensure_write_permissions(newtmpdir) ): sys.exit(1) ##New dir str end print "Form: " + str(formname) xnatmaster.add_to_log(logpath, "Processing sequence: " + seqname + ":" + str(seq_id)) global prov_list prov_list = [] betfound = 0 niftifound = 0 donewithsequence = 0 niftifound = xnatmaster.existing_nifti(i, seq_id, central) if niftifound < 1: print "Could not find nifti for this scan. Please run dicoms2nifti before this script." sys.exit(1) if findexisting == "1": xnatmaster.add_to_log(logpath, "Checking for existing BET: " + seq_id) betfound = xnatmaster.existing_bet(i, seq_id, central) if betfound > 0: if download == "1": xnatmaster.get_bet(i, seq_id, newoutdir, central, proj_name, subj_id)
formname = formname.replace("(", "_") formname = formname.replace(")", "_") formname = formname.replace(" ", "_") nonzeroi = str(i).lstrip('0') nonzerosubid = str(subj_id).lstrip('0') newoutdir = outdir + str(nonzerosubid) + '_' + str( nonzeroi) + '/' + str(seq_id) + '_' + str(seqname) + '/bet/' if not xnatmaster.ensure_dir_exists( newoutdir) and xnatmaster.ensure_write_permissions( newoutdir) and not xnatmaster.ensure_dir_exists( newtmpdir) and xnatmaster.ensure_write_permissions( newtmpdir): sys.exit(1) ##New dir str end print "Form: " + str(formname) xnatmaster.add_to_log( logpath, "Processing sequence: " + seqname + ":" + str(seq_id)) global prov_list prov_list = [] betfound = 0 niftifound = 0 donewithsequence = 0 niftifound = xnatmaster.existing_nifti(i, seq_id, central) if niftifound < 1: print "Could not find nifti for this scan. Please run dicoms2nifti before this script." sys.exit(1) if findexisting == '1': xnatmaster.add_to_log(logpath, "Checking for existing BET: " + seq_id) betfound = xnatmaster.existing_bet(i, seq_id, central) if betfound > 0: if download == '1':