Exemplo n.º 1
0
def test_reorient_vectors():
    with clear_and_catch_warnings():
        bvec = np.arange(12).reshape((3, 4))
        assert_array_equal(reorient_vectors(bvec, 'ras', 'ras'), bvec)
        assert_array_equal(reorient_vectors(bvec, 'ras', 'lpi'), -bvec)
        result = bvec[[1, 2, 0]]
        assert_array_equal(reorient_vectors(bvec, 'ras', 'asr'), result)
        bvec = result
        result = bvec[[1, 0, 2]] * [[-1], [1], [-1]]
        assert_array_equal(reorient_vectors(bvec, 'asr', 'ial'), result)
        result = bvec[[1, 0, 2]] * [[-1], [1], [1]]
        assert_array_equal(reorient_vectors(bvec, 'asr', 'iar'), result)
        assert_raises(ValueError, reorient_vectors, bvec, 'ras', 'ra')

        bvec = np.arange(12).reshape((3, 4))
        bvec = bvec.T
        assert_array_equal(reorient_vectors(bvec, 'ras', 'ras', axis=1), bvec)
        assert_array_equal(reorient_vectors(bvec, 'ras', 'lpi', axis=1), -bvec)
        result = bvec[:, [1, 2, 0]]
        assert_array_equal(reorient_vectors(bvec, 'ras', 'asr', axis=1),
                           result)
        bvec = result
        result = bvec[:, [1, 0, 2]] * [-1, 1, -1]
        assert_array_equal(reorient_vectors(bvec, 'asr', 'ial', axis=1),
                           result)
        result = bvec[:, [1, 0, 2]] * [-1, 1, 1]
        assert_array_equal(reorient_vectors(bvec, 'asr', 'iar', axis=1),
                           result)
Exemplo n.º 2
0
def test_reorient_vectors():
    bvec = np.arange(12).reshape((3, 4))
    assert_array_equal(reorient_vectors(bvec, 'ras', 'ras'), bvec)
    assert_array_equal(reorient_vectors(bvec, 'ras', 'lpi'), -bvec)
    result = bvec[[1, 2, 0]]
    assert_array_equal(reorient_vectors(bvec, 'ras', 'asr'), result)
    bvec = result
    result = bvec[[1, 0, 2]] * [[-1], [1], [-1]]
    assert_array_equal(reorient_vectors(bvec, 'asr', 'ial'), result)
    result = bvec[[1, 0, 2]] * [[-1], [1], [1]]
    assert_array_equal(reorient_vectors(bvec, 'asr', 'iar'), result)
    assert_raises(ValueError, reorient_vectors, bvec, 'ras', 'ra')
Exemplo n.º 3
0
def test_reorient_vectors():
    bvec = np.arange(12).reshape((3,4))
    assert_array_equal(reorient_vectors(bvec, 'ras', 'ras'), bvec)
    assert_array_equal(reorient_vectors(bvec, 'ras', 'lpi'), -bvec)
    result = bvec[[1,2,0]]
    assert_array_equal(reorient_vectors(bvec, 'ras', 'asr'), result)
    bvec = result
    result = bvec[[1,0,2]]*[[-1],[1],[-1]]
    assert_array_equal(reorient_vectors(bvec, 'asr', 'ial'), result)
    result = bvec[[1,0,2]]*[[-1],[1],[1]]
    assert_array_equal(reorient_vectors(bvec, 'asr', 'iar'), result)
    assert_raises(ValueError, reorient_vectors, bvec, 'ras', 'ra')
def reorient_dwi_imgs(input_dwi, input_bval, input_bvec, output_dwi, output_bval, output_bvec, new_x, new_y, new_z, new_r, new_a, new_s):

    os.system('fslswapdim ' + input_dwi + ' ' + new_x + ' ' + new_y + ' ' + new_z + ' ' + output_dwi)

    #Now reorient the bvecs
    bvals, bvecs = read_bvals_bvecs(input_bval, input_bvec)

    new_orient = new_r+new_a+new_s
    r_bvecs = reorient_vectors(bvecs, 'ras', new_orient, axis=1)

    N = len(bvals)
    fmt = '   %e' * N + '\n'

    open(output_bval, 'wt').write(fmt % tuple(bvals))

    bvf = open(output_bvec, 'wt')
    for dim_vals in r_bvecs.T:
        bvf.write(fmt % tuple(dim_vals))
    bvf.close()