Пример #1
0
def calc_fd(mat_file, dataset="fnl"):
    """
    Compute Framewise Displacement as in Power et al 2012 and save to file. Uses the default radius of 50mm.
    
    Args:
        mat_file (path object): .mat file outputted from FSL
        dataset (str): 'fnl' or 'sherlock'
        
    Returns:
        file_path
        
    """

    assert isinstance(mat_file, Path), "realigned_series must be a Path object"
    out_file = mat_file.parent / "fd_power_2012.csv"

    fd = FramewiseDisplacement(
        in_file=mat_file, out_file=out_file, parameter_source="FSL", save_plot=False
    )
    if dataset == "fnl":
        fd.inputs.series_tr = 2.0
    elif dataset == "sherlock":
        fd.inputs.series_tr = 1.5

    _ = fd.run()
    return out_file
Пример #2
0
def test_fd():
    tempdir = mkdtemp()
    ground_truth = np.loadtxt(example_data('fsl_motion_outliers_fd.txt'))
    fd = FramewiseDisplacement(in_plots=example_data('fsl_mcflirt_movpar.txt'),
                               out_file=tempdir + '/fd.txt')
    res = fd.run()
    yield assert_equal, np.allclose(ground_truth, np.loadtxt(res.outputs.out_file)), True
    yield assert_equal, np.abs(ground_truth.mean() - res.outputs.fd_average) < 1e-4, True
    rmtree(tempdir)
Пример #3
0
def test_fd(tmpdir):
    tempdir = str(tmpdir)
    ground_truth = np.loadtxt(example_data('fsl_motion_outliers_fd.txt'))
    fdisplacement = FramewiseDisplacement(in_plots=example_data('fsl_mcflirt_movpar.txt'),
                                          out_file=tempdir + '/fd.txt')
    res = fdisplacement.run()

    with open(res.outputs.out_file) as all_lines:
        for line in all_lines:
            assert 'FramewiseDisplacement' in line
            break

    assert np.allclose(ground_truth, np.loadtxt(res.outputs.out_file, skiprows=1), atol=.16)
    assert np.abs(ground_truth.mean() - res.outputs.fd_average) < 1e-2
Пример #4
0
def test_fd():
    tempdir = mkdtemp()
    ground_truth = np.loadtxt(example_data('fsl_motion_outliers_fd.txt'))
    fdisplacement = FramewiseDisplacement(
        in_plots=example_data('fsl_mcflirt_movpar.txt'),
        out_file=tempdir + '/fd.txt')
    res = fdisplacement.run()

    yield assert_true, np.allclose(ground_truth,
                                   np.loadtxt(res.outputs.out_file),
                                   atol=.16)
    yield assert_true, np.abs(ground_truth.mean() -
                              res.outputs.fd_average) < 1e-2
    rmtree(tempdir)
Пример #5
0
def test_fd():
    tempdir = mkdtemp()
    ground_truth = np.loadtxt(example_data('fsl_motion_outliers_fd.txt'))
    fdisplacement = FramewiseDisplacement(in_plots=example_data('fsl_mcflirt_movpar.txt'),
                                          out_file=tempdir + '/fd.txt')
    res = fdisplacement.run()

    with open(res.outputs.out_file) as all_lines:
        for line in all_lines:
            yield assert_in, 'framewise_displacement', line
            break

    yield assert_true, np.allclose(ground_truth, np.loadtxt(res.outputs.out_file), atol=.16)
    yield assert_true, np.abs(ground_truth.mean() - res.outputs.fd_average) < 1e-2

    rmtree(tempdir)
Пример #6
0
def test_fd(tmpdir):
    tempdir = str(tmpdir)
    ground_truth = np.loadtxt(example_data('fsl_motion_outliers_fd.txt'))
    fdisplacement = FramewiseDisplacement(
        in_plots=example_data('fsl_mcflirt_movpar.txt'),
        out_file=tempdir + '/fd.txt')
    res = fdisplacement.run()

    with open(res.outputs.out_file) as all_lines:
        for line in all_lines:
            assert 'FramewiseDisplacement' in line
            break

    assert np.allclose(ground_truth,
                       np.loadtxt(res.outputs.out_file, skiprows=1),
                       atol=.16)
    assert np.abs(ground_truth.mean() - res.outputs.fd_average) < 1e-2
Пример #7
0
def test_fd(tmpdir):
    tempdir = tmpdir.strpath
    ground_truth = np.loadtxt(example_data("fsl_motion_outliers_fd.txt"))
    fdisplacement = FramewiseDisplacement(
        in_file=example_data("fsl_mcflirt_movpar.txt"),
        out_file=tempdir + "/fd.txt",
        parameter_source="FSL",
    )
    res = fdisplacement.run()

    with open(res.outputs.out_file) as all_lines:
        for line in all_lines:
            assert "FramewiseDisplacement" in line
            break

    assert np.allclose(ground_truth,
                       np.loadtxt(res.outputs.out_file, skiprows=1),
                       atol=0.16)
    assert np.abs(ground_truth.mean() - res.outputs.fd_average) < 1e-2