Difference between revisions of "UM:Appendix Monitorgraphs Spec"

From DigitalVision
Jump to: navigation, search
m (Text replacement - "|Platform:" to "|UM:")
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<div class="manualcontent">
 
<div class="manualcontent">
  
{{Template:M-Navlinks-top|UM:Manual|UM:Appendix_Monitormasks_Spec|UM:Thirdparty_Licensing__Copyrigh}}
+
{{Template:M-Navlinks-top|UM:Manual|UM:Appendix_Monitormasks_Spec|UM:Creating_QT_Presets}}
  
 
{{Template:M-Title|Graphs Specification}}
 
{{Template:M-Title|Graphs Specification}}
  
<p class="p_DVBodyText"><span class="f_DVBodyText">Display a graph or histogram of image colour map.</span></p>
+
{{M-AppearsFromRelease|2017.1 Updates}}
<p class="p_DVBodyTextIndent2"><span class="f_DVBodyTextIndent2"> </span></p>
+
 
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="0" cellpadding="4" cellspacing="0" style="border: none; border-spacing:0px;">
+
 
<tr style="text-align:left;vertical-align:top;">
+
{| width="40%" cellpadding="5" border="1" style="border-collapse: collapse;"
<td style="width:251px;" valign="top" width="251"><p class="p_DVTableText">[[File:app-viewer_hist1.png|alt=app-viewer_hist1]]</p>
+
|-
<p class="p_DVTableText"><span class="f_ImageCaption">Parade style centred.</span></p>
+
|Updated for release 2017.1 (marked <span class="m-new">[2017]</span>). Including :
</td>
+
* GPU processsing
<td style="width:247px;" valign="top" width="247"><p class="p_DVTableText">[[File:app-viewer_hist2.png|alt=app-viewer_hist2]]</p>
+
* New styles (Vectorscope, GPU styles)
<p class="p_DVTableText"><span class="f_ImageCaption">Fill style south-west.</span></p>
+
* PQ settings
</td>
+
|}
</tr>
+
 
</table>
+
 
