def rs_grouplevel(z, prefix, output_dir, work_dir): from nipype.interfaces.fsl.model import Randomise from nipype.interfaces import fsl as fsl merger = fsl.utils.Merge() merger.inputs.in_files = z merger.inputs.dimension = 't' merger.inputs.merged_file = op.join(work_dir, 'z_merge.nii.gz') merger.run() immaths = fsl.utils.ImageMaths() immaths.inputs.in_file = op.join(work_dir, 'z_merge.nii.gz') immaths.inputs.op_string = "-abs -bin -Tmin" immaths.inputs.out_file = op.join(work_dir, 'mask.nii.gz') immaths.run() masker = fsl.maths.ApplyMask() masker.inputs.in_file = op.join(work_dir, 'z_merge.nii.gz') masker.inputs.mask_file = op.join(work_dir, 'mask.nii.gz') masker.inputs.out_file = op.join(work_dir, 'z_merge.nii.gz') masker.run() meaner = fsl.utils.ImageMaths() meaner.inputs.in_file = op.join(work_dir, 'z_merge.nii.gz') meaner.inputs.op_string = "-Tmean" meaner.inputs.out_file = op.join(work_dir, 'z.nii.gz') meaner.run() shutil.copyfile(op.join(work_dir, 'z.nii.gz'), op.join(output_dir, '{prefix}_z.nii.gz'.format(prefix=prefix))) randomise = Randomise() randomise.inputs.in_file = op.join(work_dir, 'z_merge.nii.gz') randomise.inputs.mask = op.join(work_dir, 'mask.nii.gz') randomise.inputs.one_sample_group_mean = True randomise.inputs.raw_stats_imgs = True randomise.inputs.vox_p_values = True randomise.inputs.base_name = 'randomise' os.chdir(work_dir) randomise.run() thresher = fsl.utils.ImageMaths() thresher.inputs.in_file = op.join(work_dir, 'randomise_vox_corrp_tstat1.nii.gz') thresher.inputs.op_string = "-thr 0.999" thresher.inputs.out_file = op.join(work_dir, 'randomise_vox_corrp_tstat1_thr001.nii.gz') thresher.run() masker = fsl.maths.ApplyMask() masker.inputs.in_file = op.join(work_dir, 'randomise_tstat1.nii.gz') masker.inputs.mask_file = op.join(work_dir, 'randomise_vox_corrp_tstat1_thr001.nii.gz') masker.inputs.out_file = op.join(work_dir, 'randomise_tstat1_thr001.nii.gz') masker.run() #copy data to directory vox_corrp_tstat1.nii.gz shutil.copyfile(op.join(work_dir, 'randomise_tstat1.nii.gz'), op.join(output_dir, '{prefix}_tstat1.nii.gz'.format(prefix=prefix))) shutil.copyfile(op.join(work_dir, 'randomise_vox_corrp_tstat1.nii.gz'), op.join(output_dir, '{prefix}_vox_corrp.nii.gz'.format(prefix=prefix))) shutil.copyfile(op.join(work_dir, 'randomise_tstat1_thr001.nii.gz'), op.join(output_dir, '{prefix}_tstat1_thr001.nii.gz'.format(prefix=prefix))) shutil.rmtree(work_dir)