Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(444)

Unified Diff: tools/telemetry/telemetry/util/color_histogram.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/util/color_histogram.py
diff --git a/tools/telemetry/telemetry/util/color_histogram.py b/tools/telemetry/telemetry/util/color_histogram.py
deleted file mode 100644
index 76bb4b9caffc13350387a208880139aab252279a..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/util/color_histogram.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Color Histograms and implementations of functions operating on them."""
-
-from __future__ import division
-
-import collections
-
-from telemetry.internal.util import external_modules
-
-np = external_modules.ImportOptionalModule('numpy')
-
-
-def HistogramDistance(hist1, hist2, default_color=None):
- """Earth mover's distance.
- http://en.wikipedia.org/wiki/Earth_mover's_distance"""
- if len(hist1) != len(hist2):
- raise ValueError('Trying to compare histograms '
- 'of different sizes, %s != %s' % (len(hist1), len(hist2)))
- if len(hist1) == 0:
- return 0
-
- sum_func = np.sum if np is not None else sum
-
- n1 = sum_func(hist1)
- n2 = sum_func(hist2)
- if (n1 == 0 or n2 == 0) and default_color is None:
- raise ValueError('Histogram has no data and no default color.')
- if n1 == 0:
- hist1[default_color] = 1
- n1 = 1
- if n2 == 0:
- hist2[default_color] = 1
- n2 = 1
-
- if np is not None:
- remainder = np.multiply(hist1, n2) - np.multiply(hist2, n1)
- cumsum = np.cumsum(remainder)
- total = np.sum(np.abs(cumsum))
- else:
- total = 0
- remainder = 0
- for value1, value2 in zip(hist1, hist2):
- remainder += value1 * n2 - value2 * n1
- total += abs(remainder)
- assert remainder == 0, (
- '%s pixel(s) left over after computing histogram distance.'
- % abs(remainder))
- return abs(float(total) / n1 / n2)
-
-
-class ColorHistogram(
- collections.namedtuple('ColorHistogram', ['r', 'g', 'b', 'default_color'])):
- # pylint: disable=no-init
- # pylint: disable=super-on-old-class
-
- def __new__(cls, r, g, b, default_color=None):
- return super(ColorHistogram, cls).__new__(cls, r, g, b, default_color)
-
- def Distance(self, other):
- total = 0
- for i in xrange(3):
- default_color = self[3][i] if self[3] is not None else None
- total += HistogramDistance(self[i], other[i], default_color)
- return total
« no previous file with comments | « tools/telemetry/telemetry/util/__init__.py ('k') | tools/telemetry/telemetry/util/color_histogram_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698