def test_run_T1VolumeCreateDartel(cmdopt): from os.path import dirname, join, abspath import shutil from clinica.pipelines.t1_volume_create_dartel.t1_volume_create_dartel_pipeline import T1VolumeCreateDartel working_dir = cmdopt root = dirname(abspath(join(abspath(__file__), pardir))) root = join(root, 'data', 'T1VolumeCreateDartel') # Remove potential residual of previous UT clean_folder(join(working_dir, 'T1VolumeCreateDartel')) clean_folder(join(root, 'out', 'caps'), recreate=False) shutil.copytree(join(root, 'in', 'caps'), join(root, 'out', 'caps')) parameters = {'group_id': 'UnitTest'} # Instantiate pipeline pipeline = T1VolumeCreateDartel(bids_directory=join(root, 'in', 'bids'), caps_directory=join(root, 'out', 'caps'), tsv_file=join(root, 'in', 'subjects.tsv'), base_dir=join(working_dir, 'T1VolumeCreateDartel'), parameters=parameters) pipeline.build() pipeline.run(plugin='MultiProc', plugin_args={'n_procs': 4}, bypass_check=True) # Check output vs ref out_data_template = join( root, 'out/caps/groups/group-UnitTest/t1/group-UnitTest_template.nii.gz') ref_data_template = join(root, 'ref/group-UnitTest_template.nii.gz') assert likeliness_measure(out_data_template, ref_data_template, (1e-3, 0.1), (1e-2, 0.1)) subjects = [ 'sub-ADNI011S4105', 'sub-ADNI023S4020', 'sub-ADNI035S4082', 'sub-ADNI128S4832' ] out_data_forward_def = [ join( root, 'out', 'caps', 'subjects', sub, 'ses-M00', 't1', 'spm', 'dartel', 'group-UnitTest', sub + '_ses-M00_T1w_target-UnitTest_transformation-forward_deformation.nii.gz' ) for sub in subjects ] ref_data_forward_def = [ join( root, 'ref', sub + '_ses-M00_T1w_target-UnitTest_transformation-forward_deformation.nii.gz' ) for sub in subjects ] for i in range(len(out_data_forward_def)): assert likeliness_measure(out_data_forward_def[i], ref_data_forward_def[i], (1e-3, 0.25), (1e-2, 0.1)) # Remove data in out folder clean_folder(join(root, 'out', 'caps'), recreate=False)
def run_command(self, args): """ """ from tempfile import mkdtemp from clinica.utils.stream import cprint from clinica.pipelines.t1_volume_create_dartel.t1_volume_create_dartel_pipeline import T1VolumeCreateDartel pipeline = T1VolumeCreateDartel(bids_directory=self.absolute_path(args.bids_directory), caps_directory=self.absolute_path(args.caps_directory), tsv_file=self.absolute_path(args.subjects_sessions_tsv), group_id=args.group_id) pipeline.parameters.update({'dartel_tissues': args.dartel_tissues}) if args.working_directory is None: args.working_directory = mkdtemp() pipeline.base_dir = self.absolute_path(args.working_directory) if args.n_procs: pipeline.run(plugin='MultiProc', plugin_args={'n_procs': args.n_procs}) else: pipeline.run() cprint("The " + self._name + " pipeline has completed. You can now delete the working directory (" + args.working_directory + ").")
def test_instantiate_T1VolumeCreateDartel(): from clinica.pipelines.t1_volume_create_dartel.t1_volume_create_dartel_pipeline import T1VolumeCreateDartel from os.path import dirname, join, abspath root = dirname(abspath(join(abspath(__file__), pardir))) root = join(root, 'data', 'T1VolumeCreateDartel') pipeline = T1VolumeCreateDartel(bids_directory=join(root, 'in', 'bids'), caps_directory=join(root, 'in', 'caps'), tsv_file=join(root, 'in', 'subjects.tsv'), group_id='UnitTest') pipeline.build()
def test_instantiate_T1VolumeCreateDartel(cmdopt): from clinica.pipelines.t1_volume_create_dartel.t1_volume_create_dartel_pipeline import ( T1VolumeCreateDartel, ) input_dir = Path(cmdopt["input"]) root = input_dir / "T1VolumeCreateDartel" parameters = {"group_label": "UnitTest"} pipeline = T1VolumeCreateDartel( bids_directory=fspath(root / "in" / "bids"), caps_directory=fspath(root / "in" / "caps"), tsv_file=fspath(root / "in" / "subjects.tsv"), parameters=parameters, ) pipeline.build()
def test_instantiate_T1VolumeCreateDartel(): from os.path import abspath, dirname, join from clinica.pipelines.t1_volume_create_dartel.t1_volume_create_dartel_pipeline import ( T1VolumeCreateDartel, ) root = dirname(abspath(join(abspath(__file__), pardir))) root = join(root, "data", "T1VolumeCreateDartel") parameters = {"group_label": "UnitTest"} pipeline = T1VolumeCreateDartel( bids_directory=join(root, "in", "bids"), caps_directory=join(root, "in", "caps"), tsv_file=join(root, "in", "subjects.tsv"), parameters=parameters, ) pipeline.build()
def run_T1VolumeCreateDartel( input_dir: Path, output_dir: Path, ref_dir: Path, working_dir: Path ) -> None: import shutil from clinica.pipelines.t1_volume_create_dartel.t1_volume_create_dartel_pipeline import ( T1VolumeCreateDartel, ) # Copy necessary data from in to out shutil.copytree(input_dir / "caps", output_dir / "caps", copy_function=shutil.copy) parameters = {"group_label": "UnitTest"} # Instantiate pipeline pipeline = T1VolumeCreateDartel( bids_directory=fspath(input_dir / "bids"), caps_directory=fspath(output_dir / "caps"), tsv_file=fspath(input_dir / "subjects.tsv"), base_dir=fspath(working_dir), parameters=parameters, ) pipeline.build() pipeline.run(plugin="MultiProc", plugin_args={"n_procs": 4}, bypass_check=True) # Check output vs ref out_data_template = fspath( output_dir / "caps/groups/group-UnitTest/t1/group-UnitTest_template.nii.gz" ) ref_data_template = fspath(ref_dir / "group-UnitTest_template.nii.gz") assert likeliness_measure( out_data_template, ref_data_template, (1e-3, 0.1), (1e-2, 0.1) ) subjects = [ "sub-ADNI011S4105", "sub-ADNI023S4020", "sub-ADNI035S4082", "sub-ADNI128S4832", ] out_data_forward_def = [ fspath( output_dir / "caps" / "subjects" / sub / "ses-M00" / "t1" / "spm" / "dartel" / "group-UnitTest" / ( sub + "_ses-M00_T1w_target-UnitTest_transformation-forward_deformation.nii.gz" ) ) for sub in subjects ] ref_data_forward_def = [ fspath( ref_dir / ( sub + "_ses-M00_T1w_target-UnitTest_transformation-forward_deformation.nii.gz" ) ) for sub in subjects ] for i in range(len(out_data_forward_def)): assert likeliness_measure( out_data_forward_def[i], ref_data_forward_def[i], (1e-3, 0.25), (1e-2, 0.1) )
def test_run_T1VolumeCreateDartel(cmdopt): import shutil from os.path import abspath, dirname, join from clinica.pipelines.t1_volume_create_dartel.t1_volume_create_dartel_pipeline import ( T1VolumeCreateDartel, ) working_dir = cmdopt root = dirname(abspath(join(abspath(__file__), pardir, pardir))) root = join(root, "data", "T1VolumeCreateDartel") # Remove potential residual of previous UT clean_folder(join(working_dir, "T1VolumeCreateDartel")) clean_folder(join(root, "out", "caps"), recreate=False) shutil.copytree(join(root, "in", "caps"), join(root, "out", "caps")) parameters = {"group_label": "UnitTest"} # Instantiate pipeline pipeline = T1VolumeCreateDartel( bids_directory=join(root, "in", "bids"), caps_directory=join(root, "out", "caps"), tsv_file=join(root, "in", "subjects.tsv"), base_dir=join(working_dir, "T1VolumeCreateDartel"), parameters=parameters, ) pipeline.build() pipeline.run(plugin="MultiProc", plugin_args={"n_procs": 4}, bypass_check=True) # Check output vs ref out_data_template = join( root, "out/caps/groups/group-UnitTest/t1/group-UnitTest_template.nii.gz") ref_data_template = join(root, "ref/group-UnitTest_template.nii.gz") assert likeliness_measure(out_data_template, ref_data_template, (1e-3, 0.1), (1e-2, 0.1)) subjects = [ "sub-ADNI011S4105", "sub-ADNI023S4020", "sub-ADNI035S4082", "sub-ADNI128S4832", ] out_data_forward_def = [ join( root, "out", "caps", "subjects", sub, "ses-M00", "t1", "spm", "dartel", "group-UnitTest", sub + "_ses-M00_T1w_target-UnitTest_transformation-forward_deformation.nii.gz", ) for sub in subjects ] ref_data_forward_def = [ join( root, "ref", sub + "_ses-M00_T1w_target-UnitTest_transformation-forward_deformation.nii.gz", ) for sub in subjects ] for i in range(len(out_data_forward_def)): assert likeliness_measure(out_data_forward_def[i], ref_data_forward_def[i], (1e-3, 0.25), (1e-2, 0.1)) # Remove data in out folder clean_folder(join(root, "out", "caps"), recreate=False) clean_folder(join(working_dir, "T1VolumeCreateDartel"), recreate=False)