def test_basic_t2smap4(self): """ A very simple test, to confirm that t2smap creates output files when combmode is set to 'paid' and fitmode is set to 'ts'. """ data_dir = get_test_data_path() data = [op.join(data_dir, 'echo1.nii.gz'), op.join(data_dir, 'echo2.nii.gz'), op.join(data_dir, 'echo3.nii.gz')] out_dir = 'TED.echo1.t2smap' workflows.t2smap_workflow(data, [14.5, 38.5, 62.5], combmode='paid', fitmode='ts', out_dir=out_dir) # Check outputs assert op.isfile(op.join(out_dir, 'desc-optcom_bold.nii.gz')) img = nib.load(op.join(out_dir, 'T2starmap.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 'S0map.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 'desc-full_T2starmap.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 'desc-full_S0map.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 'desc-optcom_bold.nii.gz')) assert len(img.shape) == 4
def test_basic_t2smap4(self): """ A very simple test, to confirm that t2smap creates output files when combmode is set to 'paid' and fitmode is set to 'ts'. Not sure why this fails. """ data_dir = get_test_data_path() data = [op.join(data_dir, 'echo1.nii.gz'), op.join(data_dir, 'echo2.nii.gz'), op.join(data_dir, 'echo3.nii.gz')] workflows.t2smap_workflow(data, [14.5, 38.5, 62.5], combmode='paid', fitmode='ts', label='t2smap') out_dir = 'TED.echo1.t2smap' # Check outputs assert op.isfile(op.join(out_dir, 'ts_OC.nii.gz')) img = nib.load(op.join(out_dir, 't2sv.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 's0v.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 't2svG.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 's0vG.nii.gz')) assert len(img.shape) == 4 img = nib.load(op.join(out_dir, 'ts_OC.nii.gz')) assert len(img.shape) == 4
def test_t2smap_cli(self): """ Run test_basic_t2smap1, but use the CLI method. """ data_dir = get_test_data_path() data = [op.join(data_dir, 'echo1.nii.gz'), op.join(data_dir, 'echo2.nii.gz'), op.join(data_dir, 'echo3.nii.gz')] out_dir = 'TED.echo1.t2smap' args = (['-d'] + data + ['-e', '14.5', '38.5', '62.5', '--combmode', 't2s', '--fitmode', 'all', '--out-dir', out_dir]) workflows.t2smap._main(args) # Check outputs img = nib.load(op.join(out_dir, 'T2starmap.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 'S0map.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 'desc-full_T2starmap.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 'desc-full_S0map.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 'desc-optcom_bold.nii.gz')) assert len(img.shape) == 4
def test_t2smap_cli(self): """ Run test_basic_t2smap1, but use the CLI method. """ data_dir = get_test_data_path() data = [ op.join(data_dir, 'echo1.nii.gz'), op.join(data_dir, 'echo2.nii.gz'), op.join(data_dir, 'echo3.nii.gz') ] args = (['-d'] + data + [ '-e', '14.5', '38.5', '62.5', '--combmode', 't2s', '--fitmode', 'all', '--label', 't2smap' ]) workflows.t2smap._main(args) out_dir = 'TED.echo1.t2smap' # Check outputs img = nib.load(op.join(out_dir, 't2sv.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 's0v.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 't2svG.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 's0vG.nii.gz')) assert len(img.shape) == 3 img = nib.load(op.join(out_dir, 'ts_OC.nii.gz')) assert len(img.shape) == 4
def testdata1(): tes = np.array([14.5, 38.5, 62.5]) in_files = [op.join(get_test_data_path(), 'echo{0}.nii.gz'.format(i+1)) for i in range(3)] data, _ = utils.load_data(in_files, n_echos=len(tes)) mask, mask_sum = utils.make_adaptive_mask(data, minimum=False, getsum=True) data_dict = {'data': data, 'tes': tes, 'mask': mask, 'mask_sum': mask_sum, } return data_dict
def testdata1(): tes = np.array([14.5, 38.5, 62.5]) in_files = [ op.join(get_test_data_path(), 'echo{0}.nii.gz'.format(i + 1)) for i in range(3) ] data, _ = io.load_data(in_files, n_echos=len(tes)) mask, adaptive_mask = utils.make_adaptive_mask(data, getsum=True) fittype = 'loglin' data_dict = { 'data': data, 'tes': tes, 'mask': mask, 'adaptive_mask': adaptive_mask, 'fittype': fittype, } return data_dict
def testdata1(): tes = np.array([14.5, 38.5, 62.5]) in_files = [ op.join(get_test_data_path(), "echo{0}.nii.gz".format(i + 1)) for i in range(3) ] data, _ = io.load_data(in_files, n_echos=len(tes)) mask, adaptive_mask = utils.make_adaptive_mask(data, getsum=True) fittype = "loglin" data_dict = { "data": data, "tes": tes, "mask": mask, "adaptive_mask": adaptive_mask, "fittype": fittype, } return data_dict
def testdata1(): """Data used for tests of the metrics module.""" tes = np.array([14.5, 38.5, 62.5]) in_files = [ op.join(get_test_data_path(), "echo{0}.nii.gz".format(i + 1)) for i in range(3) ] data_cat, ref_img = io.load_data(in_files, n_echos=len(tes)) _, adaptive_mask = utils.make_adaptive_mask(data_cat, getsum=True) data_optcom = np.mean(data_cat, axis=1) mixing = np.random.random((data_optcom.shape[1], 50)) io_generator = io.OutputGenerator(ref_img) data_dict = { "data_cat": data_cat, "tes": tes, "data_optcom": data_optcom, "adaptive_mask": adaptive_mask, "generator": io_generator, "mixing": mixing, } return data_dict
""" Tests for tedana.model.fit """ import os import numpy as np import pytest import tedana.gscontrol as gsc from tedana.io import OutputGenerator from tedana.tests.utils import get_test_data_path data_dir = get_test_data_path() ref_img = os.path.join(data_dir, 'mask.nii.gz') def test_break_gscontrol_raw(): """ Ensure that gscontrol_raw fails when input data do not have the right shapes. """ n_samples, n_echos, n_vols = 10000, 4, 100 catd = np.empty((n_samples, n_echos, n_vols)) optcom = np.empty((n_samples, n_vols)) io_generator = OutputGenerator(ref_img) catd = np.empty((n_samples + 1, n_echos, n_vols)) with pytest.raises(ValueError) as e_info: gsc.gscontrol_raw(catd=catd, optcom=optcom,