From 04c797c8c0994fe42e8d778e126488fedb146b3f Mon Sep 17 00:00:00 2001 From: Alexandre D'Astous Date: Mon, 9 Nov 2020 20:21:07 -0500 Subject: [PATCH] Initial set up for CLI and test --- shimmingtoolbox/cli/prepare_fieldmap.py | 19 ++++++++++++++++ test/cli/test_prepare_fieldmap.py | 29 +++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 shimmingtoolbox/cli/prepare_fieldmap.py create mode 100644 test/cli/test_prepare_fieldmap.py diff --git a/shimmingtoolbox/cli/prepare_fieldmap.py b/shimmingtoolbox/cli/prepare_fieldmap.py new file mode 100644 index 000000000..1afecc036 --- /dev/null +++ b/shimmingtoolbox/cli/prepare_fieldmap.py @@ -0,0 +1,19 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -* + +import click +import os + +CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) + + +@click.command( + context_settings=CONTEXT_SETTINGS, +) +@click.option('-phase', 'fname_phase', type=click.Path(), required=True, help="Input path of phase nifti file") +@click.option('-mag', 'fname_mag', type=click.Path(), required=True, help="Input path of mag nifti file") +@click.option('-output', 'path_output', type=click.Path(), default=os.curdir, help="Output path for the fieldmap") +def prepare_fieldmap_cli(fname_phase, fname_mag, path_output): + """Creates fieldmap from phase and magnitute images""" + + pass diff --git a/test/cli/test_prepare_fieldmap.py b/test/cli/test_prepare_fieldmap.py new file mode 100644 index 000000000..cb4402a4c --- /dev/null +++ b/test/cli/test_prepare_fieldmap.py @@ -0,0 +1,29 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -* + +from click.testing import CliRunner +import os +import pathlib +import tempfile + +from shimmingtoolbox.cli.prepare_fieldmap import prepare_fieldmap_cli +from shimmingtoolbox import __dir_testing__ + + +def test_cli_prepare_fieldmap(): + with tempfile.TemporaryDirectory(prefix='st_' + pathlib.Path(__file__).stem) as tmp: + runner = CliRunner() + + # TODO: use phase 1 and phase 2 from sub_fieldmap + fname_phasediff = os.path.join(__dir_testing__, 'realtime_zshimming_data', 'nifti', 'sub-example', 'fmap', + 'sub-example_phasediff.nii.gz') + fname_mag = os.path.join(__dir_testing__, 'realtime_zshimming_data', 'nifti', 'sub-example', 'fmap', + 'sub-example_magnitude1.nii.gz') + # fname_phase1 = os.path.join(__dir_testing__, 'sub-fieldmap', 'fmap', 'sub-fieldmap_phase1.nii.gz') + # fname_phase2 = os.path.join(__dir_testing__, 'sub-fieldmap', 'fmap', 'sub-fieldmap_phase2.nii.gz') + # fname_mag = os.path.join(__dir_testing__, 'sub-fieldmap', 'fmap', 'sub-fieldmap_magnitude1.nii.gz') + + result = runner.invoke(prepare_fieldmap_cli, ['-phase', fname_phasediff, '-mag', fname_mag, + '-output', tmp]) + + assert result.exit_code == 0