@@ -306,6 +306,36 @@ def compare_images( expected, actual, tol, in_decorator=False ):
306
306
expectedImage = expectedImage .astype (np .int16 )
307
307
actualImage = actualImage .astype (np .int16 )
308
308
309
+ # compare the resulting image histogram functions
310
+ expected_version = version .LooseVersion ("1.6" )
311
+ found_version = version .LooseVersion (np .__version__ )
312
+
313
+ # On Numpy 1.6, we can use bincount with minlength, which is much faster than
314
+ # using histogram
315
+ if found_version >= expected_version :
316
+ rms = 0
317
+
318
+ for i in xrange (0 , 3 ):
319
+ h1p = expectedImage [:,:,i ]
320
+ h2p = actualImage [:,:,i ]
321
+
322
+ h1h = np .bincount (h1p .ravel (), minlength = 256 )
323
+ h2h = np .bincount (h2p .ravel (), minlength = 256 )
324
+
325
+ rms += np .sum (np .power ((h1h - h2h ), 2 ))
326
+ else :
327
+ rms = 0
328
+ ns = np .arange (257 )
329
+
330
+ for i in xrange (0 , 3 ):
331
+ h1p = expectedImage [:,:,i ]
332
+ h2p = actualImage [:,:,i ]
333
+
334
+ h1h = np .histogram (h1p , bins = ns )[0 ]
335
+ h2h = np .histogram (h2p , bins = ns )[0 ]
336
+
337
+ rms += np .sum (np .power ((h1h - h2h ), 2 ))
338
+
309
339
rms = calculate_rms (expectedImage , actualImage )
310
340
311
341
diff_image = make_test_filename (actual , 'failed-diff' )
0 commit comments