def label_fusion(target_path, atlas_img_path_list, atlas_lab_path_list, out_file, probabilities, params_list): out_dir = os.path.dirname(out_file) out_name = os.path.basename(out_file).split(os.extsep, 1)[0] if params_list[0] == 'Joint': jointfusion_path = os.path.join(os.environ['ANTSPATH'], 'jointfusion') prob_dir = os.path.join(out_dir, out_name) prob_path = os.path.join(prob_dir, 'prob%d.nii.gz') cmdline = [jointfusion_path, '3', '1'] cmdline += ['-g'] + atlas_img_path_list cmdline += ['-tg', target_path] cmdline += ['-l'] + atlas_lab_path_list cmdline += ['-m', 'Joint'] cmdline += [item for sublist in zip(['-rp', '-rs'], params_list[1:]) for item in sublist] if probabilities: os.makedirs(prob_dir) cmdline += ['-p', prob_path] cmdline += [out_file] else: python_path = os.path.join(os.environ['HOME'], 'anaconda', 'envs', 'sitkpy', 'bin', 'python') mod_path = os.path.join(os.environ['HOME'], 'CODE', 'mod_py') nlwv_path = os.path.join(mod_path, 'pblf_py.py') cmdline = [python_path, '-u', nlwv_path] cmdline += ['--atlas_img_list'] + atlas_img_path_list cmdline += ['--target_img', target_path] cmdline += ['--atlas_lab_list'] + atlas_lab_path_list cmdline += ['--method'] + params_list[:2] cmdline += [item for sublist in zip(['--patch_radius', '--search_radius', '--fusion_radius', '--struct_sim', '--normalization',], params_list[2:]) for item in sublist] if probabilities: cmdline += ['--probabilities'] cmdline += ['--out_file', out_file] # launch qsub_launcher = Launcher(' '.join(cmdline)) qsub_launcher.name = "{}_joint".format(out_name) qsub_launcher.folder = out_dir # qsub_launcher.queue = 'short.q' qsub_launcher.queue = 'default.q' return qsub_launcher.run()
'--metric', 'MeanSquares[{},{},{}]'.format(args.use_labels[2], lab_path, w_lab) ]) cmdline.extend( ['--convergence', '[{},1e-9,15]'.format('x'.join(its_syn))]) cmdline.extend(['--smoothing-sigmas', smooth_sig]) cmdline.extend(['--shrink-factors', shrink_fac]) # # mask if args.template_mask is not None: cmdline.extend(['--masks', args.template_mask[0]]) # # launch print "Launching registration of file {}".format(img_file) name_list.append(img_file.split(os.extsep, 1)[0]) launcher.add(name_list[-1], ' '.join(cmdline), args.out_dir[0]) launcher.run(name_list[-1]) print "Waiting for registration jobs to finish..." launcher.wait() print "Registration finished."
for i_img in range(Nimg): est_path = os.path.join(args.est_dir[0], est_files[i_img]) gtr_path = os.path.join(args.gtr_dir[0], gtr_files[i_img]) out_path = os.path.join(tmp_dir, est_names[i_img]) out_paths.append(out_path) cmdline = "%s 3 %s DiceAndMinDistSum %s %s" % (imagemath_path, out_path, est_path, gtr_path) qsub_launcher = Launcher(cmdline) print("Launching Dice evaluation job for labels %s" % est_names[i_img]) launcher.add(est_names[i_img], cmdline, tmp_dir) launcher.run(est_names[i_img]) print "Waiting for Dice evaluation jobs to finish..." launcher.wait() print "Dice evaluation finished." subj_dices = dict([]) label_dices = dict([]) for i, out_path in enumerate(out_paths): # Read per-label Dice check_file_repeat(out_path + '.csv') f = open(out_path + '.csv', 'r')
args.reg_dir[0], file_name + args.in_deform_intfix[0] + '1InverseWarp.nii.gz') ] cmdline += [ '--output', os.path.join(args.out_dir[0], file.split('.nii.gz')[0] + args.out_suffix[0]) ] # # launch print "Launching warping of file {}".format(file) qsub_launcher = Launcher(' '.join(cmdline)) qsub_launcher.name = file.split('.nii.gz')[0] qsub_launcher.folder = args.out_dir[0] qsub_launcher.queue = 'short.q' job_id = qsub_launcher.run() if is_hpc: wait_jobs += [job_id] # Wait for the jobs to finish (in cluster) if is_hpc: print "Waiting for warping jobs to finish..." call(wait_jobs) print "Warping finished."
args.target_deform_intfix[0] + '1Warp.nii.gz') ] cmdline += [ '--transform', os.path.join( args.target_reg_dir[0], target_name + args.target_linear_intfix[0] + '0GenericAffine.mat') ] cmdline += [ '--output', os.path.join( args.out_dir[0], atlas_file.split(os.extsep, 1)[0] + args.out_suffix[0]) ] # # launch job_name = atlas_file.split(os.extsep, 1)[0] print "Launching warping of file {}".format(job_name) launcher.add(job_name, ' '.join(cmdline), args.out_dir[0]) launcher.run(job_name) # Wait for the jobs to finish (in cluster) print "Waiting for warping jobs to finish..." launcher.wait() print "Warping finished."