Пример #1
0
def test_run_T1VolumeDartel2MNI(cmdopt):
    from os.path import dirname, join, abspath
    import shutil
    from clinica.pipelines.t1_volume_dartel2mni.t1_volume_dartel2mni_pipeline import T1VolumeDartel2MNI

    working_dir = cmdopt
    root = dirname(abspath(join(abspath(__file__), pardir)))
    root = join(root, 'data', 'T1VolumeDartel2MNI')

    # Remove potential residual of previous UT
    clean_folder(join(root, 'out', 'caps'), recreate=False)
    clean_folder(join(working_dir, 'T1VolumeDartel2MNI'))

    # Copy necessary data from in to out
    shutil.copytree(join(root, 'in', 'caps'), join(root, 'out', 'caps'))

    parameters = {'group_id': 'UnitTest'}
    # Instantiate pipeline and run()
    pipeline = T1VolumeDartel2MNI(bids_directory=join(root, 'in', 'bids'),
                                  caps_directory=join(root, 'out', 'caps'),
                                  tsv_file=join(root, 'in', 'subjects.tsv'),
                                  base_dir=join(working_dir,
                                                'T1VolumeDartel2MNI'),
                                  parameters=parameters)
    pipeline.build()
    pipeline.run(plugin='MultiProc',
                 plugin_args={'n_procs': 4},
                 bypass_check=True)

    # Check output vs ref
    subjects = [
        'sub-ADNI011S4105', 'sub-ADNI023S4020', 'sub-ADNI035S4082',
        'sub-ADNI128S4832'
    ]
    out_data_GM_MNI = [
        join(
            root, 'out', 'caps', 'subjects', sub, 'ses-M00', 't1', 'spm',
            'dartel', 'group-UnitTest', sub +
            '_ses-M00_T1w_segm-graymatter_space-Ixi549Space_modulated-on_fwhm-8mm_probability.nii.gz'
        ) for sub in subjects
    ]
    ref_data_GM_MNI = [
        join(
            root, 'ref', sub +
            '_ses-M00_T1w_segm-graymatter_space-Ixi549Space_modulated-on_fwhm-8mm_probability.nii.gz'
        ) for sub in subjects
    ]
    for i in range(len(out_data_GM_MNI)):
        assert likeliness_measure(out_data_GM_MNI[i], ref_data_GM_MNI[i],
                                  (1e-4, 0.15), (1, 0.02))

    # Remove data in out folder
    clean_folder(join(root, 'out', 'caps'), recreate=False)
    clean_folder(join(working_dir, 'T1VolumeDartel2MNI'), recreate=False)
def test_instantiate_T1VolumeDartel2MNI():
    from clinica.pipelines.t1_volume_dartel2mni.t1_volume_dartel2mni_pipeline import T1VolumeDartel2MNI
    from os.path import dirname, join, abspath

    root = dirname(abspath(join(abspath(__file__), pardir)))
    root = join(root, 'data', 'T1VolumeDartel2MNI')
    pipeline = T1VolumeDartel2MNI(bids_directory=join(root, 'in', 'bids'),
                                  caps_directory=join(root, 'in', 'caps'),
                                  tsv_file=join(root, 'in', 'subjects.tsv'),
                                  group_id='UnitTest')
    pipeline.build()
Пример #3
0
def test_instantiate_T1VolumeDartel2MNI(cmdopt):

    from clinica.pipelines.t1_volume_dartel2mni.t1_volume_dartel2mni_pipeline import (
        T1VolumeDartel2MNI, )

    input_dir = Path(cmdopt["input"])
    root = input_dir / "T1VolumeDartel2MNI"

    parameters = {"group_label": "UnitTest"}
    pipeline = T1VolumeDartel2MNI(
        bids_directory=fspath(root / "in" / "bids"),
        caps_directory=fspath(root / "in" / "caps"),
        tsv_file=fspath(root / "in" / "subjects.tsv"),
        parameters=parameters,
    )
    pipeline.build()
Пример #4
0
def test_instantiate_T1VolumeDartel2MNI():
    from os.path import abspath, dirname, join

    from clinica.pipelines.t1_volume_dartel2mni.t1_volume_dartel2mni_pipeline import (
        T1VolumeDartel2MNI, )

    root = dirname(abspath(join(abspath(__file__), pardir)))
    root = join(root, "data", "T1VolumeDartel2MNI")

    parameters = {"group_label": "UnitTest"}
    pipeline = T1VolumeDartel2MNI(
        bids_directory=join(root, "in", "bids"),
        caps_directory=join(root, "in", "caps"),
        tsv_file=join(root, "in", "subjects.tsv"),
        parameters=parameters,
    )
    pipeline.build()
