UM:Appendix Monitorgraphs Spec

From DigitalVision
Revision as of 16:39, 28 July 2017 by Alastair (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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