]> git.cworth.org Git - apitrace/blobdiff - scripts/snapdiff.py
jsondiff: Try to be more accurate w/ commas/newlines.
[apitrace] / scripts / snapdiff.py
index 965044068a1d3a55cf401c4f76e791dd2a31d79d..9253d16d2842a965b7d9246a323fa1694d6838c9 100755 (executable)
@@ -36,9 +36,9 @@ import optparse
 import math
 import operator
 
-import Image
-import ImageChops
-import ImageEnhance
+from PIL import Image
+from PIL import ImageChops
+from PIL import ImageEnhance
 
 
 thumb_size = 320, 320
@@ -48,8 +48,15 @@ class Comparer:
     '''Image comparer.'''
 
     def __init__(self, ref_image, src_image, alpha = False):
-        self.ref_im = Image.open(ref_image)
-        self.src_im = Image.open(src_image)
+        if isinstance(ref_image, basestring):
+            self.ref_im = Image.open(ref_image)
+        else:
+            self.ref_im = ref_image
+
+        if isinstance(src_image, basestring):
+            self.src_im = Image.open(src_image)
+        else:
+            self.src_im = src_image
 
         # Ignore
         if not alpha:
@@ -80,7 +87,7 @@ class Comparer:
         bits = -math.log(rel_error)/math.log(2.0)
         return bits
 
-    def ae(self):
+    def ae(self, fuzz = 0.05):
         # Compute absolute error
         # TODO: this is approximate due to the grayscale conversion
         h = self.diff.convert('L').histogram()
@@ -131,8 +138,7 @@ def main():
     global options
 
     optparser = optparse.OptionParser(
-        usage="\n\t%prog [options] <ref_prefix> <src_prefix>",
-        version="%%prog")
+        usage="\n\t%prog [options] <ref_prefix> <src_prefix>")
     optparser.add_option(
         '-o', '--output', metavar='FILE',
         type="string", dest="output", default='index.html',