</div>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
We can display graphs or histograms of image color maps using the ''monitorGraphs'' specification files. These graphs can be fully customised in look and position.
<p class="p_DVHeader1"><span class="f_DVHeader1">File Specification</span></p>
+
 
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="0" cellpadding="0" cellspacing="0" style="line-height: normal;"><tr style="vertical-align:baseline" valign="baseline"><td width="13"><span style="font-size: 11pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', 'Arial'; color: #000000;"></span></td><td><span class="f_DVBodyText">A graphs file must end in the extension '</span><span class="f_Emphasis">.graphs</span><span class="f_DVBodyText">', e.g. test.graphs</span></td></tr></table></div><div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 0px 0px;"><table border="0" cellpadding="0" cellspacing="0" style="line-height: normal;"><tr style="vertical-align:baseline" valign="baseline"><td width="13"><span style="font-size: 11pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', 'Arial'; color: #000000;"></span></td><td><span class="f_ListItemIndented">It should be a plain text file</span></td></tr></table></div><p class="p_ListItemIndented"><span class="f_ListItemIndented"> </span></p>
+
For example :
<p class="p_DVBodyText"><span class="f_DVBodyText">The format used for a Graph file is simpler than that used for Grids and Masks.</span></p>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
{| width="60%" cellpadding="3" style="border-collapse: collapse;"
<p class="p_DVBodyText"><span class="f_DVBodyText">Each specification file specifies </span><span class="f_DVBodyText" style="font-style: italic;">one or more graphs</span><span class="f_DVBodyText">, each identified by </span><span class="f_Emphasis">unique name</span><span class="f_DVBodyText"> (a GraphID string) and containing a list of drawing instructions.</span></p>
+
|- style="vertical-align:top;"
<p class="p_DVHeader2"><span class="f_DVHeader2">Graph File Format</span></p>
+
|style "parade" ("center" "center") :<br/>[[File:app-viewer_hist1.png|alt=app-viewer_hist1]]
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
|style "fill" ("bottom" "left") :<br/>[[File:app-viewer_hist2.png|alt=app-viewer_hist2]]
<tr style="text-align:left;vertical-align:top;">
+
|}
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">// This is a comment and ignored</span></p>
+
 
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">&lt;GraphID 1&gt;</span></p>
+
{{M-Note|NOTE :
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">{</span></p>
+
 
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    &lt;Graph Specification&gt;</span></p>
+
* For performance, some graphs are processed on the '''GPU'''.
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">}</span></p>
+
** Graphs that use the GPU have a style named '''gpu-''' (see [[#styles|styles]] below).
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents"> </span></p>
+
* HDR scaling is fully supported.
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">&lt;GraphID 2&gt;</span></p>
+
}}
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">{</span></p>
+
 
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    &lt;Graph Specification&gt;</span></p>
+
{{M-Heading1|Graph Files}}
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">}</span></p>
+
 
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents"> </span></p>
+
Graphs are specified in text files :
</td>
+
 
</tr>
+
* With an extension .graphs
</table>
+
* The files are plain text
</div>
+
* '''Multiple''' graphs can be specified in each file
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
* We will read '''all''' files in the graph folder specified in the preference setting : <tt>monitorGraphsDir</tt><br/><br/>This defaults to folder : <tt>ROOT\<monitorGraphs</tt>.
<p class="p_DVBodyText"><span class="f_DVBodyTextIndent2">Graph files :</span></p>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
{{M-Note|See the example graph files located in the <tt>ROOT\<monitorGraphs></tt> folder.<br/>For information on the installation ROOT, see [[Nucoda:Main/Environment|here]] (Nucoda) and [[Phoenix:Main/Environment|here]] (Phoenix).}}
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 40px;"><table border="0" cellpadding="0" cellspacing="0" style="line-height: normal;"><tr style="vertical-align:baseline" valign="baseline"><td width="13"><span style="font-size: 11pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', 'Arial'; color: #000000;">•</span></td><td><span class="f_DVBodyTextIndent1">Do </span><span class="f_DVBodyTextIndent1" style="font-weight: bold;">not</span><span class="f_DVBodyTextIndent1"> use </span><span class="f_DVBodyTextIndent1" style="font-style: italic;">semi-colons</span><span class="f_DVBodyTextIndent1"> to terminate lines</span></td></tr></table></div><div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 40px;"><table border="0" cellpadding="0" cellspacing="0" style="line-height: normal;"><tr style="vertical-align:baseline" valign="baseline"><td width="13"><span style="font-size: 11pt; font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', 'Arial'; color: #000000;">•</span></td><td><span class="f_DVBodyTextIndent2">Use C++ style </span><span class="f_DVBodyTextIndent2" style="font-style: italic;">comments</span><span class="f_DVBodyTextIndent2"> (two characters "//" at line start)</span></td></tr></table></div><p class="p_DVHeader1"><span class="f_DVHeader1">Overview</span></p>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText">The main elements of the graph are shown below :</span></p>
+
{{M-Heading2c|Graph Format}}
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
 
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="0" cellpadding="4" cellspacing="0" style="border: none; border-spacing:0px; border-collapse: collapse;">
+
Each graph has the following format :
<tr style="text-align:left;vertical-align:top;">
+
 
<td style="width:478px; border: solid 1px #999999;" valign="top" width="478"><p class="p_DVBodyText">[[File:app-viewer_overall-annotated.png|alt=app-viewer_overall-annotated]]</p>
+
<pre>
</td>
+
// This is a comment and ignored
</tr>
+
<GraphID>
</table>
+
{
</div>
+
  <Graph Specification>
<p class="p_DVHeader1"><span class="f_DVHeader1">Main Parameters</span></p>
+
}
<p class="p_DVHeader3"><span class="f_DVHeader3">GraphID</span></p>
+
</pre>
<p class="p_DVBodyText"><span class="f_DVBodyText">The </span><span class="f_DVBodyText" style="font-style: italic; font-weight: bold;">unique</span><span class="f_DVBodyText"> identifier for the graph e.g. </span></p>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
* <tt>GraphID</tt> identifies the graph
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
** It must be '''unique'''
<tr style="text-align:left;vertical-align:top;">
+
** It must not contain spaces
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents" style="font-weight: bold;">NameOfGraph</span></p>
+
** It is not displayed (use "name", see below)
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">{</span></p>
+
 
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    ....</span></p>
+
The ''Graph Specification'' is written within the body of the ''GraphID'', the body delimited with curly braces ({}).
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">}</span></p>
+
 
</td>
+
{{M-Heading1|Graph Specification}}
</tr>
+
 
</table>
+
The <tt><Graph Specification></tt> is laid out as follows :
</div>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
<pre>
<p class="p_DVBodyText"><span class="f_DVBodyText">This identifier is not displayed.</span></p>
+
<basics>
<p class="p_DVBodyText"><span class="f_DVBodyText"</span></p>
+
<current section>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="1" cellpadding="0" cellspacing="10" style="border: solid 1px #d50000; border-spacing:10px;">
+
<compare section>
<tr style="text-align:left;vertical-align:middle;">
+
</pre>
<td style="width:36px; border: none" valign="top" width="36"><p class="p_DVTableText">[[File:dv_alert.png|alt=dv_alert]]</p>
+
 
</td>
+
{{M-Heading2|Overview}}
<td style="width:760px; border: none" valign="middle" width="760"><p class="p_DVTableText"><span class="f_DVTableText">This identifier must </span><span class="f_DVTableText" style="font-weight: bold;">not</span><span class="f_DVTableText"> contain any spaces.</span></p>
+
 
</td>
+
The main elements of the graph are shown below :
</tr>
+
 
</table>
+
[[File:app-viewer_overall-annotated.png|alt=app-viewer_overall-annotated]]
</div>
+
 
<p class="p_DVHeader3"><span class="f_DVHeader3">name</span></p>
+
{{M-Heading2|Basics}}
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
 
<tr style="text-align:left;vertical-align:top;">
+
The following basic graph parameters can be used in the main body.
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">name   "&lt;STRING&gt;"</span></p>
+
 
</td>
+
{| class="wikitable" width="100%"
</tr>
+
 
</table>
+
|- style="vertical-align:top;"
</div>
+
!Name
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
!Format
<p class="p_DVBodyText"><span class="f_DVBodyText">This is the name displayed in the GUI Graph drop-down list e.g.</span></p>
+
!Note
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
 
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="0" cellpadding="4" cellspacing="0" style="border: none; border-spacing:0px; border-collapse: collapse;">
+
<!-- ----------------------------------------------------- -->
<tr style="text-align:left;vertical-align:top;">
+
|- style="vertical-align:top;"
<td style="width:270px; border: solid 1px #999999;" valign="top" width="270"><p class="p_DVTableText">[[File:app-viewer_name-cropped-scaled.png|alt=app-viewer_name-cropped-scaled]]</p>
+
|width="20%"|
<p class="p_DVTableText"><span class="f_ImageCaption">Graph </span><span class="f_ImageCaption" style="font-style: italic;">name</span><span class="f_ImageCaption"> in drop-down list</span></p>
+
name
</td>
+
|width="45%"|
</tr>
+
name "STRING"
</table>
+
|
</div>
+
The "name" will be displayed to the user in the Graphs drop-down list in the GUI.
<p class="p_DVHeader3"><span class="f_DVHeader3">intervals</span></p>
+
<!-- ----------------------------------------------------- -->
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
|- style="vertical-align:top;"
<tr style="text-align:left;vertical-align:top;">
+
|
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">intervals  &lt;INT&gt;</span></p>
+
grid <span class="m-new">[2017]</span>
</td>
+
|
</tr>
+
grid <true|false>
</table>
+
|
</div>
+
If set to true will draw a background grid.
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
<!-- ----------------------------------------------------- -->
<p class="p_DVBodyText"><span class="f_DVBodyText">The </span><span class="f_DVBodyText" style="font-style: italic;">intervals</span><span class="f_DVBodyText"> parameter defines the total number of solid lines drawn to mark </span><span class="f_DVBodyText" style="font-style: italic;">intervals</span><span class="f_DVBodyText"> on the graph. See </span><span class="f_DVBodyText" style="font-style: italic;">overview</span><span class="f_DVBodyText"> diagram above.</span></p>
+
|- style="vertical-align:top;"
<p class="p_DVHeader3"><span class="f_DVHeader3">black</span></p>
+
|
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
intervals
<tr style="text-align:left;vertical-align:top;">
+
|
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">black  &lt;FLOAT&gt;</span></p>
+
intervals <INTEGER>
</td>
+
|
</tr>
+
Defines the total number of lines drawn to mark intervals on the graph.
</table>
+
<!-- ----------------------------------------------------- -->
</div>
+
|- style="vertical-align:top;"
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
|
<p class="p_DVBodyText"><span class="f_DVBodyText">The </span><span class="f_DVBodyText" style="font-style: italic;">black</span><span class="f_DVBodyText"> parameter specifies the position of the dashed line representing the </span><span class="f_DVBodyText" style="font-weight: bold;">black</span><span class="f_DVBodyText"> point. See </span><span class="f_DVBodyText" style="font-style: italic;">overview</span><span class="f_DVBodyText"> diagram above.</span></p>
+
CustomIntervals <span class="m-new">[2017]</span>
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
|
<p class="p_DVBodyText"><span class="f_DVBodyText">It is given in </span><span class="f_DVBodyText" style="font-style: italic;">normalised</span><span class="f_DVBodyText"> coordinates (0.0 to 1.0).</span></p>
+
<pre>
<p class="p_DVHeader3"><span class="f_DVHeader3">white</span></p>
+
customIntervals
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
[
<tr style="text-align:left;vertical-align:top;">
+
    interval
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">white  &lt;FLOAT&gt;</span></p>
+
    {
</td>
+
      level <FLOAT>
</tr>
+
      label "STRING"
</table>
+
      colour <FLOAT> <FLOAT> <FLOAT>
</div>
+
      dashed <true|false>
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
    }
<p class="p_DVBodyText"><span class="f_DVBodyText">The </span><span class="f_DVBodyText" style="font-style: italic;">white</span><span class="f_DVBodyText"> parameter specifies the position of the dashed line representing the </span><span class="f_DVBodyText" style="font-weight: bold;">white</span><span class="f_DVBodyText"> point. See </span><span class="f_DVBodyText" style="font-style: italic;">overview</span><span class="f_DVBodyText"> diagram above.</span></p>
+
]
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
</pre>
<p class="p_DVBodyText"><span class="f_DVBodyText">It is given in </span><span class="f_DVBodyText" style="font-style: italic;">normalised</span><span class="f_DVBodyText"> coordinates (0.0 to 1.0).</span></p>
+
|
<p class="p_DVHeader2"><span class="f_DVHeader2">Current Section</span></p>
+
Define one or more custom intervals.<br/>
<p class="p_DVBodyText"><span class="f_DVBodyText">The </span><span class="f_DVBodyText" style="font-style: italic;">current</span><span class="f_DVBodyText"> section is </span><span class="f_DVBodyText" style="font-weight: bold;">optional</span><span class="f_DVBodyText">.</span></p>
+
You can include multiple "interval" definitions inside "customIntervals".<br/>
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
 
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
Parameters :
<tr style="text-align:left;vertical-align:top;">
+
 
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">current</span></p>
+
* level - '''required'''
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">{</span></p>
+
** 0.0-1.0 (>1 for HDR)
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    origin "bottom" "left"</span></p>
+
** For PQ Space, in ''nits''
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    offset 0 0</span></p>
+
* label - label line with the value<br/>Note that "%" is a special character - it is replaced by the value of the level.
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    size   800 600</span></p>
+
* colour
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    style "parade"</span></p>
+
** Default 1.0 1.0 1.0
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">}</span></p>
+
** Can use > 1.0
</td>
+
* dashed - use dashed line (default is solid)
</tr>
+
 
</table>
+
<!-- ----------------------------------------------------- -->
</div>
+
|- style="vertical-align:top;"
<p class="p_DVHeader3"><span class="f_DVHeader3">origin</span></p>
+
|
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
black
<tr style="text-align:left;vertical-align:top;">
+
|
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">origin "&lt;STRING V&gt;" "&lt;STRING H&gt;"</span></p>
+
black <FLOAT>
</td>
+
|
</tr>
+
Define the position of the dashed line representing the ''black'' point.
</table>
+
 
</div>
+
'''NOTE:''' Coordinates are normalised 0.0 to 1.0.
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
<!-- ----------------------------------------------------- -->
<p class="p_DVBodyText"><span class="f_DVBodyText">This defines the </span><span class="f_DVBodyText" style="font-style: italic;">vertical and horizontal</span><span class="f_DVBodyText"> positioning of the graph.</span></p>
+
|- style="vertical-align:top;"
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
|
<p class="p_DVBodyText"><span class="f_DVBodyText">Where :</span></p>
+
white
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="0" cellpadding="4" cellspacing="3" style="border: none; border-spacing:3px;">
+
|
<tr style="text-align:left;vertical-align:top;">
+
white <FLOAT>
<td style="width:120px;" valign="top" width="120"><p class="p_DVTableText" style="text-align: right;"><span class="f_DVTableText" style="font-weight: bold;">STRING V</span></p>
+
|
</td>
+
Define the position of the dashed line representing the ''white'' point.
<td style="width:630px;" valign="top" width="630"><p class="p_DVTableText"><span class="f_DVTableText">Vertical alignment.</span></p>
+
 
<p class="p_DVTableText"><span class="f_DVTableText" style="font-weight: bold;">Values :</span><span class="f_DVTableText"> bottom center (or centre) top</span></p>
+
'''NOTE:''' Coordinates are normalised 0.0 to 1.0.
</td>
+
 
</tr>
+
|}
<tr style="text-align:left;vertical-align:top;">
+
 
<td style="width:120px;" valign="top" width="120"><p class="p_DVTableText" style="text-align: right;"><span class="f_DVTableText" style="font-weight: bold;">STRING H</span></p>
+
{{M-Heading2|Current Section}}
</td>
+
 
<td style="width:630px;" valign="top" width="630"><p class="p_DVTableText"><span class="f_DVTableText">Horizontal alignment</span></p>
+
{{M-Note|This section is optional.}}
<p class="p_DVTableText"><span class="f_DVTableText" style="font-weight: bold;">Values :</span><span class="f_DVTableText"> left center (or centre) right</span></p>
+
 
</td>
+
The ''current'' section has the format :
</tr>
+
 
</table>
+
<pre>
</div>
+
current
<p class="p_DVHeader3"><span class="f_DVHeader3">offset</span></p>
+
{
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
    <current specification>
<tr style="text-align:left;vertical-align:top;">
+
}
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">offset &lt;INT x&gt; &lt;INT y&gt;</span></p>
+
</pre>
</td>
+
 
</tr>
+
{| class="wikitable" width="100%"
</table>
+
 
</div>
+
|- style="vertical-align:top;"
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
!Name
<p class="p_DVBodyText"><span class="f_DVBodyText">This is the (x,y) position of the graph inside the monitor display area.</span></p>
+
!Format
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
!Note
<p class="p_DVBodyText"><span class="f_DVBodyText">(0,0) is bottom-left.</span></p>
+
<!-- ----------------------------------------------------- -->
<p class="p_DVHeader3"><span class="f_DVHeader3">size</span></p>
+
|- style="vertical-align:top;"
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
|width="20%"|
<tr style="text-align:left;vertical-align:top;">
+
fontSize <span class="m-new">[2017]</span>
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">size &lt;INT w&gt; &lt;INT h&gt;</span></p>
+
|width="45%"|
</td>
+
fontSize <INTEGER>
</tr>
+
|
</table>
+
Set the font size used to "INTEGER" (default is 10)
</div>
+
<!-- ----------------------------------------------------- -->
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
|- style="vertical-align:top;"
<p class="p_DVBodyText"><span class="f_DVBodyText">This is the (width,height) in pixels of the graph.</span></p>
+
|width="20%"|
<p class="p_DVHeader3"><span class="f_DVHeader3">style</span></p>
+
origin
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
|width="40%"|
<tr style="text-align:left;vertical-align:top;">
+
origin "<STRING V>" "<STRING H>"
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">style "&lt;STRING S&gt;"</span></p>
+
|
</td>
+
Define the horizontal and vertical position of graph :
</tr>
+
 
</table>
+
* STRING V : <bottom|center|top>
</div>
+
* STRING H : <left|center|right>
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText">Where :</span></p>
+
e.g.
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="0" cellpadding="4" cellspacing="3" style="border: none; border-spacing:3px;">
+
 
<tr style="text-align:left;vertical-align:top;">
+
<tt>origin "bottom" "left"</tt>
<td style="width:120px;" valign="top" width="120"><p class="p_DVTableText" style="text-align: right;"><span class="f_DVTableText" style="font-weight: bold;">STRING S</span></p>
+
<!-- ----------------------------------------------------- -->
</td>
+
|- style="vertical-align:top;"
<td style="width:630px;" valign="top" width="630"><p class="p_DVTableText"><span class="f_DVTableText">Style chosen</span></p>
+
|width="20%"|
<p class="p_DVTableText"><span class="f_DVTableText" style="font-weight: bold;">Values :</span><span class="f_DVTableText"> parade fill line</span></p>
+
offset
</td>
+
|width="40%"|
</tr>
+
offset <INTEGER X> <INTEGER Y>
</table>
+
|
</div>
+
This is the (x,y) position of the graph inside the monitor display area.
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText">This defines the type of graph to display.</span></p>
+
'''NOTE:''' (0,0) is bottom-left.
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
<!-- ----------------------------------------------------- -->
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table border="0" cellpadding="4" cellspacing="0" style="border: none; border-spacing:0px; border-collapse: collapse;">
+
|- style="vertical-align:top;"
<tr style="text-align:left;vertical-align:top;">
+
|width="20%"|
<td style="width:146px; border: solid 1px #999999;" valign="top" width="146"><p class="p_DVTableText">[[File:app-viewer_parade.png|alt=app-viewer_parade]]</p>
+
size
<p class="p_DVTableText"><span class="f_ImageCaption">parade</span></p>
+
|width="40%"|
</td>
+
size <INTEGER W> <INTEGER H>
<td style="width:147px; border: solid 1px #999999;" valign="top" width="147"><p class="p_DVTableText">[[File:app-viewer_fill.png|alt=app-viewer_fill]]</p>
+
|
<p class="p_DVTableText"><span class="f_ImageCaption">fill</span></p>
+
This is the width and height of the graph in pixels.
</td>
+
<!-- ----------------------------------------------------- -->
<td style="width:148px; border: solid 1px #999999;" valign="top" width="148"><p class="p_DVTableText">[[File:app-viewer_line.png|alt=app-viewer_line]]</p>
+
|- style="vertical-align:top;"
<p class="p_DVTableText"><span class="f_ImageCaption">line</span></p>
+
|width="20%"|
</td>
+
opacity <span class="m-new">[2017]</span>
</tr>
+
|width="40%"|
</table>
+
opacity <FLOAT> <FLOAT>
</div>
+
|
<p class="p_DVHeader2"><span class="f_DVHeader2">Compare Section</span></p>
+
 
<p class="p_DVBodyText"><span class="f_DVBodyText">The </span><span class="f_DVBodyText" style="font-style: italic;">compare</span><span class="f_DVBodyText"> section is </span><span class="f_DVBodyText" style="font-weight: bold;">optional</span><span class="f_DVBodyText">.</span></p>
+
<!-- ----------------------------------------------------- -->
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
|- style="vertical-align:top;"
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
|width="20%"|
<tr style="text-align:left;vertical-align:top;">
+
splatShading <span class="m-new">[2017]</span>
<td valign="top"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">compare</span></p>
+
|width="40%"|
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">{</span></p>
+
splatShading <INTEGER opacity> <INTEGER brightness>
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    origin "bottom" "left"</span></p>
+
|
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">}</span></p>
+
Adjust the opacity and brightness of the graph.
</td>
+
<!-- ----------------------------------------------------- -->
</tr>
+
|- style="vertical-align:top;"
</table>
+
|width="20%"|
</div>
+
style
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
|width="40%"|
<p class="p_DVBodyText"><span class="f_DVBodyText">If present, this defines the location of the second comparison graph when in compare mode. The </span><span class="f_DVBodyText" style="font-style: italic;">origin</span><span class="f_DVBodyText"> parameter is as per the </span><span class="f_DVBodyText" style="font-style: italic;">current</span><span class="f_DVBodyText"> section but refers to the location of the second comparison graph.</span></p>
+
style "STRING"
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
|
<p class="p_DVHeader3"><span class="f_DVHeader3">Example :</span></p>
+
Define the "look" of the graph i.e. Vectorscope, Parade, Waveform etc.<br/><br/>
<p class="p_DVBodyText"><span class="f_DVBodyText"> </span></p>
+
See [[#styles|below]] for a summary of available graph styles.
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;"><table bgcolor="#ddeeff" border="0" cellpadding="4" cellspacing="0" style="background-color: #ddeeff; border: none; border-spacing:0px;">
+
<!-- ----------------------------------------------------- -->
<tr style="text-align:left;vertical-align:top;">
+
|- style="vertical-align:top;"
<td style="width:541px;" valign="top" width="541"><p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">current</span></p>
+
|width="20%"|
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">{</span></p>
+
vectorLevels <span class="m-new">[2017]</span>
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    origin "bottom" "left"</span></p>
+
|width="40%"|
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    ....</span></p>
+
vectorLevels <INTEGER> <INTEGER>
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">}</span></p>
+
|
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents"> </span></p>
+
Add level displays to graph. This is a percentage (%). e.g. <tt>vectorLevels 100 75</tt>
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">compare</span></p>
+
If "style" is "gpu-scope".
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">{</span></p>
+
<!-- ----------------------------------------------------- -->
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">    origin "top" "right"</span></p>
+
|- style="vertical-align:top;"
<p class="p_DVPConfigFileContents"><span class="f_DVPConfigFileContents">}</span></p>
+
|width="20%"|
</td>
+
labelRadius <span class="m-new">[2017]</span>
</tr>
+
|width="40%"|
<tr style="text-align:left;vertical-align:top;">
+
label Radius <FLOAT>
<td style="width:541px;" valign="top" width="541"><p class="p_DVTableText">[[File:app-viewer_compare-cropped-scaled-anno.png|alt=app-viewer_compare-cropped-scaled-anno]]</p>
+
|
<p class="p_DVTableText"><span class="f_ImageCaption">Dual Comparison Mode with Graphs</span></p>
+
If "style" is "gpu-scope". Can be used to move the graph labels outwards/inwards.
</td>
+
<!-- ----------------------------------------------------- -->
</tr>
+
|- style="vertical-align:top;"
</table>
+
|width="20%"|
</div>
+
labelPosCy <span class="m-new">[2017]</span>
<p class="p_DVBodyTextIndent2"><span class="f_DVBodyTextIndent2"> </span></p>
+
|width="40%"|
 +
labelPosCy <FLOAT> <FLOAT>
 +
|
 +
If "style" is "gpu-scope". Adjust position of the Cy label.
 +
<!-- ----------------------------------------------------- -->
 +
|- style="vertical-align:top;"
 +
|width="20%"|
 +
labelPosMg <span class="m-new">[2017]</span>
 +
|width="40%"|
 +
labelPosMg <FLOAT> <FLOAT>
 +
|
 +
If "style" is "gpu-scope". Adjust position of the Mg label.
 +
<!-- ----------------------------------------------------- -->
 +
|- style="vertical-align:top;"
 +
|width="20%"|
 +
labelPosB <span class="m-new">[2017]</span>
 +
|width="40%"|
 +
labelPosB <FLOAT> <FLOAT>
 +
|
 +
If "style" is "gpu-scope". Adjust position of the B label.
 +
<!-- ----------------------------------------------------- -->
 +
|- style="vertical-align:top;"
 +
|width="20%"|
 +
PQgrid <span class="m-new">[2017]</span>
 +
|width="40%"|
 +
PQgrid <true|false>
 +
|
 +
Draw ''nit'' lines instead of standard intervals.
 +
<!-- ----------------------------------------------------- -->
 +
|- style="vertical-align:top;"
 +
|width="20%"|
 +
logScale <span class="m-new">[2017]</span>
 +
|width="40%"|
 +
logScale <true|false>
 +
|
 +
 
 +
<!-- ----------------------------------------------------- -->
 +
|- style="vertical-align:top;"
 +
|width="20%"|
 +
tickSize <span class="m-new">[2017]</span>
 +
|width="40%"|
 +
tickSize <INTEGER>
 +
|
 +
 
 +
<!-- ----------------------------------------------------- -->
 +
|- style="vertical-align:top;"
 +
|width="20%"|
 +
lumaCoeffs <span class="m-new">[2017]</span>
 +
|width="40%"|
 +
lumaCoeffs <FLOAT> <FLOAT> <FLOAT>
 +
|
 +
If PQgrid is "true".
 +
<!-- ----------------------------------------------------- -->
 +
|}
 +
 
 +
{{M-Heading2|Compare Section}}
 +
 
 +
If present, this defines the location of the second comparison graph when in ''compare'' mode.
 +
 
 +
The ''origin'' parameter is as per the ''current'' section but refers to the location of the second comparison graph.
 +
 
 +
The ''compare'' section has the format :
 +
 
 +
<pre>
 +
compare
 +
{
 +
    origin "<STRING V>" "<STRING H>"
 +
}
 +
</pre>
 +
 
 +
{{M-Note|This section is optional.}}
 +
 
 +
As an example :
 +
 
 +
<pre>
 +
current
 +
{
 +
  origin "bottom" "left"
 +
  ....
 +
}
 +
 +
compare
 +
{
 +
  origin "top" "right"
 +
}
 +
</pre>
 +
 
 +
Gives :
 +
 
 +
[[File:app-viewer_compare-cropped-scaled-anno.png|alt=app-viewer_compare-cropped-scaled-anno]]
 +
 
 +
<div id="styles"></div>
 +
{{M-Heading2|Graph Styles}}
 +
 
 +
The ''style'' parameter can have the following settings :
 +
 
 +
* fill
 +
* line
 +
* parade
 +
* gpu-scope <span class="m-new">[2017]</span>
 +
* gpu-parade <span class="m-new">[2017]</span>
 +
* gpu-luma_waveform <span class="m-new">[2017]</span>
 +
* gpu-waveform <span class="m-new">[2017]</span>
 +
* gpu-parade-mono <span class="m-new">[2017]</span>
 +
 
 +
These display graphs as follow :
 +
 
 +
{| width="60%"
 +
|- style="vertical-align:top;"
 +
|[[File:app-graphs-fill.png|thumb|200px|none|'''style:''' fill<br/><br/>]]
 +
|[[File:app-graphs-line.png|thumb|200px|none|'''style:''' line<br/><br/>]]
 +
|[[File:app-graphs-CineonRGB_BL.png|thumb|200px|none|'''style:''' parade<br/><br/>Histogram - Cineon RGB]]
 +
|- style="vertical-align:top;"
 +
|[[File:app-graphs-Vectorscope.png|thumb|200px|none|'''style:''' gpu-scope<br/><br/>'''GPU''' - Vectorscope]]
 +
|[[File:app-graphs-ParadeMono.png|thumb|200px|none|'''style:''' gpu-parade-mono<br/><br/>'''GPU''' - Parade - Mono]]
 +
|[[File:app-graphs-ParadeRGB.png|thumb|200px|none|'''style:''' gpu-parade<br/><br/>'''GPU''' - Parade - RGB]]
 +
|- style="vertical-align:top;"
 +
|[[File:app-graphs-LumaPQ_2020.png|thumb|200px|none|'''style:''' gpu-luma_waveform<br/><br/>'''GPU''' - Waveform - PQ - 2020]]
 +
|[[File:app-graphs-RGBPQ_Log.png|thumb|200px|none|'''style:''' gpu-waveform<br/><br/>'''GPU''' - Waveform - PQ - RGB Log]]
 +
|}
 +
 
 +
 
 +
<!--
 +
[[File:app-graphs-LumaPQ_P3.png]]
 +
[[File:app-graphs-WaveLuma.png]]
 +
[[File:app-graphs-WaveRGB.png]]
 +
[[File:app-graphs-HistVideo_BL.png]]
 +
-->
 +
 
  
{{Template:M-Navlinks-bottom|UM:Manual|UM:Appendix_Monitormasks_Spec|UM:Thirdparty_Licensing__Copyrigh}}
+
{{Template:M-Navlinks-bottom|UM:Manual|UM:Appendix_Monitormasks_Spec|UM:Creating_QT_Presets}}
  
 
</div>
 
</div>
Line 286: Line 414:
 
[[Category:Phoenix]]
 
[[Category:Phoenix]]
 
[[Category:Loki]]
 
[[Category:Loki]]
 
 
<!--
 
Originally processed and converted on 2014-06-20 20:09:17
 
-->
 

Latest revision as of 16:39, 28 July 2017

Darrow-up.png     Previous Next

Graphs Specification
From Release : 2017.1 Updates


Updated for release 2017.1 (marked [2017]). Including :
  • GPU processsing
  • New styles (Vectorscope, GPU styles)
  • PQ settings


We can display graphs or histograms of image color maps using the monitorGraphs specification files. These graphs can be fully customised in look and position.

For example :

style "parade" ("center" "center") :
app-viewer_hist1
style "fill" ("bottom" "left") :
app-viewer_hist2

NOTE :

  • For performance, some graphs are processed on the GPU.
    • Graphs that use the GPU have a style named gpu- (see styles below).
  • HDR scaling is fully supported.
Graph Files

Graphs are specified in text files :

  • With an extension .graphs
  • The files are plain text
  • Multiple graphs can be specified in each file
  • We will read all files in the graph folder specified in the preference setting : monitorGraphsDir

    This defaults to folder : ROOT\<monitorGraphs.

See the example graph files located in the ROOT\<monitorGraphs> folder.
For information on the installation ROOT, see here (Nucoda) and here (Phoenix).

Graph Format

Each graph has the following format :

// This is a comment and ignored
<GraphID>
{
   <Graph Specification>
}
  • GraphID identifies the graph
    • It must be unique
    • It must not contain spaces
    • It is not displayed (use "name", see below)

The Graph Specification is written within the body of the GraphID, the body delimited with curly braces ({}).

Graph Specification

The <Graph Specification> is laid out as follows :

<basics>
<current section>
<compare section>
Overview

The main elements of the graph are shown below :

app-viewer_overall-annotated

Basics

The following basic graph parameters can be used in the main body.

Name Format Note

name

name "STRING"

The "name" will be displayed to the user in the Graphs drop-down list in the GUI.

grid [2017]

grid <true|false>

If set to true will draw a background grid.

intervals

intervals <INTEGER>

Defines the total number of lines drawn to mark intervals on the graph.

CustomIntervals [2017]

customIntervals
[
    interval
    {
      level <FLOAT>
      label "STRING"
      colour <FLOAT> <FLOAT> <FLOAT>
      dashed <true|false>
    }
]

Define one or more custom intervals.
You can include multiple "interval" definitions inside "customIntervals".

Parameters :

  • level - required
    • 0.0-1.0 (>1 for HDR)
    • For PQ Space, in nits
  • label - label line with the value
    Note that "%" is a special character - it is replaced by the value of the level.
  • colour
    • Default 1.0 1.0 1.0
    • Can use > 1.0
  • dashed - use dashed line (default is solid)

black

black <FLOAT>

Define the position of the dashed line representing the black point.

NOTE: Coordinates are normalised 0.0 to 1.0.

white

white <FLOAT>

Define the position of the dashed line representing the white point.

NOTE: Coordinates are normalised 0.0 to 1.0.

Current Section

This section is optional.

The current section has the format :

current
{
    <current specification>
}
Name Format Note

fontSize [2017]

fontSize <INTEGER>

Set the font size used to "INTEGER" (default is 10)

origin

origin "<STRING V>" "<STRING H>"

Define the horizontal and vertical position of graph :

  • STRING V : <bottom|center|top>
  • STRING H : <left|center|right>

e.g.

origin "bottom" "left"

offset

offset <INTEGER X> <INTEGER Y>

This is the (x,y) position of the graph inside the monitor display area.

NOTE: (0,0) is bottom-left.

size

size <INTEGER W> <INTEGER H>

This is the width and height of the graph in pixels.

opacity [2017]

opacity <FLOAT> <FLOAT>

splatShading [2017]

splatShading <INTEGER opacity> <INTEGER brightness>

Adjust the opacity and brightness of the graph.

style

style "STRING"

Define the "look" of the graph i.e. Vectorscope, Parade, Waveform etc.

See below for a summary of available graph styles.

vectorLevels [2017]

vectorLevels <INTEGER> <INTEGER>

Add level displays to graph. This is a percentage (%). e.g. vectorLevels 100 75 If "style" is "gpu-scope".

labelRadius [2017]

label Radius <FLOAT>

If "style" is "gpu-scope". Can be used to move the graph labels outwards/inwards.

labelPosCy [2017]

labelPosCy <FLOAT> <FLOAT>

If "style" is "gpu-scope". Adjust position of the Cy label.

labelPosMg [2017]

labelPosMg <FLOAT> <FLOAT>

If "style" is "gpu-scope". Adjust position of the Mg label.

labelPosB [2017]

labelPosB <FLOAT> <FLOAT>

If "style" is "gpu-scope". Adjust position of the B label.

PQgrid [2017]

PQgrid <true|false>

Draw nit lines instead of standard intervals.

logScale [2017]

logScale <true|false>

tickSize [2017]

tickSize <INTEGER>

lumaCoeffs [2017]

lumaCoeffs <FLOAT> <FLOAT> <FLOAT>

If PQgrid is "true".

Compare Section

If present, this defines the location of the second comparison graph when in compare mode.

The origin parameter is as per the current section but refers to the location of the second comparison graph.

The compare section has the format :

compare
{
    origin "<STRING V>" "<STRING H>"
}

This section is optional.

As an example :

current
{
   origin "bottom" "left"
   ....
}
 
compare
{
   origin "top" "right"
}

Gives :

app-viewer_compare-cropped-scaled-anno

Graph Styles

The style parameter can have the following settings :

  • fill
  • line
  • parade
  • gpu-scope [2017]
  • gpu-parade [2017]
  • gpu-luma_waveform [2017]
  • gpu-waveform [2017]
  • gpu-parade-mono [2017]

These display graphs as follow :

style: fill

style: line

style: parade

Histogram - Cineon RGB
style: gpu-scope

GPU - Vectorscope
style: gpu-parade-mono

GPU - Parade - Mono
style: gpu-parade

GPU - Parade - RGB
style: gpu-luma_waveform

GPU - Waveform - PQ - 2020
style: gpu-waveform

GPU - Waveform - PQ - RGB Log



Darrow-up.png     Previous Next