| Index: gm/rebaseline_server/imagediffdb.py
|
| diff --git a/gm/rebaseline_server/imagediffdb.py b/gm/rebaseline_server/imagediffdb.py
|
| index a37e8ce9569e2f9a3498fc7b5610383ba38d5a2b..6b684143b03f256a6a4eee87d43447eabfe713f8 100644
|
| --- a/gm/rebaseline_server/imagediffdb.py
|
| +++ b/gm/rebaseline_server/imagediffdb.py
|
| @@ -49,7 +49,6 @@ KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL = 'maxDiffPerChannel'
|
| KEY__DIFFERENCES__NUM_DIFF_PIXELS = 'numDifferingPixels'
|
| KEY__DIFFERENCES__PERCENT_DIFF_PIXELS = 'percentDifferingPixels'
|
| KEY__DIFFERENCES__PERCEPTUAL_DIFF = 'perceptualDifference'
|
| -KEY__DIFFERENCES__WEIGHTED_DIFF = 'weightedDiffMeasure'
|
|
|
|
|
| class DiffRecord(object):
|
| @@ -117,8 +116,6 @@ class DiffRecord(object):
|
| diff_image = _generate_image_diff(actual_image, expected_image)
|
| diff_histogram = diff_image.histogram()
|
| (diff_width, diff_height) = diff_image.size
|
| - self._weighted_diff_measure = _calculate_weighted_diff_metric(
|
| - diff_histogram, diff_width * diff_height)
|
| self._max_diff_per_channel = _max_per_band(diff_histogram)
|
|
|
| # Generate the whitediff image (any differing pixels show as white).
|
| @@ -189,14 +186,6 @@ class DiffRecord(object):
|
| """Returns the perceptual difference percentage."""
|
| return self._perceptual_difference
|
|
|
| - def get_weighted_diff_measure(self):
|
| - """Returns a weighted measure of image diffs, as a float between 0 and 100
|
| - (inclusive).
|
| -
|
| - TODO(epoger): Delete this function, now that we have perceptual diff?
|
| - """
|
| - return self._weighted_diff_measure
|
| -
|
| def get_max_diff_per_channel(self):
|
| """Returns the maximum difference between the expected and actual images
|
| for each R/G/B channel, as a list."""
|
| @@ -209,7 +198,6 @@ class DiffRecord(object):
|
| KEY__DIFFERENCES__NUM_DIFF_PIXELS: self._num_pixels_differing,
|
| KEY__DIFFERENCES__PERCENT_DIFF_PIXELS:
|
| self.get_percent_pixels_differing(),
|
| - KEY__DIFFERENCES__WEIGHTED_DIFF: self.get_weighted_diff_measure(),
|
| KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL: self._max_diff_per_channel,
|
| KEY__DIFFERENCES__PERCEPTUAL_DIFF: self._perceptual_difference,
|
| }
|
| @@ -290,31 +278,6 @@ class ImageDiffDB(object):
|
|
|
| # Utility functions
|
|
|
| -def _calculate_weighted_diff_metric(histogram, num_pixels):
|
| - """Given the histogram of a diff image (per-channel diff at each
|
| - pixel between two images), calculate the weighted diff metric (a
|
| - stab at how different the two images really are).
|
| -
|
| - TODO(epoger): Delete this function, now that we have perceptual diff?
|
| -
|
| - Args:
|
| - histogram: PIL histogram of a per-channel diff between two images
|
| - num_pixels: integer; the total number of pixels in the diff image
|
| -
|
| - Returns: a weighted diff metric, as a float between 0 and 100 (inclusive).
|
| - """
|
| - # TODO(epoger): As a wild guess at an appropriate metric, weight each
|
| - # different pixel by the square of its delta value. (The more different
|
| - # a pixel is from its expectation, the more we care about it.)
|
| - assert(len(histogram) % VALUES_PER_BAND == 0)
|
| - num_bands = len(histogram) / VALUES_PER_BAND
|
| - max_diff = num_pixels * num_bands * (VALUES_PER_BAND - 1)**2
|
| - total_diff = 0
|
| - for index in xrange(len(histogram)):
|
| - total_diff += histogram[index] * (index % VALUES_PER_BAND)**2
|
| - return float(100 * total_diff) / max_diff
|
| -
|
| -
|
| def _max_per_band(histogram):
|
| """Given the histogram of an image, return the maximum value of each band
|
| (a.k.a. "color channel", such as R/G/B) across the entire image.
|
|
|