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

Unified Diff: compute_engine_scripts/telemetry/telemetry_slave_scripts/write_json_summary.py

Issue 148093012: Add magnifying ability, perceptual diff and improve layout of Skia Tryserver HTML output (Closed) Base URL: https://skia.googlesource.com/buildbot.git@master
Patch Set: Rebase Created 6 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: compute_engine_scripts/telemetry/telemetry_slave_scripts/write_json_summary.py
diff --git a/compute_engine_scripts/telemetry/telemetry_slave_scripts/write_json_summary.py b/compute_engine_scripts/telemetry/telemetry_slave_scripts/write_json_summary.py
index e837c0527ae0168c4fd78508b15329dd2fd21423..50c44b20e1eb20633a96447d4a0f83d4c8cc70e9 100644
--- a/compute_engine_scripts/telemetry/telemetry_slave_scripts/write_json_summary.py
+++ b/compute_engine_scripts/telemetry/telemetry_slave_scripts/write_json_summary.py
@@ -5,6 +5,7 @@
"""Module that outputs an JSON summary containing the comparision of images."""
+import csv
import imp
import json
import optparse
@@ -20,7 +21,7 @@ import json_summary_constants
def WriteJsonSummary(img_root, nopatch_json, nopatch_img_dir_name,
withpatch_json, withpatch_img_dir_name, output_file_path,
gs_output_dir, gs_skp_dir, slave_num, gm_json_path,
- imagediffdb_path):
+ imagediffdb_path, skpdiff_output_csv):
"""Outputs the JSON summary of image comparisions.
Args:
@@ -44,6 +45,7 @@ def WriteJsonSummary(img_root, nopatch_json, nopatch_img_dir_name,
this script.
gm_json_path: (str) Local complete path to gm_json.py in Skia trunk.
imagediffdb_path: (str) Local complete path to imagediffdb.py in Skia trunk.
+ skpdiff_output_csv: (str) Local complete path to the CSV output of skpdiff.
"""
assert os.path.isfile(gm_json_path), 'Must specify a valid path to gm_json.py'
@@ -77,6 +79,12 @@ def WriteJsonSummary(img_root, nopatch_json, nopatch_img_dir_name,
json_summary = {
'slave%s' % slave_num: slave_dict
}
+ # Read the skpdiff CSV output.
+ page_to_perceptual_similarity = {}
+ for row in csv.DictReader(open(skpdiff_output_csv, 'r')):
+ page_to_perceptual_similarity[row['key']] = float(
+ row[' perceptual'].strip())
+
for file1 in files_to_checksums1:
algo1, checksum1 = files_to_checksums1[file1]
algo2, checksum2 = files_to_checksums2[file1]
@@ -102,7 +110,9 @@ def WriteJsonSummary(img_root, nopatch_json, nopatch_img_dir_name,
json_summary_constants.JSONKEY_WEIGHTED_DIFF_MEASURE:
image_diff.get_weighted_diff_measure(),
json_summary_constants.JSONKEY_MAX_DIFF_PER_CHANNEL:
- image_diff.get_max_diff_per_channel()
+ image_diff.get_max_diff_per_channel(),
+ json_summary_constants.JSONKEY_PERCEPTUAL_SIMILARITY:
+ page_to_perceptual_similarity[file1],
})
if file_differences:
slave_dict[json_summary_constants.JSONKEY_FAILED_FILES_COUNT] = len(
@@ -170,21 +180,25 @@ if '__main__' == __name__:
option_parser.add_option(
'', '--imagediffdb_path',
help='Local complete path to imagediffdb.py in Skia trunk.')
+ option_parser.add_option(
+ '', '--skpdiff_output_csv',
+ help='Local complete path to the CSV output of skpdiff.')
options, unused_args = option_parser.parse_args()
if (not options.nopatch_json or not options.withpatch_json
or not options.output_file_path or not options.gs_output_dir
or not options.gs_skp_dir or not options.slave_num
or not options.gm_json_path or not options.img_root
epoger 2014/02/03 21:17:13 I think an automated check of all required_params
or not options.nopatch_img_dir_name or not options.withpatch_img_dir_name
- or not options.imagediffdb_path):
+ or not options.imagediffdb_path or not options.skpdiff_output_csv):
option_parser.error(
'Must specify img_root, nopatch_json, nopatch_img_dir_name, '
'withpatch_json, withpatch_img_dir_name, output_file_path, '
- 'gs_output_dir, gs_skp_dir, slave_num, gm_json_path and '
- 'imagediffdb_path.')
+ 'gs_output_dir, gs_skp_dir, slave_num, gm_json_path, '
+ 'imagediffdb_path and skpdiff_output_csv.')
WriteJsonSummary(options.img_root, options.nopatch_json,
options.nopatch_img_dir_name, options.withpatch_json,
options.withpatch_img_dir_name, options.output_file_path,
options.gs_output_dir, options.gs_skp_dir, options.slave_num,
- options.gm_json_path, options.imagediffdb_path)
+ options.gm_json_path, options.imagediffdb_path,
+ options.skpdiff_output_csv)

Powered by Google App Engine
This is Rietveld 408576698