示例#1
0
    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
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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
示例#6
0
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
示例#7
0
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
示例#8
0
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
示例#9
0
"""
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,