Skip to content

Commit 679aa5b

Browse files
authored
Merge pull request #672 from chrispycheng/enh-diff-dtype
TST: Validate nib-diff dtype command-line option
2 parents def0364 + edb72bc commit 679aa5b

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

nibabel/cmdline/diff.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,25 @@ def get_opt_parser():
3838

3939
Option("-H", "--header-fields",
4040
dest="header_fields", default='all',
41-
help="Header fields (comma separated) to be printed as well (if present)"),
41+
help="Header fields (comma separated) to be printed as well"
42+
" (if present)"),
4243

4344
Option("--ma", "--data-max-abs-diff",
4445
dest="data_max_abs_diff",
4546
type=float,
4647
default=0.0,
47-
help="Maximal absolute difference in data between files to tolerate."),
48+
help="Maximal absolute difference in data between files"
49+
" to tolerate."),
4850

4951
Option("--mr", "--data-max-rel-diff",
5052
dest="data_max_rel_diff",
5153
type=float,
5254
default=0.0,
53-
help="Maximal relative difference in data between files to tolerate."
54-
" If --data-max-abs-diff is also specified, only the data points "
55-
" with absolute difference greater than that value would be "
56-
" considered for relative difference check."),
55+
help="Maximal relative difference in data between files to"
56+
" tolerate. If --data-max-abs-diff is also specified,"
57+
" only the data points with absolute difference greater"
58+
" than that value would be considered for relative"
59+
" difference check."),
5760
Option("--dt", "--datatype",
5861
dest="dtype",
5962
default=np.float64,
@@ -302,15 +305,16 @@ def display_diff(files, diff):
302305
return output
303306

304307

305-
def diff(files, header_fields='all', data_max_abs_diff=None, data_max_rel_diff=None,
306-
dtype=np.float64):
308+
def diff(files, header_fields='all', data_max_abs_diff=None,
309+
data_max_rel_diff=None, dtype=np.float64):
307310
assert len(files) >= 2, "Please enter at least two files"
308311

309312
file_headers = [nib.load(f).header for f in files]
310313

311314
# signals "all fields"
312315
if header_fields == 'all':
313-
# TODO: header fields might vary across file types, thus prior sensing would be needed
316+
# TODO: header fields might vary across file types,
317+
# thus prior sensing would be needed
314318
header_fields = file_headers[0].keys()
315319
else:
316320
header_fields = header_fields.split(',')

nibabel/tests/test_scripts.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ def check_nib_diff_examples():
9595
code, stdout, stderr = run_command(['nib-diff'] + fnames4, check_code=False)
9696
assert_equal(stdout, "These files are identical.")
9797

98+
code, stdout, stderr = run_command(['nib-diff', '--dt', 'float64'] + fnames, check_code=False)
99+
for item in checked_fields:
100+
assert_true(item in stdout)
101+
98102

99103

100104
@script_test

0 commit comments

Comments
 (0)