@@ -51,7 +51,7 @@ def get_opt_parser():
51
51
type = float ,
52
52
default = 0.0 ,
53
53
help = "Maximal relative difference in data between files to tolerate."
54
- " If also --data-max-abs-diff specified, only the data points "
54
+ " If --data-max-abs-diff is also specified, only the data points "
55
55
" with absolute difference greater than that value would be "
56
56
" considered for relative difference check." ),
57
57
])
@@ -116,7 +116,7 @@ def get_headers_diff(file_headers, names=None):
116
116
return difference
117
117
118
118
119
- def get_data_md5_diff (files ):
119
+ def get_data_hash_diff (files ):
120
120
"""Get difference between md5 values of data
121
121
122
122
Parameters
@@ -130,7 +130,7 @@ def get_data_md5_diff(files):
130
130
"""
131
131
132
132
md5sums = [
133
- hashlib .md5 (np .ascontiguousarray (nib .load (f ).get_data (), dtype = np . float32 )).hexdigest ()
133
+ hashlib .md5 (np .ascontiguousarray (nib .load (f ).get_fdata () )).hexdigest ()
134
134
for f in files
135
135
]
136
136
@@ -156,11 +156,15 @@ def get_data_diff(files, max_abs=0, max_rel=0):
156
156
157
157
Returns
158
158
-------
159
- OrderedDict
160
- str: absolute and relative differences of each file, given as float
159
+ diffs: OrderedDict
160
+ An ordered dict with a record per each file which has differences with other files subsequent detected.
161
+ Each record is a list of difference records, one per each file pair. Each difference record is an Ordered
162
+ Dict with possible keys 'abs' or 'rel' showing maximal absolute or relative differences in the file
163
+ or record ('CMP': 'incompat') if file shapes are incompatible.
161
164
"""
165
+
162
166
# we are doomed to keep them in RAM now
163
- data = [f if isinstance (f , np .ndarray ) else nib .load (f ).get_data () for f in files ]
167
+ data = [f if isinstance (f , np .ndarray ) else nib .load (f ).get_fdata () for f in files ]
164
168
diffs = OrderedDict ()
165
169
for i , d1 in enumerate (data [:- 1 ]):
166
170
# populate empty entries for non-compared
@@ -274,7 +278,7 @@ def diff(files, header_fields='all', data_max_abs_diff=None, data_max_rel_diff=N
274
278
275
279
diff = get_headers_diff (file_headers , header_fields )
276
280
277
- data_md5_diffs = get_data_md5_diff (files )
281
+ data_md5_diffs = get_data_hash_diff (files )
278
282
if data_md5_diffs :
279
283
# provide details, possibly triggering the ignore of the difference
280
284
# in data
0 commit comments