blob: 136e27815b1c71b99f0dfe42b7d7173fb1c86105 [file] [log] [blame]
<div xmlns:py="http://genshi.edgewall.org/">
<h3>Reporting rate and jitter</h3>
<table class="datatable test_verdicts">
<tr>
<th></th>
<th>Value</th>
<th>Maximum allowed</th>
<th>Pass/Fail</th>
</tr>
<tr>
<td>Max Error (Linear Fit)</td>
<td>${"%.3f mm" % results.max_offset_from_linear_fit if results.max_offset_from_linear_fit is not None else "N/A"}</td>
<td>${"%.3f mm" % settings.maxoffset if settings.maxoffset is not None else "N/A"}</td>
<td class="${'passed' if settings.maxoffset >= results.max_offset_from_linear_fit else 'failed'}">
${"Pass" if settings.maxoffset >= results.max_offset_from_linear_fit else "Fail"}</td>
</tr>
<tr>
<td>Mean of Max Errors</td>
<td>${"%.3f mm" % results.avg_of_offsets_from_linear_fit if results.avg_of_offsets_from_linear_fit is not None else "N/A"}</td>
<td>${"%.3f mm" % settings.maxoffset if settings.maxoffset is not None else "N/A"}</td>
<td class="${'passed' if results.avg_of_offsets_from_linear_fit is not None and settings.maxoffset >= results.avg_of_offsets_from_linear_fit else 'failed'}">
${"Pass" if results.avg_of_offsets_from_linear_fit is not None and settings.maxoffset >= results.avg_of_offsets_from_linear_fit else "Fail"}</td>
</tr>
<tr>
<td>Digitizer Jitter</td>
<td>${"%s mm" % results.max_jitter if results.max_jitter is not None else "N/A"}</td>
<td>${"%.3f mm" % settings.maxjitter if settings.maxjitter is not None else "N/A"}</td>
<td class="${'passed' if results.jitter_verdict =='Pass' else 'failed'}">$results.jitter_verdict</td>
</tr>
<tr>
<td>Digitizer Offset</td>
<td>${"%s mm" % results.max_offset if results.max_offset is not None else "N/A"}</td>
<td>${"%.3f mm" % settings.maxoffset if settings.maxoffset is not None else "N/A"}</td>
<td class="${'passed' if results.offset_verdict =='Pass' else 'failed'}">$results.offset_verdict</td>
</tr>
<tr>
<td>Missing swipes</td>
<td>${results.missing_count}/${results.swipe_count}</td>
<td>${"%d" % settings.maxmissingswipes}</td>
<td class="${'passed' if settings.maxmissingswipes >= results.missing_count else 'failed'}">${"Pass" if settings.maxmissingswipes >= results.missing_count else "Fail"}</td>
</tr>
</table>
<!-- Preview image -->
<div py:if="'noimages' not in kwargs" class="preview">
<a href="${detailed_figure}">
<img src="${figure}" width="800" height="600" alt="Swipe preview image"/>
</a>
</div>
<!-- Preview table -->
<div class="dtable no_print">
<div class="dtable_row subplot_selector">
<div class="dtable_header narrow_cell">Toggle:
</div><div class="dtable_header narrow_cell subplot_button"><button class="all_lines_button">All</button>
</div><div class="dtable_header narrow_cell subplot_button"><button class="failed_lines_button">Failed</button>
</div><div class="dtable_header narrow_cell subplot_button"><button class="passed_lines_button">Passed</button></div>
</div>
</div>
<div class="dtable subplot_table">
<div class="dtable_header_row">
<div class="dtable_header narrow_cell">Swipe ID
</div><div class="dtable_header narrow_cell">Max Jitter
</div><div class="dtable_header narrow_cell">Max Offset
</div><div class="dtable_header narrow_cell">Pass/Fail
</div><div class="dtable_header no_print">Detailed plot</div>
</div>
<div py:for="swipe in results.swipes" class="dtable_row plot_header">
<div class="dtable_cell narrow_cell">${swipe[0]}
</div><div class="dtable_cell narrow_cell"> ${"%s mm" % swipe[1] if swipe[1] is not None else "N/A"}
</div><div class="dtable_cell narrow_cell"> ${"%s mm" % swipe[2] if swipe[2] is not None else "N/A"}
</div><div class="dtable_cell narrow_cell ${'passed' if swipe[3]=='Pass' else 'failed'}"> ${swipe[3]}
</div><div class="dtable_cell no_print"><button type="button" class="show_plot">Show/Hide</button>
</div><div class="plot" data-src="${swipe[4]}"/>
</div>
</div>
</div>