Skip to content

Commit 39a37d5

Browse files
committed
TST: add checks for minmax parrec2nii options
Test we can set min and max in parrec2nii script.
1 parent 8efb8fd commit 39a37d5

File tree

1 file changed

+41
-14
lines changed

1 file changed

+41
-14
lines changed

nibabel/tests/test_scripts.py

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,31 @@ def vox_size(affine):
8686
return np.sqrt(np.sum(affine[:3,:3] ** 2, axis=0))
8787

8888

89+
def check_conversion(cmd, pr_data, out_fname):
90+
run_command(cmd)
91+
img = load(out_fname)
92+
data = img.get_data()
93+
assert_true(np.allclose(data, pr_data))
94+
assert_true(np.allclose(img.header['cal_min'], data.min()))
95+
assert_true(np.allclose(img.header['cal_max'], data.max()))
96+
# Check minmax options
97+
run_command(cmd + ['--minmax', '1', '2'])
98+
img = load(out_fname)
99+
assert_true(np.allclose(data, pr_data))
100+
assert_true(np.allclose(img.header['cal_min'], 1))
101+
assert_true(np.allclose(img.header['cal_max'], 2))
102+
run_command(cmd + ['--minmax', 'parse', '2'])
103+
img = load(out_fname)
104+
assert_true(np.allclose(data, pr_data))
105+
assert_true(np.allclose(img.header['cal_min'], data.min()))
106+
assert_true(np.allclose(img.header['cal_max'], 2))
107+
run_command(cmd + ['--minmax', '1', 'parse'])
108+
img = load(out_fname)
109+
assert_true(np.allclose(data, pr_data))
110+
assert_true(np.allclose(img.header['cal_min'], 1))
111+
assert_true(np.allclose(img.header['cal_max'], data.max()))
112+
113+
89114
@script_test
90115
def test_parrec2nii():
91116
# Test parrec2nii script
@@ -104,24 +129,26 @@ def test_parrec2nii():
104129
data = img.get_data()
105130
assert_data_similar(data, eg_dict)
106131
assert_almost_equal(img.header.get_zooms(), eg_dict['zooms'])
107-
# Check scaling options
108-
cmd = ['parrec2nii', '--scaling=dv', fname]
109132
# Does not overwrite unless option given
110-
code, stdout, stderr = run_command(cmd, check_code=False)
133+
code, stdout, stderr = run_command(
134+
['parrec2nii', fname], check_code=False)
111135
assert_equal(code, 1)
112-
cmd.append('--overwrite')
113-
run_command(cmd)
114-
img = load(out_froot)
115-
assert_data_similar(img.get_data(), eg_dict)
116-
# fp scaling
117-
run_command(['parrec2nii', '--scaling=fp', '--overwrite', fname])
136+
# Default scaling is dv
137+
pr_img = load(fname)
138+
base_cmd = ['parrec2nii', '--overwrite', fname]
139+
check_conversion(base_cmd, pr_img.get_data(), out_froot)
140+
check_conversion(base_cmd + ['--scaling=dv'],
141+
pr_img.get_data(),
142+
out_froot)
143+
# fp
118144
pr_img = load(fname, scaling='fp')
119-
img = load(out_froot)
120-
assert_true(np.allclose(img.get_data(), pr_img.get_data()))
145+
check_conversion(base_cmd + ['--scaling=fp'],
146+
pr_img.get_data(),
147+
out_froot)
121148
# no scaling
122-
run_command(['parrec2nii', '--scaling=off', '--overwrite', fname])
123-
img = load(out_froot)
124-
assert_almost_equal(img.get_data(), pr_img.dataobj.get_unscaled())
149+
check_conversion(base_cmd + ['--scaling=off'],
150+
pr_img.dataobj.get_unscaled(),
151+
out_froot)
125152

126153

127154
@script_test

0 commit comments

Comments
 (0)