Пример #5
0
    def run_command(self, args):
        """
        """
        from tempfile import mkdtemp
        from clinica.utils.stream import cprint
        from clinica.pipelines.t1_volume_dartel2mni.t1_volume_dartel2mni_pipeline import T1VolumeDartel2MNI

        pipeline = T1VolumeDartel2MNI(
            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({
            'tissues':
            args.tissues,
            # 'bounding_box': None,
            'voxel_size':
            tuple(args.voxel_size) if args.voxel_size is not None else None,
            'modulation':
            args.modulate,
            'fwhm':
            args.smooth,
            'atlas_list':
            args.atlases
        })

        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 + ").")
Пример #6
0
def run_T1VolumeDartel2MNI(
    input_dir: Path, output_dir: Path, ref_dir: Path, working_dir: Path
) -> None:
    import shutil

    from clinica.pipelines.t1_volume_dartel2mni.t1_volume_dartel2mni_pipeline import (
        T1VolumeDartel2MNI,
    )

    # 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 and run()
    pipeline = T1VolumeDartel2MNI(
        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
    subjects = [
        "sub-ADNI011S4105",
        "sub-ADNI023S4020",
        "sub-ADNI035S4082",
        "sub-ADNI128S4832",
    ]
    out_data_GM_MNI = [
        fspath(
            output_dir
            / "caps"
            / "subjects"
            / sub
            / "ses-M00"
            / "t1"
            / "spm"
            / "dartel"
            / "group-UnitTest"
            / (
                sub
                + "_ses-M00_T1w_segm-graymatter_space-Ixi549Space_modulated-on_fwhm-8mm_probability.nii.gz"
            )
        )
        for sub in subjects
    ]
    ref_data_GM_MNI = [
        fspath(
            ref_dir
            / (
                sub
                + "_ses-M00_T1w_segm-graymatter_space-Ixi549Space_modulated-on_fwhm-8mm_probability.nii.gz"
            )
        )
        for sub in subjects
    ]
    for i in range(len(out_data_GM_MNI)):
        assert likeliness_measure(
            out_data_GM_MNI[i], ref_data_GM_MNI[i], (1e-4, 0.15), (1, 0.02)
        )
Пример #7
0
def test_run_T1VolumeDartel2MNI(cmdopt):
    import shutil
    from os.path import abspath, dirname, join

    from clinica.pipelines.t1_volume_dartel2mni.t1_volume_dartel2mni_pipeline import (
        T1VolumeDartel2MNI, )

    working_dir = cmdopt
    root = dirname(abspath(join(abspath(__file__), pardir, pardir)))
    root = join(root, "data", "T1VolumeDartel2MNI")

    # Remove potential residual of previous UT
    clean_folder(join(root, "out", "caps"), recreate=False)
    clean_folder(join(working_dir, "T1VolumeDartel2MNI"))

    # Copy necessary data from in to out
    shutil.copytree(join(root, "in", "caps"), join(root, "out", "caps"))

    parameters = {"group_label": "UnitTest"}
    # Instantiate pipeline and run()
    pipeline = T1VolumeDartel2MNI(
        bids_directory=join(root, "in", "bids"),
        caps_directory=join(root, "out", "caps"),
        tsv_file=join(root, "in", "subjects.tsv"),
        base_dir=join(working_dir, "T1VolumeDartel2MNI"),
        parameters=parameters,
    )
    pipeline.build()
    pipeline.run(plugin="MultiProc",
                 plugin_args={"n_procs": 4},
                 bypass_check=True)

    # Check output vs ref
    subjects = [
        "sub-ADNI011S4105",
        "sub-ADNI023S4020",
        "sub-ADNI035S4082",
        "sub-ADNI128S4832",
    ]
    out_data_GM_MNI = [
        join(
            root,
            "out",
            "caps",
            "subjects",
            sub,
            "ses-M00",
            "t1",
            "spm",
            "dartel",
            "group-UnitTest",
            sub +
            "_ses-M00_T1w_segm-graymatter_space-Ixi549Space_modulated-on_fwhm-8mm_probability.nii.gz",
        ) for sub in subjects
    ]
    ref_data_GM_MNI = [
        join(
            root,
            "ref",
            sub +
            "_ses-M00_T1w_segm-graymatter_space-Ixi549Space_modulated-on_fwhm-8mm_probability.nii.gz",
        ) for sub in subjects
    ]
    for i in range(len(out_data_GM_MNI)):
        assert likeliness_measure(out_data_GM_MNI[i], ref_data_GM_MNI[i],
                                  (1e-4, 0.15), (1, 0.02))

    # Remove data in out folder
    clean_folder(join(root, "out", "caps"), recreate=False)
    clean_folder(join(working_dir, "T1VolumeDartel2MNI"), recreate=False)