Revision: 7124
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7124&view=rev
Author:   astraw
Date:     2009-05-19 21:29:38 +0000 (Tue, 19 May 2009)

Log Message:
-----------
save difference image between failed image and baseline image

Modified Paths:
--------------
    trunk/matplotlib/test/mplTest/compare.py

Modified: trunk/matplotlib/test/mplTest/compare.py
===================================================================
--- trunk/matplotlib/test/mplTest/compare.py    2009-05-19 21:29:29 UTC (rev 
7123)
+++ trunk/matplotlib/test/mplTest/compare.py    2009-05-19 21:29:38 UTC (rev 
7124)
@@ -5,6 +5,8 @@
 
 import math
 import operator
+import os
+import numpy as np
 
 #=======================================================================
 
@@ -112,10 +114,25 @@
    if ( (rms / 10000.0) <= tol ):
       return None
    else:
+      diff_image = os.path.join(os.path.dirname(actual),
+                                'failed-diff-'+os.path.basename(actual))
+      saveDiffImage( expected, actual, diff_image )
+
       msg = "  Error: Image files did not match.\n"       \
             "  RMS Value: " + str( rms / 10000.0 ) + "\n" \
             "  Expected:\n    " + str( expected ) + "\n"  \
             "  Actual:\n    " + str( actual ) + "\n"      \
+            "  Difference:\n    " + str( diff_image ) + "\n"      \
             "  Tolerance: " + str( tol ) + "\n"
       return msg
 
+def saveDiffImage( expected, actual, output ):
+   from PIL import Image
+   expectedImage = np.array(Image.open( expected 
).convert("RGB")).astype(np.float)
+   actualImage = np.array(Image.open( actual ).convert("RGB")).astype(np.float)
+   absDiffImage = abs(expectedImage-actualImage)
+   # expand differences in luminance domain
+   absDiffImage *= 10
+   save_image_np = absDiffImage.astype(np.uint8)
+   save_image = Image.fromarray(save_image_np)
+   save_image.save(output)


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to