@@ -60,7 +60,10 @@ def diff_header_fields(key, inputs):
60
60
keyed_inputs = []
61
61
62
62
for i in inputs : # stores each file's respective header files
63
- field_value = i [key ]
63
+ try :
64
+ field_value = i [key ]
65
+ except ValueError :
66
+ continue
64
67
65
68
try : # filter numpy arrays
66
69
if np .all (np .isnan (field_value )):
@@ -69,21 +72,27 @@ def diff_header_fields(key, inputs):
69
72
pass
70
73
71
74
for x in inputs [1 :]: # compare different values, print all as soon as diff is found
72
- data_diff = diff_values (str (x [key ].dtype ), str (field_value .dtype ))
75
+ try :
76
+ data_diff = diff_values (str (x [key ].dtype ), str (field_value .dtype ))
73
77
74
- if data_diff :
75
- break
78
+ if data_diff :
79
+ break
80
+ except ValueError :
81
+ continue
76
82
77
- if data_diff : # prints data types if they're different and not if they're not
78
- if field_value .ndim < 1 :
79
- keyed_inputs .append ("{}@{}" .format (field_value , field_value .dtype ))
80
- elif field_value .ndim == 1 :
81
- keyed_inputs .append ("{}@{}" .format (list (field_value ), field_value .dtype ))
82
- else :
83
- if field_value .ndim < 1 :
84
- keyed_inputs .append ("{}" .format (field_value ))
85
- elif field_value .ndim == 1 :
86
- keyed_inputs .append ("{}" .format (list (field_value )))
83
+ try :
84
+ if data_diff : # prints data types if they're different and not if they're not
85
+ if field_value .ndim < 1 :
86
+ keyed_inputs .append ("{}@{}" .format (field_value , field_value .dtype ))
87
+ elif field_value .ndim == 1 :
88
+ keyed_inputs .append ("{}@{}" .format (list (field_value ), field_value .dtype ))
89
+ else :
90
+ if field_value .ndim < 1 :
91
+ keyed_inputs .append ("{}" .format (field_value ))
92
+ elif field_value .ndim == 1 :
93
+ keyed_inputs .append ("{}" .format (list (field_value )))
94
+ except UnboundLocalError :
95
+ continue
87
96
88
97
if keyed_inputs : # sometimes keyed_inputs is empty lol
89
98
comparison_input = keyed_inputs [0 ]
@@ -119,10 +128,15 @@ def get_headers_diff(files, opts):
119
128
def get_data_diff (files ):
120
129
121
130
data_list = [nib .load (f ).get_data () for f in files ]
131
+ temp_bool = False
122
132
123
133
for a , b in itertools .combinations (data_list , 2 ):
124
- return diff_values (hashlib .md5 (repr (a ).encode ('utf-8' )).hexdigest (), hashlib .md5 (
125
- repr (b ).encode ('utf-8' )).hexdigest ())
134
+ if diff_values (hashlib .md5 (repr (a ).encode ('utf-8' )).hexdigest (), hashlib .md5 (
135
+ repr (b ).encode ('utf-8' )).hexdigest ()):
136
+ temp_bool = True
137
+ break
138
+
139
+ return temp_bool
126
140
127
141
128
142
def main ():
0 commit comments