Пример #1
0
def test_run_T1VolumeRegisterDartel(cmdopt):
    from os.path import dirname, join, abspath
    import shutil
    from clinica.pipelines.t1_volume_register_dartel.t1_volume_register_dartel_pipeline import T1VolumeRegisterDartel

    working_dir = cmdopt
    root = dirname(abspath(join(abspath(__file__), pardir)))
    root = join(root, 'data', 'T1VolumeExistingDartel')
    clean_folder(join(root, 'out', 'caps'), recreate=False)
    clean_folder(join(working_dir, 'T1VolumeExistingDartel'))

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

    # Instantiate and run pipeline
    parameters = {'group_id': 'UnitTest'}
    pipeline = T1VolumeRegisterDartel(bids_directory=join(root, 'in', 'bids'),
                                      caps_directory=join(root, 'out', 'caps'),
                                      tsv_file=join(root, 'in',
                                                    'subjects.tsv'),
                                      base_dir=join(working_dir,
                                                    'T1VolumeExistingDartel'),
                                      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_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, 'T1VolumeExistingDartel'), recreate=False)
def test_instantiate_T1VolumeRegisterDartel():
    from os.path import dirname, join, abspath
    from clinica.pipelines.t1_volume_register_dartel.t1_volume_register_dartel_pipeline import T1VolumeRegisterDartel

    root = dirname(abspath(join(abspath(__file__), pardir)))
    root = join(root, 'data', 'T1VolumeExistingDartel')

    parameters = {'group_label': 'UnitTest'}
    pipeline = T1VolumeRegisterDartel(bids_directory=join(root, 'in', 'bids'),
                                      caps_directory=join(root, 'in', 'caps'),
                                      tsv_file=join(root, 'in',
                                                    'subjects.tsv'),
                                      parameters=parameters)
    pipeline.build()
Пример #3
0
def test_instantiate_T1VolumeRegisterDartel(cmdopt):

    from clinica.pipelines.t1_volume_register_dartel.t1_volume_register_dartel_pipeline import (
        T1VolumeRegisterDartel, )

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

    parameters = {"group_label": "UnitTest"}
    pipeline = T1VolumeRegisterDartel(
        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_T1VolumeRegisterDartel():
    from os.path import abspath, dirname, join

    from clinica.pipelines.t1_volume_register_dartel.t1_volume_register_dartel_pipeline import (
        T1VolumeRegisterDartel, )

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

    parameters = {"group_label": "UnitTest"}
    pipeline = T1VolumeRegisterDartel(
        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_T1VolumeRegisterDartel(
    input_dir: Path, output_dir: Path, ref_dir: Path, working_dir: Path
) -> None:
    import shutil
    from os.path import abspath, dirname, join

    from clinica.pipelines.t1_volume_register_dartel.t1_volume_register_dartel_pipeline import (
        T1VolumeRegisterDartel,
    )

    # Copy necessary data from in to out
    shutil.copytree(input_dir / "caps", output_dir / "caps", copy_function=shutil.copy)

    # Instantiate and run pipeline
    parameters = {"group_label": "UnitTest"}
    pipeline = T1VolumeRegisterDartel(
        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_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)
        )
Пример #6
0
def test_run_T1VolumeRegisterDartel(cmdopt):
    import shutil
    from os.path import abspath, dirname, join

    from clinica.pipelines.t1_volume_register_dartel.t1_volume_register_dartel_pipeline import (
        T1VolumeRegisterDartel, )

    working_dir = cmdopt
    root = dirname(abspath(join(abspath(__file__), pardir, pardir)))
    root = join(root, "data", "T1VolumeExistingDartel")
    clean_folder(join(root, "out", "caps"), recreate=False)
    clean_folder(join(working_dir, "T1VolumeExistingDartel"))

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

    # Instantiate and run pipeline
    parameters = {"group_label": "UnitTest"}
    pipeline = T1VolumeRegisterDartel(
        bids_directory=join(root, "in", "bids"),
        caps_directory=join(root, "out", "caps"),
        tsv_file=join(root, "in", "subjects.tsv"),
        base_dir=join(working_dir, "T1VolumeExistingDartel"),
        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_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, "T1VolumeExistingDartel"), recreate=False)