Index: webrtc/video/full_stack_tests_plot.py |
diff --git a/webrtc/video/full_stack_tests_plot.py b/webrtc/video/full_stack_tests_plot.py |
index b922289482fb1fe24621d1df9dec4151ae5a2086..3b324da67bb96e2e163379ab4f386ec749b0463a 100755 |
--- a/webrtc/video/full_stack_tests_plot.py |
+++ b/webrtc/video/full_stack_tests_plot.py |
@@ -57,7 +57,7 @@ HIDE_DROPPED = 256 |
RIGHT_Y_AXIS = 512 |
# internal field id, field name, title |
-_fields = [ |
+_FIELDS = [ |
# Raw |
(DROPPED, "dropped", "dropped"), |
(INPUT_TIME, "input_time_ms", "input time"), |
@@ -75,16 +75,16 @@ _fields = [ |
(RENDERED_DELTA, "rendered_delta", "rendered delta"), |
] |
-name_to_id = {field[1]: field[0] for field in _fields} |
-id_to_title = {field[0]: field[2] for field in _fields} |
+NAME_TO_ID = {field[1]: field[0] for field in _FIELDS} |
+ID_TO_TITLE = {field[0]: field[2] for field in _FIELDS} |
-def field_arg_to_id(arg): |
+def FieldArgToId(arg): |
if arg == "none": |
return None |
- if arg in name_to_id: |
- return name_to_id[arg] |
- if arg + "_ms" in name_to_id: |
- return name_to_id[arg + "_ms"] |
+ if arg in NAME_TO_ID: |
+ return NAME_TO_ID[arg] |
+ if arg + "_ms" in NAME_TO_ID: |
+ return NAME_TO_ID[arg + "_ms"] |
raise Exception("Unrecognized field name \"{}\"".format(arg)) |
@@ -105,9 +105,9 @@ class Data(object): |
self.length = 0 |
self.samples = defaultdict(list) |
- self._read_samples(filename) |
+ self._ReadSamples(filename) |
- def _read_samples(self, filename): |
+ def _ReadSamples(self, filename): |
"""Reads graph data from the given file.""" |
f = open(filename) |
it = iter(f) |
@@ -115,7 +115,7 @@ class Data(object): |
self.title = it.next().strip() |
self.length = int(it.next()) |
field_names = [name.strip() for name in it.next().split()] |
- field_ids = [name_to_id[name] for name in field_names] |
+ field_ids = [NAME_TO_ID[name] for name in field_names] |
for field_id in field_ids: |
self.samples[field_id] = [0.0] * self.length |
@@ -124,18 +124,18 @@ class Data(object): |
for col, value in enumerate(it.next().split()): |
self.samples[field_ids[col]][sample_id] = float(value) |
- self._subtract_first_input_time() |
- self._generate_additional_data() |
+ self._SubtractFirstInputTime() |
+ self._GenerateAdditionalData() |
f.close() |
- def _subtract_first_input_time(self): |
+ def _SubtractFirstInputTime(self): |
offset = self.samples[INPUT_TIME][0] |
for field in [INPUT_TIME, SEND_TIME, RECV_TIME, RENDER_TIME]: |
if field in self.samples: |
self.samples[field] = [x - offset for x in self.samples[field]] |
- def _generate_additional_data(self): |
+ def _GenerateAdditionalData(self): |
"""Calculates sender time, receiver time etc. from the raw data.""" |
s = self.samples |
last_render_time = 0 |
@@ -153,16 +153,16 @@ class Data(object): |
s[RENDERED_DELTA][k] = decoded_time - last_render_time |
last_render_time = decoded_time |
- def _hide(self, values): |
+ def _Hide(self, values): |
""" |
Replaces values for dropped frames with None. |
- These values are then skipped by the plot() method. |
+ These values are then skipped by the Plot() method. |
""" |
return [None if self.samples[DROPPED][k] else values[k] |
for k in range(len(values))] |
- def add_samples(self, config, target_lines_list): |
+ def AddSamples(self, config, target_lines_list): |
"""Creates graph lines from the current data set with given config.""" |
for field in config.fields: |
# field is None means the user wants just to skip the color. |
@@ -174,14 +174,14 @@ class Data(object): |
values = self.samples[field_id] |
if field & HIDE_DROPPED: |
- values = self._hide(values) |
+ values = self._Hide(values) |
target_lines_list.append(PlotLine( |
- self.title + " " + id_to_title[field_id], |
+ self.title + " " + ID_TO_TITLE[field_id], |
values, field & ~FIELD_MASK)) |
-def average_over_cycle(values, length): |
+def AverageOverCycle(values, length): |
""" |
Returns the list: |
[ |
@@ -220,16 +220,16 @@ class PlotConfig(object): |
self.output_filename = output_filename |
self.title = title |
- def plot(self, ax1): |
+ def Plot(self, ax1): |
lines = [] |
for data in self.data_list: |
if not data: |
# Add None lines to skip the colors. |
lines.extend([None] * len(self.fields)) |
else: |
- data.add_samples(self, lines) |
+ data.AddSamples(self, lines) |
- def _slice_values(values): |
+ def _SliceValues(values): |
if self.offset: |
values = values[self.offset:] |
if self.frames: |
@@ -241,9 +241,9 @@ class PlotConfig(object): |
if line is None: |
continue |
- line.values = _slice_values(line.values) |
+ line.values = _SliceValues(line.values) |
if self.cycle_length: |
- line.values = average_over_cycle(line.values, self.cycle_length) |
+ line.values = AverageOverCycle(line.values, self.cycle_length) |
if length is None: |
length = len(line.values) |
@@ -272,7 +272,7 @@ class PlotConfig(object): |
x = numpy.array(range(self.offset, self.offset + len(line.values))) |
y = numpy.array(line.values) |
ax = ax2 if line.flags & RIGHT_Y_AXIS else ax1 |
- ax.plot(x, y, "o-", label=line.label, markersize=3.0, linewidth=1.0, |
+ ax.Plot(x, y, "o-", label=line.label, markersize=3.0, linewidth=1.0, |
color=color_iter.next()) |
ax1.grid(True) |
@@ -283,20 +283,20 @@ class PlotConfig(object): |
ax1.legend(loc="best", shadow=True, fontsize="large") |
-def load_files(filenames): |
+def LoadFiles(filenames): |
result = [] |
for filename in filenames: |
- if filename in load_files.cache: |
- result.append(load_files.cache[filename]) |
+ if filename in LoadFiles.cache: |
+ result.append(LoadFiles.cache[filename]) |
else: |
data = Data(filename) |
- load_files.cache[filename] = data |
+ LoadFiles.cache[filename] = data |
result.append(data) |
return result |
-load_files.cache = {} |
+LoadFiles.cache = {} |
-def get_parser(): |
+def GetParser(): |
class CustomAction(argparse.Action): |
def __call__(self, parser, namespace, values, option_string=None): |
if "ordered_args" not in namespace: |
@@ -335,7 +335,7 @@ def get_parser(): |
return parser |
-def _plot_config_from_args(args, graph_num): |
+def _PlotConfigFromArgs(args, graph_num): |
# Pylint complains about using kwargs, so have to do it this way. |
cycle_length = None |
frames = None |
@@ -362,7 +362,7 @@ def _plot_config_from_args(args, graph_num): |
elif key == "right": |
mask |= RIGHT_Y_AXIS |
elif key == "field": |
- field_id = field_arg_to_id(values[0]) |
+ field_id = FieldArgToId(values[0]) |
fields.append(field_id | mask if field_id is not None else None) |
mask = 0 # Reset mask after the field argument. |
elif key == "files": |
@@ -373,12 +373,12 @@ def _plot_config_from_args(args, graph_num): |
if not fields: |
raise Exception("Missing field argument(s) for graph #{}".format(graph_num)) |
- return PlotConfig(fields, load_files(files), cycle_length=cycle_length, |
+ return PlotConfig(fields, LoadFiles(files), cycle_length=cycle_length, |
frames=frames, offset=offset, output_filename=output_filename, |
title=title) |
-def plot_configs_from_args(args): |
+def PlotConfigsFromArgs(args): |
"""Generates plot configs for given command line arguments.""" |
# The way it works: |
# First we detect separators -n/--next and split arguments into groups, one |
@@ -388,21 +388,21 @@ def plot_configs_from_args(args): |
args = itertools.groupby(args, lambda x: x in ["-n", "--next"]) |
args = list(list(group) for match, group in args if not match) |
- parser = get_parser() |
+ parser = GetParser() |
plot_configs = [] |
for index, raw_args in enumerate(args): |
graph_args = parser.parse_args(raw_args).ordered_args |
- plot_configs.append(_plot_config_from_args(graph_args, index)) |
+ plot_configs.append(_PlotConfigFromArgs(graph_args, index)) |
return plot_configs |
-def show_or_save_plots(plot_configs): |
+def ShowOrSavePlots(plot_configs): |
for config in plot_configs: |
fig = plt.figure(figsize=(14.0, 10.0)) |
- ax = fig.add_subplot(1, 1, 1) |
+ ax = fig.add_subPlot(1, 1, 1) |
plt.title(config.title) |
- config.plot(ax) |
+ config.Plot(ax) |
if config.output_filename: |
print "Saving to", config.output_filename |
fig.savefig(config.output_filename) |
@@ -411,4 +411,4 @@ def show_or_save_plots(plot_configs): |
plt.show() |
if __name__ == "__main__": |
- show_or_save_plots(plot_configs_from_args(sys.argv[1:])) |
+ ShowOrSavePlots(PlotConfigsFromArgs(sys.argv[1:])) |