© 2021 E.N.Vdovin
GrossGrade help andmanual
14.07.2021
2
Contents
Chapter 1 GrossGrade overview2
How to get help3
How to give help4
Common concept5
Compatible file formats7
Important necessities under development11
Chapter 2 GrossGrade for Beginner14
Quick start guide15
Frequently Asked Questions16
Main menu17
Standard library modules19
Layers panel21
Layers22
Masks25
Batch LUT converter28
Chapter 3 GrossGrade for Expert37
Editing visual components38
Graph arrangement limitations43
Component port types46
Standard ports50
Components53
Visual component "3DLUT" *58
Visual component "ButtonList" *59
Visual component "ChangesCompander" *60
Visual component "ChannelMixer" *61
Visual component "CheckBox" *62
Visual component "ColorBoard"63
Visual component "ColorGradient"71
Visual component "ColorPalette" *75
Visual component "ColorPath" *76
Visual component "ColorPicker" *77
Visual component "ColorPlate" *78
Visual component "ColorStretcher"79
3
Contents
Visual component "ColorWheel"87
Visual component "ComboBox" *90
Visual component "ComponentNonlinearity" *91
Visual component "Curves"92
Visual component "ExposureContrast"103
Visual component "FileBrowser" *106
Visual component "Free Target"107
Visual component "HDRSoftClipper"112
Visual component "HintBar" *114
Visual component "Histogram" *115
Visual component "InstancingManager"116
Visual component "Label" *119
Visual component "LabelFrame" *120
Visual component "MatrixTransform" *121
Visual component "NestedModule" *122
Visual component "PieSliceShifter"123
Visual component "Preview" *127
Visual component "Pseudo1DPlot" *128
Visual component "SOPSAT"129
Visual component "Slider" *133
Visual component "Vectorscope" *134
Visual component "WeightingRegions" *135
Non-visual component "AppVersionController" *136
Non-visual component "BooleanLogic" *137
Non-visual component "ColorspaceConverter" *138
Non-visual component "CopySettings" *139
Non-visual component "HotKeys" *140
Non-visual component "In"141
Non-visual component "Out"142
Non-visual component "PortDataSwap"143
Non-visual component "PortSwitcher" *144
Non-visual component "Statistics" *145
Non-visual component "StorePortData" *146
Non-visual component "WFunctionCombiner" *147
Available color spaces / models / profiles148
Technologies150
Color Management System (CMS)151
ASC CDL152
4
Contents
3D Look-Up Table (3D LUT)153
1
Chapter 1
GrossGrade overview
2 Chapter 1 GrossGrade overview
1GrossGrade overview
GrossGrade is ...
GrossGrade is a software environment for photo / image color correction or grading. You can choose
and use various color correction tools (modules) from the constantly expanding library. In addition, the
environment allows you to create your own tools or modify existing for solving a large number of tasks
related to analysis, color correction, calibration, as well as non-trivial tasks.
GrossGrade is not ...
GrossGrade is not a graphics editor with any retouching or compositing functions. The program works
only with color adjustment, which means that the way of image processing based on isolated color
translation, when each resulting color of the pixel depends on initial color of the same pixel and stays
unaffected by any other pixels. However there are a few types of mask creating tools allowing local
adjustments of image fragments.
GrossGrade is not yet ...
For now GrossGrade works as a standalone application, however the future plan is to port program as a
plugin to several host applications, such as Adobe Photoshop, Adobe Premiere, Adobe AfterEffects.
Besides that a Mac OS version is expected. Also the application works only with still images yet, but will
allow video a bit later. At the same time the dynamic masks based on curves planned to be realized for
video.
See also
Common concept
GrossGrade for Beginner
GrossGrade for Expert
5
14
37
3Chapter 1 GrossGrade overview
1GrossGrade overview
How to get help
The best way to use the manual is by using the context-sensitive help within GrossGrade. The quickest
way to find a help topic is to click on the control or program element you are interested in to make it
active and then press the F1 key.
Sometimes you could use the pop-up tooltip, which appeared when you move mouse cursor over the
interested element for a few seconds.
Besides that, during your work you could instantly see actual hints or detailed information of the
component, currently work with, at the status bar - a compact horizontal area at the foot of the main
application window.
To assist readers in locating material, a complete table of contents structures topics in logical order, and
each topic at the end of its content usually has links to some implicitly related topics.
At the official site there is always the mostly actual online documentation (https://
support.grossgrade.com/) of the program.
4 Chapter 1 GrossGrade overview
1GrossGrade overview
How to give help
GrossGrade exists, and continues to be improved, thanks to a community of people who take part in
the BETA-testing. If GrossGrade is useful and interesting to you, please, take a part in discussions at the
official facebook page (https://fb.com/1059913384152397) and vk community (https://vk.com/
grossgrade).
The current developing status is early BETA, and the author of the program is a single mortal man, so
please, don't judge severely for the unfinishings existing in this BETA or for incompletely actual
documentation. In this case "BETA" stands for "beta than nothing".
5Chapter 1 GrossGrade overview
1GrossGrade overview
Common concept
GrossGrade workspace contains 3 main panels (windows), and each of them have its own function:
Control panel - adjusting control of the module
The control panel contains all visual controls of the selected color correction module, such as
curves, grids, various buttons, etc. There can also be visual diagnostic elements, such as
vectorscopes, histograms, statistical information, additional frames for viewing intermediate
results of image processing, etc.
Image browser - simultaneous view of the source and the resulting image
In the image browser, you can compare the original and processed image, scaling and moving it as
you like.
Node graph - modification of the current module functional structure
On the node graph, you can see and change the internal structure of the current module. The
structure of the module is represented by a graph consisting of separate components connected
to each other in a single processing flow. You have full control over what your module should do.
In order to develop your own modules, you'll need some skills in GrossGrade, as well as a good
understanding of software architecture (see section GrossGrade for Expert ).
At the left side of the workspace there is a vertical tool panel containing a few rollup panels:
"Layers" rollup - placing modules on different processing layers
The layers panel contains a list of processing layers. Each color correction tool (module) is loaded
on a (own) layer. We can say that the loaded module itself is a processing layer. You can create as
many additional layers as you want, each of which will be a separate module and can be saved in a
separate file (or loaded from a file).
The layers in the GrossGrade represent not a graphical data, but a processing / color correction,
that should be applied to that graphical data. It has a lot in common with the usual adjustment
layers used in some popular applications:
Layers are applied to the image sequentially and have parameters of opacity and blending
mode (normal, multiply, dodge, etc.). For more information about layers and their parameters,
see "Layers ".
Each layer can be assigned a mask (or a group of masks) that defines the local areas of the image
that are affected by color correction. Masks can be created by several different methods. Read
more about masks, see "Masks ".
37
22
25
6 Chapter 1 GrossGrade overview
1GrossGrade overview
"Components" rollup - picking available components for adding to the current
module
The "components" panel lists all available visual and non-visual components. The panel is used to
add new components to the current module when designing.
To add the desired visual component to the current module, select it from the list by double-
clicking, and then click on the desired location in the control/visualization panel or in the node
graph panel.
To add the desired non-visual component to the current module, select it from the list by
double-clicking, and then click on the desired location in the node graph panel.
See also
GrossGrade overview
GrossGrade for Beginner
GrossGrade for Expert
2
14
37
7Chapter 1 GrossGrade overview
1GrossGrade overview
Compatible file formats
List of compatible file formats supported by the application or particular
components for data import/export
Format description File extensions Supported by functional Read
support
Write
support
Academy / ASC Common LUT
Format (CLF)
*.clf LUT import / export 3DLUT
3DLUT 3DLUT
Adobe / IRIDAS Cube *.cube LUT import / export 3DLUT 3DLUT
3DLUT 3DLUT 3DLUT
Adobe / IRIDAS Look *.look LUT import / export 3DLUT 3DLUT
3DLUT 3DLUT 3DLUT
Adobe ACV files *.acv ComponentNonlinearity 1DLUT 1DLUT
Curves 1DLUT 1DLUT
Adobe Arbitrary Map AMP *.amp LUT import / export 1DLUT
ComponentNonlinearity 1DLUT 1DLUT
Curves 1DLUT 1DLUT
ASC Color Correction *.cc LUT import / export 1DLUT /
3DLUT
3DLUT 3DLUT
ComponentNonlinearity 1DLUT
Curves 1DLUT
SOPSAT ASCCDL
ASC Color Correction
Collection
*.ccc LUT import / export 1DLUT /
3DLUT
3DLUT 3DLUT
ComponentNonlinearity 1DLUT
Curves 1DLUT
SOPSAT ASCCDL
ASC Color Decision List *.cdl LUT import / export 1DLUT /
3DLUT
3DLUT 3DLUT
ComponentNonlinearity 1DLUT
Curves 1DLUT
SOPSAT ASCCDL
Autodesk / ASSIMILATE
Scratch 3DL
*.3dl LUT import / export 3DLUT 3DLUT
3DLUT 3DLUT 3DLUT
Autodesk Color Management
(SynColor) CTF
*.ctf LUT import / export 1DLUT /
3DLUT
3DLUT
3DLUT 3DLUT 3DLUT
ComponentNonlinearity 1DLUT 1DLUT
Curves 1DLUT 1DLUT
MatrixTransform Matrix
SOPSAT ASCCDL
DaVinci Resolve Cube *.cube LUT import / export 3DLUT 3DLUT
58
58
58
91
92
91
92
58
91
92
129
58
91
92
129
58
91
92
129
58
58
91
92
121
129
8 Chapter 1 GrossGrade overview
1GrossGrade overview
Format description File extensions Supported by functional Read
support
Write
support
3DLUT 3DLUT 3DLUT
Digital Vision Nucoda CMS *.cms LUT import / export 3DLUT
3DLUT 3DLUT
DVS Clipster *.xml LUT import / export 3DLUT
3DLUT 3DLUT
Edit Decision List (EDL) *.edl LUT import / export 1DLUT /
3DLUT
3DLUT 3DLUT
ComponentNonlinearity 1DLUT
Curves 1DLUT
SOPSAT ASCCDL
FilmLight Truelight *.cub LUT import / export 3DLUT
3DLUT 3DLUT
Hald CLUT Image (PNG) *.png LUT import / export 3DLUT 3DLUT
3DLUT 3DLUT 3DLUT
Hald CLUT Image (TIFF) *.tif; *.tiff LUT import / export 3DLUT 3DLUT
3DLUT 3DLUT 3DLUT
ICC profiles *.icc LUT import / export 3DLUT 3DLUT
3DLUT 3DLUT 3DLUT
ComponentNonlinearity 1DLUT
Curves 1DLUT
MatrixTransform Matrix
ICM profiles *.icm LUT import / export 3DLUT 3DLUT
3DLUT 3DLUT 3DLUT
ComponentNonlinearity 1DLUT
Curves 1DLUT
MatrixTransform Matrix
Panasonic VariCam *.vlt LUT import / export 3DLUT
3DLUT 3DLUT
Rising Sun Research cineSpace *.csp LUT import / export 3DLUT
3DLUT 3DLUT
Side Effects Houdini *.lut LUT import / export 3DLUT
3DLUT 3DLUT
Last update: 08.08.2020
List of compatible image file formats
Format description File extensions Read
support
Write
support
Adobe Photoshop *.psd +
C64 Koala Graphics *.koa +
DirectX Surface *.dds +
Dr. Halo *.cut +
58
58
58
58
91
92
129
58
58
58
58
91
92
121
58
91
92
121
58
58
58
9Chapter 1 GrossGrade overview
1GrossGrade overview
Format description File extensions Read
support
Write
support
Google WebP image
format
*.webp + +
Graphics
Interchange Format
*.gif + +
High Dynamic Range
Image
*.hdr + +
IFF Interleaved
Bitmap
*.iff; *.lbm +
ILM OpenEXR *.exr + +
JPEG - JFIF Compliant *.jpg; *.jif; *.jpeg; *.jpe + +
JPEG Network
Graphics
*.jng + +
JPEG XR image
format
*.jxr; *.wdp; *.hdp + +
JPEG-2000
codestream
*.j2k; *.j2c + +
JPEG-2000 File
Format
*.jp2 + +
Kodak PhotoCD *.pcd +
Macintosh PICT *.pct; *.pict; *.pic +
Multiple-image
Network Graphics
*.mng +
Portable Bitmap
(ASCII)
*.pbm + +
Portable Bitmap
(RAW)
*.pbm + +
Portable floatmap *.pfm + +
Portable Greymap
(ASCII)
*.pgm + +
Portable Greymap
(RAW)
*.pgm + +
Portable Network
Graphics
*.png + +
Portable Pixelmap
(ASCII)
*.ppm + +
Portable Pixelmap
(RAW)
*.ppm + +
RAW camera image *.3fr; *.arw; *.bay; *.bmq; *.cap; *.cine; *.cr2; *.crw; *.cs1;
*.dc2; *.dcr; *.drf; *.dsc; *.dng; *.erf; *.fff; *.ia; *.iiq; *.k25;
*.kc2; *.kdc; *.mdc; *.mef; *.mos; *.mrw; *.nef; *.nrw; *.orf;
*.pef; *.ptx; *.pxn; *.qtk; *.raf; *.raw; *.rdc; *.rw2; *.rwl; *.rwz;
*.sr2; *.srf; *.srw; *.sti; *.x3f
+
Raw fax format CCITT
G.3
*.g3 +
SGI Image Format *.sgi; *.rgb; *.rgba; *.bw +
Sun Raster Image *.ras +
10 Chapter 1 GrossGrade overview
1GrossGrade overview
Format description File extensions Read
support
Write
support
Tagged Image File
Format
*.tif; *.tiff + +
Truevision Targa *.tga; *.targa + +
Windows Icon *.ico + +
Windows or OS/2
Bitmap
*.bmp + +
Wireless Bitmap *.wap; *.wbmp; *.wbm + +
X11 Bitmap Format *.xbm +
X11 Pixmap Format *.xpm + +
Zsoft Paintbrush *.pcx +
Last update: 08.08.2020
11Chapter 1 GrossGrade overview
1GrossGrade overview
Important necessities under development
The most important necessities currently under development and
unavailable in the application
Undo-Redo mechanism. So far, this mechanism is implemented only in some modules of the standard
library .
Color Management System (CMS) to use the embedded image profiles and correct output to the
monitor. So far, only individual CMS elements are available as some modules of the standard library
.
The new 3DLUTEditor component, which should replace the 3DLUT component, because today the
3DLUT component has a large number of drawbacks.
19
151
19
12 Chapter 1 GrossGrade overview
1GrossGrade overview
13
Chapter 2
GrossGrade for Beginner
14 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Choose desired instruments from the collection!
A novice user can view GrossGrade as an environment for working with various ready-made color
correction tools (modules). In the standard installation package of the program there is already a
certain set of modules. In addition, new experimental modules may periodically appear on the official
facebook page (https://fb.com/1059913384152397) and vk community (https://vk.com/grossgrade).
See also
Quick start guide
GrossGrade for Expert
15
37
15Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Quick start guide
Some useful tips for effective work
Components often have their own context menu, accessible by right - clicking. In addition, individual
component elements, even very small ones, can have their own context menu. It is important to
remember that many functions of the component are available only through the context menu.
In the context menu of a component, it is often possible to switch the color space used by the
component.
Double-clicking is often used to reset a control to its original state.
Dragging with the Shift key pressed is often interpreted as changing the value "deep", i.e. by the third
coordinate.
Always use the instant prompts that appear in the status bar (the lowest part of the main program
window).
See also
Frequently Asked Questions
Main menu
Standard library modules
Layers panel
16
17
19
21
16 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Frequently Asked Questions
I see incorrect behaviour of interface controls in some mouse actions
If you run application on a system with multiple monitors or on a virtual machine, or if you use a
touch screen or a graphic tablet, some application interface controls may probably process mouse
actions incorrectly. In that case you can switch off the global option "View" -> "Settings ..." -> "Use
hidden mouse dragging".
See also
Quick start guide
Main menu
Standard library modules
Layers panel
15
17
19
21
17Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Main menu
Main application menu
Section "File"
"Project" group
"New project" - start a new project, i.e. unload an image, delete
all existing layers with modules and masks and leave one empty
layer.
"Open project ..." - open project from file .ggp, which can store
a complete set of data about the previous work - a link to the
image, layers with their settings, modules and masks, all that is
necessary in order to restore a certain previous stage of work
on the project.
"Save project as ..." - save the current project to a file .ggp with
a given name, which will store everything that is currently in the
work - a link to the image, layers with their settings, modules
and masks, all that is necessary in order to save a certain stage
of work on the project.
"Recent projects" - a drop-down menu containing a list of the
most recently used projects.
"Module" group
"Clear module" - delete the module of the current layer, i.e.
clear the current layer, leave it empty.
"Load module. .." - load module from file .ggm to the current
layer.
"Load nested module ..." - load module from file .ggm to the
current layer as a nested module (the NestedModule
component will be created in the current module, and the
module will be loaded into it).
"Save module as ..." - save the current layer module to a file
.ggm with the given name.
"Recent modules" - a drop-down menu containing a list of the
most recently used modules.
"Image" group
"Load image ..." - load image from file.
"Paste image from clipboard" - paste an image from the
clipboard (available only if the clipboard contains an image).
"Save image as ..." - save the processed image to a file with the
specified name and extension.
"Recent images" - a drop-down menu containing a list of the
122
18 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
most recently used images.
"Load reference image ..." - load the reference image from
the specified file and place it in the "Reference image look
acquisition" tool.
"Unload reference image" - unload a reference image if it has
been loaded.
"Look / grading" group
"Import look ..." - open a grading file, such as a 3D LUT file, and
import the resulting grading as a 3D LUT into the component of
the current layer for editing. Before this operation, the current
layer is cleared.
"Export look ..." - export the current final grading combined
from all layers with their settings (but ignoring raster masks) to
a 3D LUT file with the specified name and extension.
"Exit" - exit the application.
Section "View"
"Windows / toolbars" group
"Node graph" - show / hide the node graph panel.
"Process flow" - show / hide the process flow panel.
"Control & visualization" - show / hide the control &
visualization panel.
"Image browser" - show / hide the image browser.
"Post-analysis" - show / hide the post-analysis panel.
"Reference image look acquisition" - show / hide window
"Reference image look acquisition".
"Hald CLUT screen capture" - show / hide window "Hald
CLUT screen capture".
"Batch LUT converter" - show / hide window "Batch LUT
converter" .
"Workspace" - a drop-down menu containing a list of the
most recently used workspaces and the default workspace.
"Application language" group - contains available languages
of the application interface. Language switching is
instantaneous and affects the entire application interface.
"Settings" group
"Settings ..." - show the main application settings dialog. All
changes are saved on subsequent launches of the application.
28
19Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Standard library modules
The module library is supplied with the application installation package and is installed simultaneously
with the application. The library is available on the left side panel of the main program window.
Module library
The contents of the library are located in one of the directories specified in the program settings. The
default directory is "%grossgrade%\ModuleLibrary\". The standard library supplied with the application
installation package contains several subdirectories, divided into conditional categories of the modules
contained in them.
Modules can be displayed in the library with the following conditional icons:
Module for analysis. Cannot act as a graphics data processor in a layer and cannot act as a layer
mask. Usually such modules are suitable for loading into the "Post-analysis" panel.
Module for graphic data processing. Usually such modules are suitable for loading into a layer
to make any color correction of the image.
Module for graphic data processing, with the ability to generate a mask. Typically, such modules
are suitable for both loading into a layer and loading into a layer calculated mask .
Module-mask. Typically, such modules are suitable for loading into a layer calculated mask .
See Graph arrangement limitations for details on how to create each module type.
Using modules from the library
When you hover over the mouse, you can see a tooltip that shows a thumbnail of the module's
appearance, as well as a brief description of its functionality.
To load a module from the library, double-click its name in the list and the module will be loaded into
22
22 26
26
43
20 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
the current layer. If there is already a module in the layer, it will be replaced without warning.
To load a module from the library as nested, double-click its name in the list with the Shift key pressed
to select it in the list, and then click in the desired location on the control panel. The module will be
loaded as a nested module in the current layer module.
21Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Layers panel
Layers panel
When you open a module file, it is loaded into the current processing layer (the default is a single layer).
If a module has already been loaded in the current layer, it will be replaced. To avoid this, you can create
a new empty layer and load the desired module into it. Thus, you can create several layers, each of
which will contain its own color correction module.
Layers in GrossGrade have a lot in common with the usual adjustment layers used in some popular
applications:
Layers are applied to the image sequentially. The color correction of each subsequent layer combined
with the color correction of the previous one according to the selected blend mode ,
Any layer has a blend mode parameter: normal, multiply, dodge, etc.,
Any layer has an opacity parameter,
Any layer can be assigned a mask (mask group) that defines the local areas of the image that are
affected by color correction (see "Masks ").
See also
Layers
Masks
22
23
23
25
25
22
25
22 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Layers
Layer tools
If one of the layers is currently selected in the layers panel , the toolbar
contains controls for the current layer.
"Clear" - delete the current module, i.e. clear the current layer, leave it empty.
"Reset" - for all components contained in this layer, reset the runtime
parameters (all current settings) to their default values.
"Merge" - merge the current grading according to all layers and their
parameters and place it into the 3D LUT component on a new overridden layer
(a layer with the "override" mixing mode).
"Random" - randomize all components of the current layer with the specified
amount of randomization (slider to the right of the button).
Layer properties menu
21
23Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
"Mixing" group
You can switch the mixing mode of the layer between the two types:
"Blend" - mixing the color correction of the current layer with all the processing
specified by the previous layers in accordance with the specified blend mode.
Thus, previous layers have an impact on the image processing in the current
layer.
"Override" - replacement of all processing specified by the previous layers with
the color correction of the current layer. It is usually used together with masks
to process local areas of the image when it is necessary to do it independently of
other color correction set by the previous layers.
"Blend modes" group
Overlay modes are implemented in accordance with the well known standard
modes, such as Multiply, Screen, Overlay, etc., with the difference that they also
work with HDR colors. In addition to the standard modes, there is a specific
mode "maximum correction". In this mode, two layers are mixed in such a
way that as a result there are strong changes of one colors in the first layer and
strong changes of other colors in the second layer. Thus, the mode allows you
to mix two color corrections (for example, two LUTs) so that the result is a
correction that has the most expressed elements of both corrections. In this
mode, the layer has another additional slider "balance" (along with "opacity"),
which regulates the priorities of the two adjacent layers.
"Apply corrections" group
This group contains components into which the color correction of the current
layer can be divided. The following color components (one or more) may be
partially or completely excluded from processing):
"1D" – one-dimensional color correction (can be considered as a master curve
extracted from the full color correction layer),
"1D-R" – one-dimensional color correction of the R channel (can be
considered as the curve of the R channel extracted from the full color
correction of the layer),
"1D-G" – one-dimensional color correction of the G channel (can be
considered as a curve of the G channel extracted from the full color correction
of the layer),
"1D-B" – one-dimensional color correction of channel B (can be considered as
a curve of channel B extracted from the full color correction layer),
"3D" - three-dimensional color correction, remaining after the extraction of all
four of the one-dimensional color corrections from full color correction layer.
"Apply components" group
You can use the "Apply components" group of options if you want to apply
24 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
the color correction of the current layer not entirely to the color, but only to
individual components of the color. The following color components (one or
more) may be partially or completely excluded from processing):
"Luminosity" – brightness component, independent of chromaticity - light,
dark (component of polar variant of HCL model),
"Saturation" – saturation/chroma component - juicy, pale (component of
the polar version of the model HCL ),
"Hue" – hue component - red, yellow, etc. (component of the polar variant of
the HCL model).
"Apply channels" group
You can use the "Apply channels" group of options if you want to apply the
color correction of the current layer not entirely to the color, but only to
individual color channels. The following color channels (one or more) may be
partially or completely excluded from processing):
"Red channel" – red channel (RGB model component),
"Green channel" – green channel (RGB model component),
"Blue channel" – blue channel (RGB model component).
By default, all components are enabled, i.e. the layer color correction is applied
to all listed components of the image color. Enabling / disabling components
does not depend on the selected blend mode, i.e. you can combine blend
modes and selective color components. Components are applied sequentially
from top to bottom in the order in which they appear in the menu. The inclusion
of each color component in the processing is determined not only by the
checkbox "on/off", but also by the amount of application (round rotary slider).
Note: currently, the color space of the layer is always RGB, however, it is planned to support
implementation of any of the available color spaces. This means that the output of a layer, for example, can
be LAB, which will be passed to the input of the next layer. The group "apply components" will contain
the components of the output color space (in this case: "Lightness", "Chroma", "Hue", "L", "A", "B").
Note: popular graphics and video editors have the following layer blend modes: "Hue", "Saturation",
"Color" and "Luminosity" (names may vary). You can reproduce these blend modes using the "apply
components" group, turning some color components on and off. The blending mode "Color" is just a
combination of two of the included components "Hue" and "Saturation". Using this approach in
GrossGrade gives you more facilities and provides more options by separating the logic of overlay modes
from the logic of color components, which also stimulates a better understanding of color models.
See also
Layers panel
Masks
148
148
148
148
148
148
21
25
25Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Masks
Masks in GrossGrade are user-defined local areas of the image that are affected by the color correction
of the current processing layer .
If one of the masks is currently selected in the layers panel , the toolbar always contains the following
standard controls:
With their help, you can control the parameters of the mask display on the screen.
Button in the form of an eye icon enables/disables the mask display in the preview window.
Button in the form of a translucent mask enables/disables the display mode "overlay". When
overlay mode is enabled, the mask is displayed with the selected color over the image. When overlay
mode is disabled, the mask is displayed in grayscale.
Horizontal slider controls the opacity of the mask overlay.
Square button on the right allows you to select the overlay color.
Depending on how you create a mask, there are the following types:
Smart mask
This is a mask created manually with a tool such as a brush. However, drawing of the mask is the
work with the isolated colors. This means that when you add a certain area of the image of a
certain color to the mask, all other areas of the same color will be added at the same time. This
type of masks is fully supported in the 3D LUT export process.
Mask tools
If one of the smart masks is currently selected in the layers panel
, the toolbar contains the following controls.
"opaq." button - make the current mask completely opaque (color
correction of the layer will appear as much as possible).
"tran." button - make the current mask completely transparent
(layer color correction will be completely hidden).
"inv." button - invert the current mask, i.e. make transparent
areas opaque, and vice versa.
"dyn." option - use dynamic colors (use previous layers color correction), otherwise use static
colors (the original image colors).
"size" slider - changes the size of the brush.
"hardn." slider - changes the hardness of the brush that determines the area of a smooth fading
of the boundaries of the brush.
"opac." slider - changes the opacity of the brush.
"select." slider - changes the color selectivity of the brush. Color selectivity affects the interaction
of the brush with colors, whose number is small in comparison with all the colors, placed under the
brush. With low selectivity, few colors are more exposed to the brush and vice versa.
22
21
153
21
26 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Raster mask
This is the most common mask created manually with a tool such as a brush. It is suitable for quick
selection of individual elements of the image, if necessary, to apply color correction locally. This
type of masks is unsupported and ignored in the 3D LUT export process.
Mask tools
If one of the raster masks is currently selected in the layers panel
, the toolbar contains the following controls.
"opaque" button - make the current mask completely opaque
(color correction of the layer will appear as much as possible).
"transp." button - make the current mask completely transparent
(layer color correction will be completely hidden).
"invert" button - invert the current mask, i.e. make transparent
areas opaque, and vice versa.
"size" slider - changes the size of the brush.
"hardness" slider - changes the hardness of the brush that determines the area of a smooth
fading of the boundaries of the brush.
"opacity" slider - changes the opacity of the brush.
Calculated mask
This is a mask that is not created manually (not drawn), but is calculated according to certain rules
in the processing module at the discretion of the module developer and/or the end user. Since this
mask is calculated all the time when working with the color correction module, you cannot change
individual areas of the mask with a brush. This type of masks is fully supported in the 3D LUT
export process.
When you create a calculated mask for a layer, you can load a separate module that acts as a mask
into it (for this, a "custom module" in the module drop-down list must be selected). To loaded
module performed the mask role, it has to use the input port mask of the node Out in the
module processing graph. The content of the mask is the data coming to this port. The port mask
of the node Out has the type weighting function and is a replicable port.
In addition, all currently existing layers and other existing calculated masks are available in the
module drop-down list . If you select one of the layers, the current mask will use that layer as a
mask. If you select one of the other existing calculated masks, the current mask will use a reference
to that mask so that you can use the same loaded module as multiple masks for multiple different
layers at the same time, some of which can be inverted if necessary.
153
21
153
27
142
142 47 49
27
27Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Mask tools
If one of the calculated masks is currently selected in the layers
panel , the toolbar contains the following controls.
"Module" drop-down list - select the module/layer from which the
calculated mask will be taken.
"mask" field - is the serial number of the mask port of the node
Out of the selected module. This field becomes visible only
when the module used as the mask uses more than one instance of
the mask port of the Out node.
"invert mask" option - invert the current mask, i.e. make transparent areas opaque, and vice
versa.
See also
Layers panel
Layers
21
142
142
21
22
28 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Batch LUT converter
Batch LUT converter
"Batch LUT converter" tool is called from the main menu "View" . This tool allows you to create a
task list to convert between different LUT file formats. In addition, the tool allows batch processing
of a given image by a group of LUT files. Not only 3D LUT formats are supported as input files, but also
1D LUT, as well as some specific formats.
Supported input file formats:
Adobe / IRIDAS Cube (*.cube)
Adobe / IRIDAS Look (*.look)
Autodesk / ASSIMILATE Scratch 3DL (*.3dl)
18
153
29Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Autodesk Color Management (SynColor) CTF (*.ctf)
DaVinci Resolve Cube (*.cube)
Hald CLUT Image (PNG) (*.png)
Hald CLUT Image (TIFF) (*.tif;*.tiff)
ICC profiles (*.icc)
ICM profiles (*.icm)
ASC Color Decision List (*.cdl)
ASC Color Correction Collection (*.ccc)
ASC Color Correction (*.cc)
Edit Decision List (EDL) (*.edl)
Adobe Arbitrary Map AMP (*.amp)
When output is set to LUT files, a list of 3D LUT formats is available. Supported output LUT formats:
Adobe / IRIDAS Cube (*.cube)
Adobe / IRIDAS Look (*.look)
Autodesk / ASSIMILATE Scratch 3DL (*.3dl)
Autodesk Color Management (SynColor) CTF (*.ctf)
Rising Sun Research cineSpace (*.csp)
Academy / ASC Common LUT Format (CLF) (*.clf)
Digital Vision Nucoda CMS (*.cms)
DaVinci Resolve Cube (*.cube)
FilmLight Truelight (*.cub)
Side Effects Houdini (*.lut)
DVS Clipster (*.xml)
Panasonic VariCam (*.vlt)
Hald CLUT Image (PNG) (*.png)
Hald CLUT Image (TIFF) (*.tif;*.tiff)
ICC profiles (*.icc)
ICM profiles (*.icm)
When output is set to Image files, a list of graphic formats is available. Supported output image
formats:
Windows or OS/2 Bitmap (*.bmp)
Windows Icon (*.ico)
JPEG - JFIF Compliant (*.jpg; *.jif; *.jpeg; *.jpe)
JPEG Network Graphics (*.jng)
Portable Bitmap (ASCII) (*.pbm)
Portable Bitmap (RAW) (*.pbm)
Portable Greymap (ASCII) (*.pgm)
Portable Greymap (RAW) (*.pgm)
Portable Network Graphics (*.png)
Portable Pixelmap (ASCII) (*.ppm)
Portable Pixelmap (RAW) (*.ppm)
Truevision Targa (*.tga; *.targa)
Tagged Image File Format (*.tif; *.tiff)
Wireless Bitmap (*.wap; *.wbmp; *.wbm)
X11 Pixmap Format (*.xpm)
Graphics Interchange Format (*.gif)
30 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
High Dynamic Range Image (*.hdr)
ILM OpenEXR (*.exr)
JPEG-2000 codestream (*.j2k; *.j2c)
JPEG-2000 File Format (*.jp2)
Portable floatmap (*.pfm)
Google WebP image format (*.webp)
JPEG XR image format (*.jxr; *.wdp; *.hdp)
Input task list
In this area, you create a list of tasks. Each task can be:
single file to be converted (can be an absolute path or a path relative to the current application
folder),
folder in which all files are to be converted (subdirectories are not included, they must be added
to the list separately),
masked path - specify the path using wildcard characters (* and ?) to specify a specific group of
files.
The following buttons are available to manage the list of tasks:
- add a single file to the list (open file selection dialog).
- add a single folder to the list (open directory selection dialog),
- move the task up the list,
- move the task down the list,
- delete selected task,
- delete all tasks,
- load task list from text file (open file selection dialog),
- save task list to text file (open file selection dialog),
- copy the contents of the task list to the clipboard.
For manual input/editing, double-click on one of the tasks.
Output folder
31Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
In this area, you specify the folder to save the resulting files. The folder path can be absolute, including
the drive name, or relative, in which case it will be calculated relative to the current directory from which
the application was started.
"Use input folder (specify a subfolder)" option - if enabled, the specified folder is interpreted as a
subfolder for the path where the source file is located (each source file can have its own folder). The
button on the right brings up the folder selection dialog.
Output files
In this area, you specify the naming template for the resulting files.
You can use the following wildcard strings in the template input field:
[N] - source file name without extension,
[N#-#] - a substring of source file name without extension, including the start character and the
end character. For example, [N3-10] is a substring from 3 to 10 characters of the original name.
[N5] is the substring from character 5 until the end of the original name.
[C] - counter of the resulting files. In the formation of the counter values are used: "Counter
start", "Counter step", "Counter digits" (the minimum number of digits with filling zeros on
the left).
Name conflict resolution - a drop-down list area where you can select an action if the name of one or
more output files matches existing files. The following reaction options are available:
Skip existing - leave existing files unchanged, do not create new files,
Auto rename new - leave existing files unchanged, create new files with different names,
Ask user - each time display a message in which the user will make a choice,
Overwrite existing files - overwrite existing files with new files without warning.
Output format settings
In this area, you can configure the format of the resulting files.
"Set output file format" parameter - select one of the 3D LUT formats available from the drop-down
list.
"Override LUT size" parameter - if this option is enabled, the size of the LUT of the output files specified
in the input field, otherwise the size will match the size of the original LUT file (and may be different from
file to file).
To enable image processing mode instead of LUT files, you must activate the "Image files" button
instead of the "LUT files" button. In this mode, the image that is currently loaded into the program will
be serially processed by the specified group of LUT files, and each processed image will be saved to a
separate file. In this mode, a list of image formats for output images is available inside the panel.
32 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
For some file formats, some settings are available, which you can view and change in the program
settings dialog by clicking on the small "..." button on the right. Please note that this dialog reflects the
global settings of the program, so any changes to it will affect the rest of the program's functions.
Color correction process settings
In this area, you can optionally specify some transformations for color correction. For example, you can
exclude one-dimensional color correction (curves correction) and leave only three-dimensional color
correction in batch processing. Or, for example, to strengthen/weaken the color correction with a
multiplier, set the clipping method, etc.
"Correction components" area
"1D" parameter - application amount of 1D-correction (extracted master-curve for all channels),
"1D-R" parameter - application amount of 1D-correction (extracted channel 1D curve) for channel R,
"1D-G" parameter - application amount of 1D-correction (extracted channel 1D curve) for channel G,
"1D-B" parameter - application amount of 1D-correction (extracted channel 1D curve) for channel B,
"3D" parameter - application amount of 3D-correction (without any 1D-corrections/curves).
"Color components" area
"Hue" parameter - application amount of "Hue" component from the HCL model,
"Saturation" parameter - application amount of "Chroma" component from the HCL model,
"Luminosity" parameter - application amount of "Luminosity"/"Lightness" component from the HCL
model,
"Red channel" parameter - application amount of the Red channel from the RGB model,
"Green channel" parameter - application amount of the Green channel from the RGB model,
"Blue channel" parameter - application amount of the Blue channel from the RGB model,
"Options" area
"Multiplier" parameter - is the coefficient of amplification/attenuation correction (can have negative
values),
"Inverse correction" option - is to invert the correction,
"HDR-values clipping" parameter - select the action with values outside the LDR-range:
33Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
"No clipping" - all values remain unchanged,
"Clipping to LDR" - values within the range 0..1 remains unchanged, values outside the range
are clamped to 0..1,
"Smart-clipping to LDR" - values within the range 0..1 remain unchanged, values outside the
range go down to the range with the primary sacrifice of the Chroma as the least significant color
component for a visual perception,
"Soft-clipping to LDR" - values outside the range are clamped to 0..1, with adjacent values within
the range 0..1 change a bit, keeping the details that are "blown out".
Preview
3DLUT pair
view
1DLUT pair
view
In this area there are auxiliary tools for viewing the contents of the
processed files.
The area contains two visual components for the color correction view.
The top component ("Ungraded view") - is the original LUT that will
be graded. By default, it does not contain any correction, but if
necessary, it can be edited in any way, or loaded from a file.
The bottom component ("Graded view") - is the resulting LUT that
displays the selected grading. As an initial state, it takes the color
correction of the upper (ungraded) LUT.
At the top there are some auxiliary buttons:
- switch on view of 3DLUT pair (for analysis of three-dimensional
corrections),
- switch on view of 1DLUT pair (for analysis of one-dimensional
corrections),
- link the top/bottom component, manage them simultaneously,
- load output (graded) LUT as input (ungraded),
- load grading from the current project into the top LUT (based
on all current layers),
- load the top LUT grading from the file (open file selection
dialog),
- reset the top LUT to its original state (without correction),
- apply the grading of the bottom (graded) LUT to the image
currently loaded into the application (for preview only).
Start/stop conversion process
To start the batch conversion, click the "Start conversion" button. The process can be stopped at any
time by clicking the button again (it takes the form of "Stop conversion"). Once stopped, the process
can no longer be continued and can only be restarted from the beginning. The progress of the batch
conversion is displayed as a bar indicating completion as a percentage. During the process, all necessary
messages are displayed in the Report area.
34 Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
Report
This area contains a report that displays two types of messages:
Information - messages about the successful completion of the operation, or neutral messages,
Errors - reports any errors that occur during batch processing.
The following buttons are available to manage the contents of the report:
- show/hide information messages,
- show/hide error messages,
- copy the contents of the report to the clipboard.
See also
Main menu
3D Look-Up Table (3D LUT)
17
153
35Chapter 2 GrossGrade for Beginner
2GrossGrade for Beginner
36
Chapter 3
GrossGrade for Expert
37Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Looking for a suitable tool for an extraordinary task? Create it!
For advanced users GrossGrade it is possible not only to work with ready-made color correction tools
(modules), but also to create your own. In design mode, you can create new unique modules from
scratch or make any changes to existing modules. Thus, if you need a tool that performs an
outstanding task of color correction or analysis, instead of a long search for a solution among
applications on the Internet, you can create such a tool yourself in GrossGrade.
Node graph
To design your own color correction tools, the main workspace is the "Node graph":
Construction panel: components are connected with each other making up integrated process graph
Note: to display the "Node graph" (if hidden), select "View"->"Node graph".
In the node graph panel, you build an image processing graph that consists of interconnected
components. This graph is a single color correction tool - a module that implements your intended
functions. More precisely, here is the entire internal structure of the module. This is where you
work until you create the final tool in the build-time phase. Its outer shell is located on the control
panel. With control panel you work on your color correction tasks at the stage of execution (run-
time).
In order to fully have the ability to create tools (modules) in GrossGrade, you need not only to
understand the basic mechanisms of software architecture, but also to have a penchant for
mathematical and geometric thinking. For example, you should not be confused that a particular color
is a point that has coordinates in a given three-dimensional color space. GrossGrade uses some abstract
mathematical concepts in its architecture, such as function, weight function, curvature of three-
dimensional color space, vector transformations. These concepts will be described in this
documentation, and it is important to understand them well, as they will form the basis of most color
correction tools in GrossGrade.
See also
GrossGrade for Beginner
Components
Available color spaces / models / profiles
14
53
148
38 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Editing visual components
"Edit" mode
To start editing the visual part of the module, you need to switch on "edit" mode using the "edit"
button in the top panel of the "Control & visualization" window.
Work mode / Edit mode
In edit mode, you can resize each individual component with the mouse using the special green squares
around the component frame. In order for the frame to appear, you must first select the desired
component with a mouse click.
Resizing visual component with mouse
Components can be positioned differently relative to each other. The image below shows two
LabelFrame components arranged so that the first is partially covered by the second.120
39Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
In order to better flexibility any component can be nested in any other component. Consider the
example with the illustrations below. In order to assign a selected component "frame 2" a new parent
component, which will contain it inside itself, you need to hold down the Control key, and then, without
releasing it, take component "frame 2" with the left mouse button and start moving it over another
component. A red border will appear around the other component ("frame 1"). The red border around
the component means that if you release the mouse button, the "frame 2" component becomes a child
of the "frame 1" component.
After we release the mouse button, the component "frame 2" becomes nested in the component "frame
1", as can be seen in the following illustration.
40 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
The "frame 2" component can still be moved and scaled, but it will be limited to the boundaries of the
parent "frame 1" component, and any time you move the parent, it will move with it.
Any component can be set to one of the Alignment types to automatically attach component
boundaries to the left/top/right/bottom edge of the parent or to the entire internal (client) area of the
parent.
Alignment = client Alignment = left Alignment = top Alignment = right Alignment = bottom
In addition, if a component is assigned one of the alignment types, it can also be padded from the left/
top/right/bottom edges. This can be done with the mouse, if you place the cursor not over the squares
that are used to resize, but over the border of the component (see the illustrations below).
Left padding Top padding Right padding Bottom padding
Context menu of the components
The menu is available in edit mode by right-clicking on the visual part of the component.
41Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Alignment" group
"none" - the component can be positioned arbitrarily, its edges will not
automatically snap to the edges of the parent area.
"client" - all component edges are automatically bound to all edges of the
available parent area.
"left" - the component is automatically bound to the left edge of the
available parent area.
"top" - the component is automatically bound to the top edge of the
available parent area.
"right" - the component is automatically bound to the right edge of the
available parent area.
"bottom" - the component is automatically bound to the bottom edge of
the available parent area.
"Use relative alignment" - if this option is enabled, the dimensions of
this component will not be preserved in absolute form when the parent
area is resized, but will change proportionally to the new dimensions of
the parent.
"Anchors" group
"left" - when you change the position of the left edge of the parent area,
the left edge of this component will be moved accordingly.
"top" - when you change the position of the top edge of the parent area,
the top edge of this component will be moved accordingly.
"right" - when you change the position of the right edge of the parent
area, the right edge of this component will be moved accordingly.
"bottom" - when you change the position of the bottom edge of the
parent area, the bottom edge of this component will be moved
accordingly.
"Component parameters" group
"Visibility at run-time" - the amount of visibility (opacity) of the visual
part of the component in run-time mode.
"Reload" - reload (re-create) the component with preserving all settings/
parameters/connections.
"Reset" - resets the basic settings of the component (corresponds to the
input port "reset").
"Hard reset" - full reset of component settings/parameters (as when
creating a new component).
"Bring to front" - bring the visual part of the component on top of all
other components.
"Send to back" - bring the visual part of the component below all other
components.
42 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Copy component"/"Copy selected components" - copy the selected
component / group of selected components to the clipboard for later
pasting.
"Paste components" - paste a previously copied component / group of
components into the current area.
"Delete component"/"Delete selected components" - delete the
selected component / group of selected components.
"Look / grading" group
"Apply factor" - the amount of application of the correction created by
this component.
The following context menu is available by right-clicking in any empty area of the "Control &
visualization" window.
"Edit components" group
"Copy selected components" - copy the selected component /
group of selected components to the clipboard for later pasting.
"Paste components" - paste a previously copied component /
group of components into the current area.
"Delete selected components" - delete the selected component /
group of selected components.
43Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Graph arrangement limitations
Node graph layout limitations
The number of output connections (for any output port of
the component) is not limited. However, no more than one
input connection can be plugged for any input port.
You can create a connection between the ports of two
components only if these ports are of the same type (see
"Component port types ").
General principles of construction of node graphs
If the Out component is supplied with image data with a changed color space (different from the
color space obtained from the In component), the colors will be translated into the color space
corresponding to the original. In this case, the translation parameters are not controlled by the user
and correspond to the same parameters that would be used by default in the ColorspaceConverter
component in a similar translation. To control the translation parameters, you must include the
ColorspaceConverter component in the processing graph, which will perform the reverse translation
before the data is transferred to the Out component.
Note: this rule applies only to the top-level module (representing the processing layer in the layers panel)
and does not apply to nested modules (NestedModule ). The color spaces at the input and output of the
nested module may differ.
The main ways to build node graphs
Depending on the method of constructing a node graph, the module containing this graph will perform
various functions.
Module for analysis. Its graph has no data-processing nodes between the In and Out nodes.
No data is fed to the mask port of the Out node either. A module with such a graph is usually used
as an analyzer and can be loaded to the "Post-analysis" panel.
46
142
141
138
138
142
122
141 142
142
44 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
In the library such a module is displayed with an icon
Module for graphics data processing. Its graph contains at least one data-processing node between
the In and Out nodes. No data is fed to the mask port of the Out node. Usually such
modules are suitable for loading into a layer to make any color correction of the image.
In the library such a module is displayed with an icon
Module for graphic data processing, with the ability to generate a mask. Its graph contains at
least one data-processing node between the In and Out nodes. At least one weighing function
is applied to the mask port of the Out node. Typically, such modules are suitable for both
loading into a layer and loading into a layer calculated mask .
141 142 142
22
141 142
47 142
22 26
45Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
In the library such a module is displayed with an icon
Module-mask. Its graph has no data-processing nodes between the In and Out nodes. At least
one weighing function is applied to the mask port of the Out node. Typically, such modules are
suitable for loading into a layer calculated mask .
In the library such a module is displayed with an icon
141 142
47 142
26
46 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Component port types
Each component port has a strictly defined type. It is possible to create a connection between the ports
of two components only if these ports are of the same type.
There are several types of ports:
"data" - the image data
Transfers the processed image data, which includes information about the color space in which the
image is currently appeared (in the current processing node). Some components, such as
ColorspaceConverter , can change the current color space of an image. In this case, the
resulting space (on the output port "data") will be different from the input port (on the input port
"data"). In addition, some components within themselves can work in their own color space,
making a temporary translation from the current space to the internal, and then a reverse
translation to the current one. This option is not recommended in the development of serious
modules - it usually increases the processing time and makes it impossible to fine control over the
translation parameters between color spaces.
"color" - single color
Transfers a color value (the coordinates of a point in the color space).
"coloring function" - color correction itself
In GrossGrade, a coloring function is a pattern whereby all the colors of one set (the original
image) are converted to the colors of another set (the resulting image). On the other hand, we can
say that the coloring function sets a certain curvature of the color space in which the image is
presented. That is, some part of the colors of the original image changes its values (the
coordinates of the color space) in the resulting image. What part of the colors changes, and how -
is determined by the coloring function. You can think of the coloring function as a 3D LUT with a
very large (infinite) dimension.
Also you can think of the coloring function as the color correction itself without reference to a
specific image. That is, this color correction works with isolated colors, not with the image, and can
be equally applicable to any other image. Transmitting coloring function of the connections
between the components, you inform one component about how the other component does its
color processing.
The coloring function cannot be inverted because, in general, the color mapping is not one-to-one
operation. That is, we can not build some coloring function that performs the inverse conversion
of all colors after applying a direct coloring function, since the same resulting color could be
obtained from several different source colors (see details https://en.wikipedia.org/wiki/Bijection).
However, a pseudo-inversion of the color correction function is possible in GrossGrade, which does
not really correspond to the actual inversion. This process is essentially a reversal of the directions
of the motion vectors (which are set by the color correction function) of each point in the color
space. Such an action can be considered an inversion of the function only conditionally, since the
real inversion is theoretically impossible. In addition, according to these principles in GrossGrade it
138
47Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
is possible to generate various color correction functions that are intermediate between pseudo-
inverted and direct functions, as well as certain operations on pairs of coloring functions - vector
addition, subtraction, etc.
"weight" - weight value
Transfers a weight value - in fact, it is just a simple real value with an unlimited range. In this case,
there is a conditional "working" range from 0 to 1, where 0 means no weight (0%), and 1 means full
weight (100%). Values less than 0 or greater than 1 are interpreted depending on the application of
the weight.
"weighting function" - assigning weights to colors
In GrossGrade, the weighting function determines the pattern by which each color in the original
image is given its own weight - a value that can range from some minimum (0%) to some
maximum (100%).
You can think of the weighting function as a kind of "mask" that determines which colors in an
image have more weight and therefore can be more involved in further color correction, and
which colors will have less or zero weight. It should be emphasized that the weighting function is
not tied to a specific image, it works with isolated colors.
"boolean" - logical value
Transfers a Boolean expression that can take one of two values, true or false.
Suitable, for example, to determine the status of the check box option: the value "true" - the check
box is selected, the value "false" - the check box is cleared.
"integer" - integer number
Transfers an integer (a number without a fractional part that can take positive, negative, or zero
values).
Suitable, for example, to determine the current position of the slider :the extreme positions of the
slider correspond to the minimum and maximum values, the remaining positions - some
intermediate values that can be transmitted through the port "integer".
"enum" - enumeration
Transfers the value of the enumerated type. An enumeration is a data type that has a complete list
of all possible values that a variable of this type can take. For example, you can imagine some
enumeration "Figure", which can take the following three values: "triangle", "square", "circle". Then
through the port "enum" the concrete value of enumeration "Figure", for example "square" can be
transferred.
Suitable, for example, to determine the status of a group of mutually exclusive switches (radio
buttons): the transmitted value corresponds to the name of the currently active switch.
48 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"set" - set of elements
Transfers a set consisting of some elements. The list of all possible elements is defined (as well as
for the enumeration). For example, you can imagine a set of "Shapes", the elements of which can
be: "triangle", "square", "circle". Then through the port "set" can be transmitted a specific set of
"Shapes", including the elements of "triangle and square".
Suitable, for example, to determine the status of a group of independent switches (check boxes):
the value passed corresponds to the list of names of currently active switches.
"string" - text string
Transfers a variable-length text string.
Suitable, for example, for passing a value entered in a text field.
"event()" - event
Notifies about any event. Such an event can be, for example, a user pressing a button.
Along with the notification through the port "event()" the specific event information may be
transmitted. In this case, the event has a parameter (or multiple parameters): "event(parameter1 [,
parameter2 ...]) " The parameter can belong to one of the following data types:
color
coloring function
weight
weighting function
boolean
integer
enum
set
string
Ports of type "event()" can be plugged even if the type of the event parameter of one is not the
same as the type of the event parameter of the other. For example, the output port "event
(color)" of component "A" can be associated with the input port "event(boolean)" of component
"B". But in this case, when the event is notified, the parameter is ignored, and then the behavior of
the component "B" is not clearly defined (each type of component has its own specific reaction),
but usually the component uses some (its) default value.
The question may arise: why pass the parameter through one port, for example, event(integer),
instead of using two ports at the same time - with the event type and with the integer type? The
fact is that in the case of two ports, the integer value is passed continuously regardless of the
event. And in the case of the event(integer) port, the parameter is passed only when the event
occurs, and its value is stored in the receiving component as long as necessary until the next event
occurs, even if the sending component has been deleted.
46
46
47
47
47
47
47
48
48
49Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"instancing" - multiple instances of the component
Instancing is a specific organization of the processing process in GrossGrade. When instancing, the
same component or group of components can be used multiple times. Each instance of a
component (or group of components) can have its own individual settings specified by the user.
The number of instances is also controlled by the user. Depending on your intended purpose,
multiple instances can transmit data that will somehow be combined in subsequent nodes of the
processing graph.
To organize instancing, you must specify one or more components that you want to multiply
repeatedly, as well as a separate component that will manage the instancing process. Only few
components - those for which this role is logically justified - can manage instancing. The most
versatile component that controls instancing is the InstancingManager component (the only
purpose of which is to manage instancing). This component (like any other component that
manage instancing) has an output port of type "instancing". This port can be connected to the
"instancing" input ports of one or more components that will participate in instancing (have
multiple instances). Through the "InstancingManager " component, the user can control the
number of instances and select the "current" instance - the one that is currently represented by
visual components. Thus, there can be many instances, but a visual component can represent
only one instance at a time. To represent another instance, the "current" instance must be
switched in the controlling component "InstancingManager ", after which the user will see that
all the component settings have changed. Each instance stores the entire set of component (or
group of components) settings, and when you switch the "current" instance, the components load
the corresponding previously saved settings.
Replicable ports
Some ports of the components are repeatable (replicable). This means that these ports can be
duplicated as many times as needed. That is, from one such port you can create several copies of it,
performing the same tasks.
For example, imagine a component "Color replacement" which has the following input ports: "Source
color" and "Replacement color" of type "color". Let the "Source color" port be repeatable, then you
can make multiple copies of that port and feed them several different colors. In this case, all submitted
colors will be replaced with "Replacement color".
You can add a port instance by double-clicking on the port area. You can delete a port instance by
double-clicking on the area of the port instance with the shift key pressed.
You can only specify the number of copies of a repeatable port at the build-time stage. To specify multiple
entities at run time, use the instancing mechanisms (for example, the InstancingManager
component).
See also
Components
Standard ports
116
116
116
49 116
53
50
50 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Standard ports
Each component has a set of standard ports (that are identical for all components):
Input ports
Port name Port type Used in
component
s
Description
data data Componen
ts that use
graphic
data
Input graphic data. If the component can produce some color
correction, it also has the output port "data" .
c.func coloring
function
Componen
ts that use
graphic
data
Input coloring function. It could be used as a base for the
output coloring function (output port "c.func." ).
mask weighting
function
Componen
ts that use
graphic
data
Process mask - weighting function that determines the areas
of color space which should be affected by color processing.
use mask boolean Componen
ts that use
graphic
data
Use process mask - the "True" value determines that process
mask (port "mask" ) should be applied. If this port is not
used (unplugged) then the mask is always applied.
apply
channel
weight
(replicabl
e)
Componen
ts that
process
graphic
data
Apply factor for processing of the individual color channel of
the current color space. It usually lies in the range from 0 to 1
but may be less than 0 and greater than 1. A particular color
channel number is determined by the port instance number.
apply
factor
weight Componen
ts that
process
graphic
data
Apply factor for color processing. It usually lies in the range
from 0 to 1 but may be less than 0 and greater than 1.
visible boolean Visual
component
s
Component visual part visibility (available for visual
components only). On "False" value the visual part of the
component is not used (hidden).
opacity weight Visual
component
s
Opacity of the component visual part.
instancing instancing All Component instancing. This port could be plugged to the
instancing manager (see "InstancingManager ").
reset event ()
(replicabl
All Reset all current component settings to default values.
46
51
46 51
47
47
50
47
49
47
47
47
49 116
48
51Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Port name Port type Used in
component
s
Description
e)
randomize event
( weight
Amount )
(replicabl
e)
All Randomize all current component settings. "Amount"
determines the randomization amount in the range from 0 to
1, where 0 means no effect, and 1 means maximum
randomization.
enable boolean All Component is active. On "False" value the component is not
involved in the processing.
load file event
( string
FileName )
(replicabl
e)
All Load content from file (for example a *.cube file to the
component 3DLUT). File name is determined by parameter
"FileName". This port is available in all components for loading
the *.ggc file format. A specific file formats loading support
depends on the particular component.
save file event
( string
FileName )
(replicabl
e)
All Save content to file. File name is determined by parameter
"FileName". This port is available in all components for saving
the *.ggc file format. A specific file formats saving support
depends on the particular component.
Output ports
Port name Port type Used in
component
s
Description
data data Componen
ts that
process
graphic
data
Output graphic data coming from the input port "data"
and processed by the component.
c.func. coloring
function
Componen
ts that
process
graphic
data
Output coloring function. The port generates the color
correction that the component produce. If the input port
"c.func" is plugged, then the input coloring function is used
as a base.
colorspace string Componen
ts that use
graphic
data
The name of the internal color space used in the
component.
changed event () Componen Notify event when the user has changed some of the current
49
48
47
49
47
48
48
49
48
48
49
46 50
46
50
48 148
48
52 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Port name Port type Used in
component
s
Description
ts that
notify on
changes
component settings.
id enum All Unique ID of the component. Could be used as a link from the
other components.
47
53Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Components
The components in GrossGrade are the blocks from which the color correction tool (module) is built. The
components are connected to each other through the input and output ports in a single processing
graph, with each performs a strictly defined narrow function in the overall sequence.
The component always participates as a node in the node graph panel, but it can also have a visual part
in the control/visualization panel - the part that the end user is working with. The illustration below
shows a tool with a green border marking the same "ColorWheel " component: its non-visual part
(node) is outlined on the node graph panel, and its visual part is marked on the control/visualization
panel:
Component always has unvisual part which stand as a node in process graph on construction panel - Component
could have visual part on visualization panel
Component palette
87
54 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Component palette
The list of components is divided into two subgroups:
visual components are those that have not only a node on the node graph, but also a visual part on
the control/visualization panel. To create a new visual component from the palette, you need to
double-click the left mouse button on the desired line in the list to select this line, and then click
anywhere on the control/visualization panel or on the node graph, after which the component will be
created and placed in this position.
non-visual components are those that have only a node on a node graph, without any visual part.
To create a new non-visual component from the palette, you need to double-click the left mouse
button on the desired line in the list to select this line, and then click anywhere on the node graph,
after which the component will be created and placed in this position.
List of visual components in GrossGrade
Name Description
3DLUT 3D LUT editor. Full control of the LUT voxels in 3-dimensional space. This
is an early beta-version of the component, which has a lot of drawbacks,
incomplete functionality, poorly optimized and thus has small range of
the available LUT sizes.
ButtonList Button list. Generates events via output port when the user clicks the
buttons.
ChangesCompander Changes compander
ChannelMixer Channel mixer. Beta-version includes only one mixing mode -
"Lightroom-like"
58
59
60
61
55Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Name Description
CheckBox Check box with two possible states: checked (active) and unchecked
(inactive)
ColorBoard Color board (equalizer). From the three components (lightness, chroma,
hue), you could choose the input and the output parameter, and then
set up the curve which specifies a dependency between them.
ColorPalette Color palette. In current beta version the component properties panel is
unavailable, and therefore you cannot change palette size (number of
colors).
ColorPath Color path. This is the very raw experimental component, which allow
you to define a path on the image to generate a color gradient, so you
can then make some processing based on this gradient. In the current
version there is only one process: averaging the color without affecting
the luma. In the future versions it will be possible to set up the curve
directly in the "Image browser"
ColorPicker Color picker
ColorPlate Color plate list for precise color correction monitoring
ColorStretcher Color stretcher
ColorWheel Color wheel - offset color coordinates in selected colorspace
ComboBox Combo box
ComponentNonlinearity Component nonlinearity conversion
Curves Curves
ExposureContrast An extension of Autodesk CTF standard ExposureContrast element (fully
compatible)
FileBrowser File browser / file open dialog / file save dialog. When user select a file the
event is generated on the output port. Some components could work
with files in order to load/save data. In this case they provide special
corresponding ports.
FreeTarget Free changing color parameters directly by clicking an image
HDRSoftClipper Soft HDR channel clipping
Histogram Histogram
InstancingManager Instancing manager. Each single instance stores the whole dataset of the
controlling components current settings.
Label Text label
LabelFrame Frame with text label on top
62
63
75
76
77
78
79
87
90
91
92
103
106
107
112
115
116
119
120
56 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Name Description
MatrixTransform Matrix transformation
NestedModule Nested module
PieSliceShifter Color space is divided into multiple segments, for each segment a Hue/
Chroma/Lightness offsets could be defined
Preview Image preview frame. Displays image, processed in the way that
corresponds the place where the component appears in the processing
sequence, with the ability to display a particular color channels
separately.
Pseudo1DPlot Pseudo 1D color correction analyzer. Displays current 3D color correction
as if it is a 1D color correction, using the curves for three color channels.
When displaying each curve, it is only one color channel that changes its
value, while the other two channels have a constant values set by the
user (with sliders).
SOPSAT SOP/SAT component, compatible with ASC CDL standard and
Autodesk CTF standard (ASC_CDL element). Adjustable parameters:
Slope, Offset, Power (gamma correction) and Saturation. Internal
colorspace: RGB.
Slider Track bar / slider
Vectorscope Vectorscope
WeightingRegions Weighting regions. Each region (curve) specifies the luma range and
transfers the resulting weighting function (mask) to the corresponding
output port.
List of non-visual components in GrossGrade
Name Description
AppVersionController Application current version controller
BooleanLogic Boolean logic
ColorspaceConverter Colorspace converter
CopySettings Working with component settings/parameters settings: copy settings
from one component to another, temporary store and restore settings
(on condition that both source and destination components are of the
same type).
HotKeys Keyboard hotkeys
PortSwitcher Port switcher. You can plug multiple connections to multiple replications
of the input port of a particular type and then dynamically specify which
replication should transmit its data to one single output port.
121
122
123
127
128
129 152
133
134
135
136
137
138
139
140
144
57Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Name Description
Statistics Image data statistics
StorePortData Storing ports data by events
WFunctionCombiner Combining unlimited set of weighting functions
145
146
147
58 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "3DLUT" *
Sorry, this topic is under development.
See also
Components
3D Look-Up Table (3D LUT)
53
153
59Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ButtonList" *
Sorry, this topic is under development.
See also
Components 53
60 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ChangesCompander" *
Sorry, this topic is under development.
See also
Components 53
61Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ChannelMixer" *
Sorry, this topic is under development.
See also
Components 53
62 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "CheckBox" *
Sorry, this topic is under development.
See also
Components 53
63Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorBoard"
The ColorBoard component allows you to work with the curves of the dependence of different color
components relative to each other.
Visual part
Color components can be parameters such as lightness (lightness), chroma (chroma), hue (hue). You
can define one or more curves that define the relative correction of one color (output) component to
another (input) color component. For example, you can change the lightness relative to a color shade
so that colors that have a certain range of shades become lighter or darker. These dependencies may be
several to a processing stack that defines the order of precedence correction of one color
component relative to the other.
To make the ColorBoard feature as flexible as possible, there is an additional option to create multiple
layers and masks. Masks allow you to limit the correction you specify to additional limits relative to
the value of another color component you have selected. To do this, the ColorBoard component has its
own layers / masks palette , in which you can create an unlimited number of layers , each of which
is a stack of successive adjustment curves. And for each layer, you can create an unlimited number of
masks that control the effect of this layer with additional mask curves that are based on other color
components you choose.
Main context menu
The context menu is available by right-clicking on any free area of the frame.
68
67
65 67
68
64 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Equalizer points" group
"Add new point" - add a new curve point. Available only if the "Allow
user to create/delete points" option is enabled.
"Enable selected points" - enable the selected group of points in the
current layer / mask.
"Disable selected points" - disable the selected group of points in the
current layer / mask.
"Reset selected points" - reset vertical offsets for the selected group of
points in the current layer / mask.
"Reset all points" - reset vertical offsets for all points in the current layer
/ mask.
"Delete selected points" - delete all selected points in the current
layer / mask. Available only if the "Allow user to create/delete points"
option is enabled.
"Clear all points" - delete all points in the current layer / mask. Available
only if the "Allow user to create/delete points" option is enabled.
"Render" group
Submenu "Process stack" - contains a submenu with the processing
stack / queue for the current layer/mask. Available only if the "Show
stack as panel" option is disabled.
"Show mask" - turn on / off the display mode of the mask. This mode
does not work correctly in the current version of the application.
"Show affected mask" - enable / disable the display mode of the
affected mask. This mode does not work correctly in the current version of
the application.
"Clamp HDR" - clamping all non-LDR-colors before the processing.
"Statistics data view" group
"Show none" - do not show statistics.
"Show histogram" - show histogram curve on the background inside
the layer/mask frame.
"Show cloud" - show a cloud of the distribution of colors on the
background inside the layer frame.
"Affect data" - apply the processing of the current layer to displayed
histogram/cloud.
"High quality" - use high resolution for histogram/cloud.
"Color space" group
Contains the available color spaces in which the component can
operate.
"Input horizontal axis" group
69
69
69
68
69
148
65Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Hue" - the horizontal axis of the curve graph represents the hue of the
color.
"Chroma" - the horizontal axis of the curve graph represents the chroma
of the color.
"Lightness" - the horizontal axis of the curve graph represents the
lightness of the color.
"Output vertical axis" group
Available only for the layer frame .
"Hue" - the vertical axis of the curve graph represents the hue of the
color.
"Chroma" - the vertical axis of the curve graph represents the chroma of
the color.
"Lightness" - the vertical axis of the curve graph represents the
lightness of the color.
Curve point context menu
The context menu of the point of the curve is available by clicking right mouse button on the point on
the curve.
"Equalizer point" group
"Enable point" - enable/disable the effect of a given point.
"Reset point" - reset the vertical offset for a given point.
"Delete point" - delete this point. Available only if the "Allow user to create/delete
points" option is enabled.
Visual controls of the component
Layers / masks palette
67
69
66 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Available only when the "Use layers" option is enabled.
Contains an unlimited list of layers and masks, as well as a control toolbar for
the list.
Correction tools panel
Available only when the "Show correction tools panel" option is enabled.
Correction tools panel with multiple correction modes
Correction tools panel with multiple single mode
Contains controls for correction modes.
The "single correction" option is a choice between using a single correction mode and multiple
correction modes.
"contrast" mode - vertical shift of points affects the color component as a
slope. The color component is multiplied by the vertical offset of the point.
"offset" mode - vertical shift of points affects the color component as an
offset. The color component is added to the value of the vertical
displacement of the point.
69
69
67Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"gamma" mode - vertical shift of points affects the color component as a
power. The color component is raised to a degree, the index of which
depends on the vertical displacement of the point.
Layer frame
Contains relative color
correction curves. Curve
defines the dependence of
a certain color component
of the output from some
input. The selection of the
input and output
components (horizontal
and vertical axis) is
available via the right-click
context menu or via
the processing stack panel
.
By right-clicking on an empty space, you can open the main context menu . By right-clicking on a
curve point, you can open the point context menu .
With the left mouse button, you can select multiple points within a rectangular area.
Mask frame
Appears when one of the
masks is selected in the
layers / masks palette .
Contains the relative mask
curves for the current
color correction layer. The
curve defines the
dependence of the color
correction value of the
current layer on some
input color component.
The selection of the input
color component (horizontal axis) is available via the right-click context menu or via the processing
stack panel .
63
68
63
65
65
63
68
68 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
By right-clicking on an empty space, you can open the main context menu . By right-clicking on a
curve point, you can open the point context menu .
With the left mouse button, you can select multiple points within a rectangular area.
Processing stack / queue
Contains a list, each element of which is a pair of "input
component" - "output component". With this stack, you can
conveniently move between pairs of color components, as well as
move pairs in the queue relative to each other, activate/
deactivate pairs, etc.
The option "affected" - sets the processing mode of this pair
"input component" - "output component" in such a way that the
processing affects only those colors that have already been
affected by previous processing in the stack, and does not affect
any other colors.
The layer mask stack also contains a list of choices for the
combination type. Combination type defines the way in which
all the components of the mask layer are combined in one mask.
The available combination types for mask components:
- Union - components are combined by their maximum values.
- Intersection - components are combined by their minimum
values.
- Addition - the components are added together.
- Subtraction - components are subtracted from each other.
Parameters inside the component node
Component node
63
65
69Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Use layers" option - show/hide the layers/masks palette with controls.
"Show stack as panel" option - display the stack in the right panel, otherwise display the stack
within the context menu in the submenu "Processing stack" .
"Double panel" option - with this option, the visual part of the component can display both the layer
frame and the mask frame at the same time.
"Show correction tools panel" option - show/hide the top panel with control elements of correction
modes ("contrast" , "shift" , "gamma" ).
"Show all correction curves" option - enable simultaneous display of all curves (if the "single
correction" option is disabled).
"Allow user to create/delete points" option - allow the end user to create additional points or delete
existing ones in any way.
"Use components self relations" option - show dependencies in the stack where the color
component depends on itself. For example "Chroma"-"Chroma", "Lightness"-"Lightness", etc.
"Log scale" parameter - a gamma transformation of the scale that determines the sensitivity of color
correction to the vertical displacement of points.
Input ports
Port name Port type Description
point mask weighting
function
(replicable)
Replicable port for input weighting functions to be applied to each
existing curve point.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
Port name Port type Description
layer mask weighting
function
(replicable)
A weighting function (mask) generated from a group of masks of a
single layer. The port instance number corresponds to the layer number
in the internal layer list of the component.
layer i.mask weighting
function
(replicable)
The inverted weighting function (mask) generated from a group of
masks of a single layer. The port instance number corresponds to the
layer number in the internal layer list of the component.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
65
68
64
67 67
66 66 66 67
66
47
49
50
47
49
47
49
50
70 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
See also
Components 53
71Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorGradient"
The ColorGradient component allows you to create color gradients based on multiple components of
the original color, such as lightness and chrome.
Visual part
2D mode 1D mode
The position of each gradient point is adjusted with the mouse. In 2D mode, points can be located along
the entire plane. In 1D mode, all points lie on a single straight line, the angle and position of which is
adjusted with the mouse. To move a color point, drag its outer edge with the mouse. To change the
color of a point, click on the inside of the color point to open the color selection dialog. In the same
dialog, set the opacity of this gradient point.
Main context menu
The context menu is available by right-clicking on any free area of the component.
72 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Color points" group (available only if option "Allow edit color points " is
enabled)
"Enabled" - enable/disable the selected group of color points.
"Select all" - select all color points.
"Add new" - add a new color point.
"Delete selected" - delete all selected points in the current gradient.
"Clear all" - delete all points in the current gradient.
"Dimension" group (available only if option "Allow edit color points " is
enabled)
"1D" - turn on 1D gradient mode.
"2D" - turn on 2D gradient mode.
"Options" group
"Use HDR" - do not clamp colors by LDR range.
"Color space" group
Contains the available color spaces in which the component can operate.
Parameters inside the component node
Component node
"Contrast" parameter - contrast of the color transition between adjacent gradient points.
"Allow edit color points" option - allow the end user to edit the gradient. If you disable this option, the
gradient control points are not visible.
72
72
148
73Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Show axes titles" option - enables display of axis titles.
"Show color distribution cloud" option - enables display of the image color distribution cloud.
"Show color under mouse" option - enables highlighting of the color that is currently under the
mouse cursor in the image viewer.
"Affect color by opacity" option - enables the effect of point opacity on the point color (zero opacity
removes the color from the gradient).
"Overlay mode" option - turn on overlay mode (similar to "overlay" layer blend mode , but works in
selected internal color space).
"Constant aspect ratio" option - enable the mode for saving the square aspect ratio of the main
gradient area.
Input ports
Port name Port type Description
p.color color
(replicable)
Color of the gradient point. Each replication of the port corresponds to
a separate point of the gradient.
p.x weighting
function
(replicable)
Horizontal position of the gradient point. Each replication of the port
corresponds to a separate point of the gradient.
p.y weighting
function
(replicable)
Vertical position of the gradient point. Each replication of the port
corresponds to a separate point of the gradient.
p.opacity weighting
function
(replicable)
Opacity of the gradient point. Each replication of the port corresponds
to a separate point of the gradient.
g.contrast weighting
function
Contrast of transition between neighboring color points in the gradient.
show cloud boolean Option to display the image color distribution cloud.
color by
opacity
boolean Enables the effect of point opacity on the point color (zero opacity
removes the color from the gradient).
overlay
mode
boolean Turn on overlay mode (similar to "overlay" layer blend mode , but
works in selected internal color space).
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
23
46
49
47
49
47
49
47
49
47
47
47
47 23
50
74 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Output ports
Port name Port type Description
p.color color
(replicable)
Color of the gradient point. Each replication of the port corresponds to
a separate point of the gradient.
p.x weighting
function
(replicable)
Horizontal position of the gradient point. Each replication of the port
corresponds to a separate point of the gradient.
p.y weighting
function
(replicable)
Vertical position of the gradient point. Each replication of the port
corresponds to a separate point of the gradient.
p.opacity weighting
function
(replicable)
Opacity of the gradient point. Each replication of the port corresponds
to a separate point of the gradient.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
See also
Components
46
49
47
49
47
49
47
49
50
53
75Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorPalette" *
Sorry, this topic is under development.
See also
Components 53
76 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorPath" *
Sorry, this topic is under development.
See also
Components 53
77Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorPicker" *
Sorry, this topic is under development.
See also
Components 53
78 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorPlate" *
Sorry, this topic is under development.
See also
Components 53
79Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorStretcher"
The ColorStretcher component allows you to specify one or more areas on the color plane within
which you can compress/stretch the chrome and color hue, as well as make color offset.
Visual part
You can create many color points on the color plane of the selected color space. Each such point has a
certain area of influence around it.
The borders of this area can be adjusted with the mouse:
80 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Inside the impact area of the point there are two additional compression/stretch sliders, which can also
be controlled with the mouse:
The straight slider affects the distribution of chroma within the area. The arc slider affects the
distribution of hue within the area. With these sliders, you can compress/stretch these color
components.
There is an easier way to control two sliders at the same time. For this it is necessary to hold down the
center point with the middle mouse button and start to move. Horizontal movement will control the
straight slider and vertical movement will control the arc slider. If you hold down the center point with
the middle mouse button and start moving with the Shift key held down, you can also change the
distribution of lightness, but this will only have an effect if you set some color offset within the area (see
below).
If you disable the "Fix offsets" option, you can use the mouse to set some offset of the base color for83
81Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
this area. If you make an offset with the Shift key held down, you can specify an offset in lightness:
While the "Fix offsets" option is disabled, it will be impossible to move the area. If you enable this
option again, the offsets will be fixed, compression/stretch sliders will appear on the area, and the area
can be moved around the color plane again:
If any color offset is specified for the selected color area, the 3D ball in the center of the component will
be divided into two halves, where the left-bottom will represent the shades of the original color, and the
right-top will represent the shades of the resulting color.
83
82 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
If more than one color point-area is created, multiple selections can be made. To add another point to
the current selection, you can click on it with the Shift key pressed. You can also use a rectangular
selection with the mouse:
Context menu
The context menu is available by right-clicking on any free area of the component.
"Add color point" - add a new color point in the place where
this context menu was called.
"Add sample color point" - a drop-down menu that has some
set of standard points for quick adding.
"Delete all points" - delete all existing points.
"Color space" group
Contains the available color spaces in which the component
can operate. Only perceptual color spaces are represented
here.
"Options" group
148
83Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Separate areas" - separate areas so that there are no
intersections between them. This option is not available in
current version of the application.
"Always show areas" - always show the borders of the areas
of influence of color points, even if the points are not selected.
"Mask mode" - when this option is activated, the component
starts to output a mask as an image, in which the existing color
areas are represented in white.
The context menu for a particular color point is available by right-clicking on one of the existing points.
"Color point #/#" group
"Enable color point" - enable/disable the effect of this color point-area.
"Fix offsets" - to lock/release the offsets. If you enable the option, you can
control the area as a whole, and if you disable the option, you can set the
color offset within the area.
"Flip offsets" - swap the point of the original color and the point of the
resulting color (if any offset is specified).
"Reset offsets" - reset the offset of the source / result color (if specified).
"Equalize lightness" - remove the difference in lightness (if specified)
between the point of the original color and the point of the resulting color.
"Reset lightness gamma" - reset the change in the distribution of lightness
(if specified).
"Delete color point" - delete this color point.
Parameters inside the component node
Component node
84 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Show cloud" option - enables / disables the display of the image color distribution cloud inside the
color circle.
"Affect cloud" option - enables / disables the effect of color correction created by this component on
the cloud.
"Affect color fill" option - enables / disables the effect of the color correction created by this
component on the color fill of the circle.
"Logarithmic scale" parameter - allows you to set the nonlinearity relative to the center of the
component (only for viewing convenience). Valid values are from 0 (linear scale) to 1 (logarithmic scale).
"Apply log scale to cloud" option - allows you to apply nonlinearity to the color distribution cloud as
well, if the cloud is enabled.
Input ports
Port name Port type Description
show mask boolean Activate/deactivate mask display mode
show
pts.mask
boolean Activate/deactivate per-point mask display mode only for color points
activated by port 'act.pt.mask'
act.pt.mask boolean
(replicable)
Activate/deactivate color point for per-point mask display mode
point mask weighting
function
(replicable)
Mask for particular point (each port replication determines the mask /
weighting function for individual color point)
47
47
47
49
47
85Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Port name Port type Description
point color color
(replicable)
Point color (each port replication corresponds to a particular color
point)
point c.area weight
(replicable)
Point affect area size by chroma (each port replication corresponds to a
particular color point)
point h.area weight
(replicable)
Point affect area size by hue (each port replication corresponds to a
particular color point)
point
chroma
weight
(replicable)
Particular point chroma (each port replication determines the chroma
value for individual color point)
point hue weight
(replicable)
Particular point hue (each port replication determines the hue value for
individual color point)
point C-curve weight
(replicable)
Particular point chroma dustribution curve (each port replication
determines the chroma dustribution curve for individual color point)
point H-
curve
weight
(replicable)
Particular point hue dustribution curve (each port replication
determines the hue dustribution curve for individual color point)
show cloud boolean Show image color cloud
affect cloud boolean Affect color distribution cloud with current color orrection
affect fill boolean Affect background color fill with current color orrection
log scale weight Logarithmic scale for the polar distance nonlinearity (values in 0..1
range)
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
Port name Port type Description
mrg.mask weighting
function
Merged mask composed of stretching areas of all color points
mrg.i.mask weighting
function
Merged mask (inverted) composed of stretching areas of all color points
pts.mask weighting Merged mask composed of stretching areas of all color points, that
49
46
49
47
49
47
49
47
49
47
49
47
49
47
49
47
47
47
47
50
47
47
86 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Port name Port type Description
function activated by port 'act.pt.mask'
pts.i.mask weighting
function
Merged mask (inverted) composed of stretching areas of all color
points, that activated by port 'act.pt.mask'
point color color
(replicable)
Mask for particular color point stretching area (each port replication
corresponds to an individual color point)
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
See also
Components
Visual component "PieSliceShifter"
47
47
46
49
50
53
123
87Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ColorWheel"
The ColorWheel component sets the linear offset of the coordinates of the current color space .
Visual part
The vertical and horizontal shift of the center point sets the offset of the coordinates in the plane of the
color space (in the illustration, the UV plane of the YUV/YCrCb space). Moving a point with the shift
key pressed sets the offset of coordinates on the third axis (in the illustration - the Y-axis of YUV/YCrCb
space).
Context menu
The context menu is available by right - clicking on any area of the component.
"Color space" group
Contains the available color spaces in which the component can operate.
"Auto" means to use the current color space without conversion. In this case, if
the brightness axis in the color space is not parallel to one of the coordinate axes
(for example, RGB space), the behavior of the component will not be obvious, but
the option to lock neutrals, for example, will work correctly.
"Options" group
"Lock gamut" - lock color, located on the LDR range boundaries of the specified
color space, partially affecting those close to them.
"Soft gamut bounds" - smoothly limit the shift along the LDR range boundaries
of the specified color space. Only shift is limited, input and output values can lie in
the HDR range.
"Lock neutral" - lock neutral colors, partially affecting those close to them.
Parameters inside the component node
Component node
148
148
148
148
88 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"background opacity" parameter - allows you to set the opacity of the fill within the color ring. The fill
color is determined by the current internal color space of the component, as well as the current point
shift.
"show cloud" option - enables/disables the display of the image color distribution cloud inside the
color ring.
"show color wheel" option - enables/disables the display of the color ring around the shift point area.
"scale factor" parameter - allows you to specify the scale coefficient for the shift of the point on the
image colors.
"logarithmic scale" parameter - allows you to specify nonlinearity relative to the center of the
component (for viewing convenience only). Valid values are from 0 (linear scale) to 1 (logarithmic scale).
"apply log scale to cloud" option - allows you to apply the nonlinearity to the color distribution cloud,
if the cloud is on .
Input ports
Port name Port type Description
show cloud boolean Corresponds to the "show cloud" option - enables/disables the
display of the image color distribution cloud inside the color ring.
show wheel boolean Corresponds to the "show color wheel" option - enables/disables the
display of the color ring around the component.
scale factor weight Corresponds to the "scale factor" option - allows you to specify the
scale coefficient for the shift of the point on the image colors.
distance weight The amount of shift in the plane of the current color space. It can take
values from -1 to 1. The default value is 0.
direction weight The direction of the shift in the plane of the current color space. It can
take cyclic values from 0 to 1.
z-depth weight Z-depth, the amount of shift on the third axis of the current color space.
It can take values from -1 to 1. The default value is 0.
lock gamut boolean Corresponds to the option "Lock gamut" - lock colors located on the
boundaries of the LDR range of the specified color space, partially
88
47 88
47 88
47 88
47
47
47
47 87
89Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Port name Port type Description
affecting close to them.
soft gamut boolean Corresponds to the option "Soft gamut bounds" - smoothly limit the
shift on the boundaries of the LDR range of the specified color space.
Only shift is limited, input and output values can lie in the HDR range.
lock neutral boolean Corresponds to the option "Lock neutral" - lock neutral colors,
partially affecting close to them.
log scale weight Corresponds to the parameter "Logarithmic scale" - scale
nonlinearity amount.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
Port name Port type Description
distance weight The amount of shift in the plane of the current color space. It can take
values from -1 to 1. The default value is 0.
direction weight The direction of the shift in the plane of the current color space. It can
take cyclic values from 0 to 1.
z-depth weight Z-depth, the amount of shift on the third axis of the current color space.
It can take values from -1 to 1. The default value is 0.
dx weight The amount of horizontal shift in the plane of the current color space. It
can take values from -1 to 1. The default value is 0.
dy weight The amount of vertical shift in the plane of the current color space. It
can take values from -1 to 1. The default value is 0.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
See also
Components
47 87
47 87
47 88
50
47
47
47
47
47
50
53
90 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ComboBox" *
Sorry, this topic is under development.
See also
Components 53
91Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ComponentNonlinearity" *
Sorry, this topic is under development.
See also
Components 53
92 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Curves"
The Curves component allows you to edit the toning curves for each color channel individually, as well
as the master curve for all channels.
Visual part
layout variant - all curves in one frame
93Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
at high zoom, you can see individual LUT points
There are two work modes of the component:
o “control points” - the curve is defined by several control points with some interpolation between
them. Points can be moved to any location by X/Y coordinates.
o “graphic” - the curve is defined as a certain number of points evenly spaced along the x-axis. At the
same time, individual points can be moved only along the y-coordinate. That is, in fact, it is a one-
dimensional regular LUT . This mode allows you to set a large number of points, such as 65535.
Editing a curve in this mode looks like drawing with a pencil - you can redraw any part of the curve
in one of the following ways:
drawing a free-form curve with the left mouse button with the Control key pressed.
when you right-click on any part of the curve, you can start drawing a straight section that will
replace the curve from the point you started to the point where you release the mouse button.
if you press the right mouse button on any part of the curve with the Shift key pressed, you can
start drawing a straight section, but the second end of the straight line will fall to the point at
which the curve existed before the start of drawing.
Depending on the parameters of the component, the curves for each of the color channels can be
located both in one frame and in different separate frames. The frame layout can be selected from a
large number of variants . Here are a couple of layout examples:
153
97
94 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
4x4 frames layout
95Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
1+3 frames layout
Various calculation methods are available for the master channel. The choice of method is available
in the node or the component or via the input port ‘master type’ .
There is a wide range of zoom/pan in frames to view the consideration of individual points of the curve
in a graphical mode even with such a large LUT sizes like 2048. Use the mouse wheel to zoom in and
out. Use the middle mouse button drag to pan. Double-click the middle button to reset zoom/pan.
Ability to load curves from ICC/ICM profile files, Adobe ACV, Adobe AMP, and Autodesk CTF (1DLUT
element). To load curves from files, you can use the drag-and-drop mechanism (drag-and-drop a file
onto a component), or use the input port 'load file' .
Ability to save curves to Adobe ACV, Adobe AMP, and Autodesk CTF (1DLUT element) files. To save
curves to a file you can use the input port 'save file' .
Multiple selection of points is available (using the mouse rectangular selection) with the possibility of
group editing.
The function of inverting curves is to replace one or all curves with inverse curves.
The function of smoothing the shape of curves with the ability to set the degree of smoothing per
channel.
The function of normalization/scaling curves by the given value.
The function of resampling (changing the number of points) of the curve in graphical mode .
Context menu
The general context menu is available by right-clicking on any free area of the component frame.
99
100
93
101
101
96
96
96
96 93
96 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Options" group
"Clamp non-LDR values" - enables/disables the ability to exit points and
curve sections beyond the extreme values of the LDR range.
"Enable [channel name]" - enables/disables the effect of the curve for a
particular channel. This command is available in the menu only if this
channel/curve is present in the selected frame, and the "allow enable
channels" option is enabled.
"View" group
This group is available only if at least one of the "allow change frameset"
or "allow set channels" options is enabled.
"Frame set" - call the submenu for selecting the frame set .
"Channels" - call the channel/curve selection submenu for the current
frame.
"Curves type" group
"Control nodes" - enables the control nodes mode. If the work was done
in graphical mode before, the general shape of the curves will be
preserved only approximately.
"Graphical" - enables graphical mode of working with curves. If the work
was done in control nodes mode before, the general shape of the curves
will be saved quite accurately.
"Edit" group
"Reset [channel name]" - resets the curve for a single channel. This
command is available in the menu only if the channel/curve is present in
the selected frame.
"Reset all channels" - resets all curves.
"Invert [channel name]" - invert the curve for a single channel. This
command is available in the menu only if the channel/curve is present in
the selected frame.
"Invert all channels" - invert all curves.
"Smooth. .." - call the dialog box to smooth the shape of the curves.
"Normalize ..." - invokes the dialog box for the normalization/scaling
of the values of the curve points.
"Resampling ..." - invokes the dialog box for LUT resampling . The
command is available only in graphical mode .
"Color space" group
Available only if the "allow change colorspace" option is enabled.
Contains color spaces in which the component will operate. "Auto"
means to use the current color space without conversion. In this case, the
color channels (curves) will correspond to the channels of the selected
space. Note that for perceptual color spaces that have lightness as one of
100
100 100
97
97
97
98
98
93
100
97Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
color channels, both the light curve and the master channel curve will be
available to you at the same time. The effect of the master channel curve
may differ from the effect of the lightness channel curve, depending on
the selected master channel type.
"Frame set" submenu
This submenu is available only if the "allow change frameset" option is
enabled.
"Frame set" group
Contains a list of available frame sets. Each frame is a separate window
that can contain one or more color channels / curves. There are thin
delimiters on the borders of frames, which can be used to resize frames
with the mouse, if the "allow resize frames" option is enabled.
"Channels" submenu
This submenu is available only if the "allow set channels" option is
enabled.
Lists the displayed channels/curves for the current frame. If you check the
box next to a channel that was previously in another frame, the channel
(curve) will be moved from that frame to the current one.
"Smooth curves" dialog box
Available from the "Smooth ..." menu command.
This dialog box contains controls to smooth the shape of
all curves together or of each curve individually.
"link all channels" option - enables the mode in which
the changes in the amount of smoothing affect all
channels equally.
The parameter for entering the smoothing value for
each individual channel - allows you to set the amount of
smoothing of the curve shape of this channel.
100
100
100
96
98 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Parameter changes are applied instantly to curves so that
you can track the results. However, when you close the
dialog box, the changes are saved only when you click Ok.
"Normalize/rescale values" dialog box
Available from the "Normalize ..." menu
command.
This dialog box contains controls for
normalizing/scaling point values for all curves
together or for each curve individually.
"Link all channels" option - enables the
mode in which changes in scaling factors or
normalization options affect all channels in the
same way.
The input scale factor values for each
channel allows you to specify the coefficient by
which the values of all points of the curve of
this channel will be multiplied.
"Normalize" option for each individual
channel allows you to normalize the values of
all points of the curve of this channel by their
maximum value instead of setting the scaling
factor.
Parameter changes are applied instantly to
curves so that you can track the results.
However, when you close the dialog box, the
changes are saved only when you click Ok.
"Resample LUT" dialog box
Available via the menu command "Resample ..." .
This dialog box contains controls for resampling the LUT
(changing the number of points in graphical mode ).
"new LUT size" parameter - sets a new number of points.
You can specify any size of the LUT in the range from 2 to
100000 points.
The changes are applied instantly to the curves so that you
can track the results. However, when you close the dialog
box, the changes are saved only when you click Ok.
96
96
93
99Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Parameters inside the component node
Component node
"set master channel type" drop-down list - allows you to select the type of calculation of the master
channel. The master channel is one additional curve that affects all components of the color at once. The
following methods are available for calculating the master channel:
o Luma - the curve of the master channel moves the color in one specific direction in the color space.
When using this method, the colors that become darker after the correction, get extra saturation.
o Vector - the curve of the master channel moves the color along the vector, the end of which is the
given color, and the beginning lies at the origin of the color space. When using this method, the
colors that become lighter after the correction, get extra saturation.
o Hybrid - the curve of the master channel uses the method Luma for the colors become brighter,
and the method Vector for the colors become darker. When using this method, the colors do not
get extra saturation.
o Sheaf - the curve of the master channel is the union of three color channels. When you change it, all
three color channels change the same way. In this way, this method works only for component
color models (like RGB ). For perceptual color models (like LAB ) it works as a Luma method.
"show histogram" option - allows you to show/hide the histogram of the image color distribution on
148 148
100 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
the background of curves.
"affect histogram" option - enables/disables use of correction curves to the shape of the histogram.
"show grid" option - enables/disables the display of the grid on the background of curves.
"show diagonal" option - enables/disables the display of auxiliary diagonal on the background of
curves.
"allow change frameset" option - makes available a section of the context menu (when the user
works with the visual part of the component), which presents various variants for the frame set .
"allow resize frames" option - makes it possible to resize frames with the mouse (when the user is
working with the visual part of the component).
"allow change colorspace" option - makes available a section of the context menu (when the user
works with the visual part of the component), which presents the choice of color space with which the
component will work.
"allow set channels" option - makes available the section of the context menu (when the user
works with the visual part of the component), which presents the choice of color channels (curves) for
the current frame.
"grid steps" parameter - is a comma-separated list of numbers that specify the steps of sequential
division of the auxiliary grid.
"interpret scale interval" parameter - is a number that determines the value of the color component
at the top/right point of the scale. It can be 1, 255, 1023 or any other number. This setting affects only
the display of curve point information.
"default LUT size" parameter - the number of LUT used in the transition from the control nodes mode
in the graphical mode , or when you import curves from some file formats.
"histogram values gamma" parameter - is the value of the vertical gamma transformation for a more
convenient representation of the histogram.
"allow enable channels" option - makes available the context menu commands (when the user
works with the visual part of the component) to enable/disable the effect of color channels (curves) for
the current frame.
"enable master channel" option - enables/disables the effect of the curve of the master channel.
"enable channel 1" option - enables/disables the effect of curve for the color channel 1.
"enable channel 2" option - enables/disables the effect of curve for the color channel 2.
"enable channel 3" option - enables/disables the effect of curve for the color channel 3.
"Background color" parameter - allows you to select the color and opacity of the background fill for all
frames.
Input ports
Port name Port type Description
master type enum Corresponds to the parameter "set master channel type" - allows
you to select the type of calculation of the master channel.
show
histogram
boolean Corresponds to the "show histogram" option - allows you to show/
hide the histogram of the image color distribution on the background
of curves.
affect
histogram
boolean Corresponds to the option "affect histogram" - enables/disables use
of correction curves to the shape of the histogram.
clamp boolean Corresponds to the option "clamp non-LDR values" - enables/
disables the ability of the points/nodes and sections of the curve to lie
95
97
95
95
93 93
95
47 99
47 99
47 100
47 96
101Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Port name Port type Description
beyond the extreme values of the LDR range.
show
diagonal
boolean Corresponds to the "show diagonal" option - enables/disables the
display of the auxiliary diagonal on the background of curves.
show grid boolean Corresponds to the "show grid" option - enables/disables the display
of the auxiliary grid on the background of curves.
en.master boolean Corresponds to the "enable master channel" option - enables/
disables the effect of the master channel curve.
en.chan.1 boolean Corresponds to the "enable channel 1" option - enables/disables the
effect of the channel 1 curve.
en.chan.2 boolean Corresponds to the "enable channel 2" option - enables/disables the
effect of the channel 2 curve.
en.chan.3 boolean Corresponds to the "enable channel 3" option - enables/disables the
effect of the channel 3 curve.
load file event
( string
FileName )
(replicable)
Load curves from a file named FileName. The following file formats are
currently supported: *.icc, *.icm, *.acv, *.amp, *.ctf, *.cdl, *.ccc, *.cc,
*.edl.
save file event
( string
FileName )
(replicable)
Save curves to a file named FileName. The following file formats are
currently supported: *.acv, *.amp, *.ctf.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
Port name Port type Description
master wf weighting
function
The weighting function based on the curve of the master channel.
chan.1 wf weighting
function
The weighting function based on the curve of the channel #1 for color
current space.
chan.2 wf weighting
function
The weighting function based on the curve of the channel #2 for color
current space.
chan.3 wf weighting
function
The weighting function based on the curve of the channel #3 for color
current space.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
47 100
47 100
47 100
47 100
47 100
47 100
48
48
49
48
48
49
50
47
47
47
47
50
102 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
See also
Components 53
103Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "ExposureContrast"
ExposureContrast component is an extension of Autodesk CTF standard ExposureContrast element
(fully compatible).
Visual part
visual control type as wheels
visual control type as columns
Context menu
The context menu is available by right - clicking on any free area of the component.
104 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Processing type" group
"natural" - the natural shape of the exposure curve (does not apply to the Autodesk
CTF standard).
"linear" - the standard type "linear" of ExposureContrast element of Autodesk CTF
standard.
"video" - the standard type "video" of ExposureContrast element of Autodesk CTF
standard.
"log" - the standard type "log" of ExposureContrast element of Autodesk CTF
standard.
"Color space" group
Lists available color spaces in which the component will operate.
"Auto" - means to use the current color space without conversion.
"View" group
Selecting the visual type of the controls:
"Wheels" - the visual type of the controls in the form of color wheels. In this mode,
the parameter values for each color channel are determined by the offset of the
center point within the color wheel. Use the offset of the point with the Shift key
pressed to change the total value for the three color channels at the same time. It is
also possible to see and adjust the numerical values of the parameter for each color
channel and the total value for the three channels (white numbers).
"Columns" - the visual type of the controls in the form of vertical columns. In this
mode, the parameter values for each color channel are determined by the vertical
offset of the corresponding color column. Use the offset of the white color column
to change the total value for the three color channels at the same time. It is also
possible to see and adjust the numerical values of the parameter for each color
channel and the total value for the three channels (white numbers).
Both visual types have the same capabilities and differ only in appearance and convenience.
Parameters inside the component node
Component node
"Show curvature graph" option - show / hide curve graphs window in the visual part of the
105Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
component.
Input ports
Port name Port type Description
exposure weight
(replicable)
Exposure. The first replication of the port controls the overall exposure.
The three subsequent port replications control the exposure for each
individual channel in the color space.
contrast weight
(replicable)
Contrast. The first replication of the port controls the overall contrast.
The three subsequent port replications control the contrast for each
individual channel in the color space.
pivot weight
(replicable)
Contrast pivot. The first replication of the port controls the overall
contrast pivot. The three subsequent port replications control the
contrast pivot for each individual channel in the color space.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
The component does not have special ports. Standard ports are not listed here because these ports and
their functions are equal for all components (see " Standard ports ").
See also
Components
Visual component "SOPSAT"
47
49
47
49
47
49
50
50
53
129
106 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "FileBrowser" *
Sorry, this topic is under development.
See also
Components 53
107Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Free Target"
The FreeTarget component allows you to quickly adjust the necessary colors by simply clicking on the
image.
Visual part
The visual part of the component contains a list of several "target groups":
One single target group
The number of target groups, their order and settings are controlled from the component node .
Each such target group can contain several parameters that can be adjusted by the end user (in this
illustration - Luma, Hue, Chrome and Spread). Each parameter has a schematic view of how to control
with the mouse. This means that the end user uses the image in the viewer to select the desired colors,
capture them with the mouse, and then change the color settings according to the specified control
scheme.
Each target group has a group of auxiliary controls:
- enable / disable the effect of this target group. This element is duplicated by the corresponding
command from the context menu.
- a circular slider that controls the multiplier for all current color parameter shifts for all existing
targets within a given target group. This element is duplicated by the corresponding command from
the context menu.
- enable / disable fixing the average offset for all targets. This element is duplicated by the
corresponding command from the context menu.
Targeting - direct control of image colors with the mouse
Each target group has an element in the form of a circle / round target: , when activated, the
109
108
108
108
108 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
component goes into active "targeting" mode.
When targeting is enabled, the end user selects the desired color in the image in the image browser and
places a new "target" on it (marked with a small dot in the circle on the image), which can then be
controlled with the mouse to change the color of this area of the image. Existing targets can also be
used to change the color of their scopes.
The available color options and control schemes are shown to the user in the target group control
zone. For example, according to the illustration above, by holding down the left button and moving the
mouse vertically with the Shift key pressed, the user will change the lightness of the image color area.
The current change in lightness is also displayed as a number in the corresponding field.
With the right mouse button, the user can always move existing targets from one area of the image to
another. Also, using the right mouse button, the user can select multiple targets for group color
change. To do this, right - click on the free area of the image and start to set a rectangular selection.
When multiple targets are selected, any color change will affect all selected targets.
- control area of color components, which will be used to limit the area of impact of
each target. You can enable/disable any combination of components. This area is only available when
the "allow user to set base options" option is enabled.
Context menu
The main context menu is available by right - clicking on any area of the component.
"Color space" group
Contains the available color spaces in which the component can operate.
"Target group" group
This group is available only if the context menu was opened by clicking on
the target group control area.
"Enable target group" - enable / disable the effect of this target group. The
circular slider also controls the shift multiplier for all targets in a given target
group. The check box is duplicated by the corresponding element in the
visual part. The circular slider is also duplicated by the element in the
visual part.
"Fix average offset" - enable / disable fixing the average offset for all
targets. Enabling the fixing allows you to keep, for example, the same total
brightness of the image when you change the brightness of different parts of
the image. The command is duplicated by the corresponding element in
the visual part.
"Reset selected targets" - reset offsets of all color parameters for all
selected targets within this target group.
"Reset all targets" - reset offsets of all color parameters for all targets within
this target group.
"Delete selected targets" - delete all selected targets within this target
group.
"Delete all targets" - delete all targets within this target group.
107
109
107
107
107
109Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Parameters inside the component node
Component node
"use source image" option - use the source image for the target color (without taking into account all
previous processing), or use the image with the current processing (with all previous processing,
including previous layers).
"allow user to set base options" - allow the end user to specify the basic components of the color,
which will be used to limit the scope of the targets for each target group. When this option is enabled,
additional control areas within each target group appear in the visual part of the component.
At the top of the list of target groups there are buttons to manage the list.
- add a new target group to the end of the list,
- delete the current target group (highlighted with a green border),
- move the current target group (highlighted with a green border) higher in the list,
- move the current target group (highlighted with a green border) down the list,
- remove all target groups (clear list).
For each target group, you can change the following items:
Target group header - is available at the top of each target group. If not specified, each target group
in the visual part of the component will be signed automatically using the sequence number.
- control area of color components, which will be used to limit the area of impact of
each target. You can enable/disable any combination of components.
To the right there is a set of buttons to control the list of parameters of the target group.
- add a new parameter to this target group,
- remove the current parameter from the target group (highlighted with a green border),
- move the current parameter (highlighted with a green border) to the left of the list,
110 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
- move the current parameter (highlighted with a green border) to the right of the list,
- remove all parameters within this target group.
Under the list of buttons there is a field with a circular regulator:
"Target group default spread" - the initial value of the "spread" of each target within a given target
group on the neighboring colors. In addition to this initial value, individual spread can be adjusted for
each individual target.
To the right there is a list of color parameters that will be available for editing within this target group.
- separate color parameter, which in this example is the luma component of color,
can be edited by using the vertical drag with the left mouse button with the Shift key pressed.
In the field at the top-right side, you can enter your title for this color parameter.
All settings for each such parameter are available through the context menu, called by right-clicking on
the area of this parameter:
"Changing component" group
Contains available color components that the end user can change when working
with color.
The "Spread" item is not a color component, but is a parameter that regulates
the "distribution" of a particular target to neighboring colors.
"Mouse dragging" group
"Vertical" - use the left mouse button to drag the target vertically to edit the
selected color parameter.
"Horizontal" - use the left mouse button to drag the target horizontally to edit
the selected color parameter.
"Additional key" group
"None" - do not use any additional key on the keyboard when dragging with the
mouse.
"Shift" - use an additional Shift key on the keyboard when dragging with the
mouse.
"Ctrl" - use an additional control key on the keyboard when dragging with the
mouse.
"Alt" - use an additional Alt key on the keyboard when dragging with the mouse.
Input ports
The component does not have special ports. Standard ports are not listed here because these ports and
their functions are equal for all components (see " Standard ports ").50
111Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Output ports
Port name Port type Description
megred
mask
weighting
function
Combined mask based on all existing targets of all existing target
groups. When creating a mask, the "spread" of each individual target
and the "default spread" for the entire target group are taken into
account.
t.g.mask weighting
function
(replicable)
The mask, based on all available targets in one target group. Each port
replication corresponds to a separate existing target group. When
creating a mask, the "spread" of each individual target and the "default
spread" for the entire target group are taken into account.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
See also
Components
47
47
49
50
53
112 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "HDRSoftClipper"
The HDRSoftClipper component allows you to set the upper and lower soft clipping of color channels.
Visual part
If some colors at the input of the component lie outside the LDR range, it makes sense to apply a soft
limit (soft clipping) to them. Unlike simple clipping, in which the color channel that has gone beyond
LDR is simply equated to the upper or lower border, soft clipping allows you to save the "blown out"
details of the image (image areas whose colors lie outside LDR). A built-in histogram in the component
makes it easy to assess the need and degree of application of soft-clipping in each case.
The component presents four horizontal boundaries: the upper and lower boundaries of the upper soft-
clipping area, as well as the upper and lower boundaries of the lower soft-clipping area. These
boundaries can be adjusted by using the mouse. In addition, you can change the curvature of the soft
clipping area by adjusting the node in the middle of the area (a small circle) with the mouse.
Context menu
The context menu is available by right - clicking on any area of the component.
"Soft clipping" group
"Use high soft clipping" - enable / disable soft clipping if the color
channel exceeds the upper limit of the LDR range.
"Use low soft clipping" - enable / disable soft clipping if the color
channel exceeds the lower limit of the LDR range.
"Options" group
"Affect clipped only" - enable / disable the mode of influence only on
the areas of color space, near which the colors actually went beyond
the color gamut. This mode allows you to eliminate unnecessary
impact on colors that do not go beyond the color gamut and should
not be subjected to soft-clipping.
"Dispersion" - the value of the spread of the impact on all other areas
of the color space when the "clipping areas Only"option is enabled.
113Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Parameters inside the component node
Component node
There are no parameters inside the node.
Input ports
Port name Port type Description
smart boolean Control the "Affect clipped only" option.
dispersion weight Control the amount of "Dispersion" when the "Affect clipped only"
option is enabled. It can take values from 0 to 1.
clip high boolean Enable / disable soft clipping if the color channel exceeds the upper limit
of the LDR range. Corresponds to the "Use high soft-clipping" option
of the visual context menu.
clip low boolean Enable / disable soft clipping if the color channel exceeds the lower limit
of the LDR range. Corresponds to the "Use low soft-clipping" option
of the context menu of the visual part.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
The component does not have special ports. Standard ports are not listed here because these ports and
their functions are equal for all components (see " Standard ports ").
See also
Components
47 112
47 112
112
47
112
47
112
50
50
53
114 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "HintBar" *
Sorry, this topic is under development.
See also
Components 53
115Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Histogram" *
Sorry, this topic is under development.
See also
Components 53
116 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "InstancingManager"
The InstancingManager component implements the creation of multiple copies of a given group of
components, as well as the management of these copies (instances).
Visual part
list view variant drop-down list variant
One or more components can be connected to the 'instances' output port of the InstallingManager
component. After this step, for all of the subordinate components the settings management is made by
InstancingManager component. It can store multiple configuration settings in different
"instances" ("presets"/"snapshots") and load settings from any selected instance into a group of
subordinate components at any time.
Buttons for managing the list of instances
The visual part of the component has a number of control buttons (only if the "show toolbar buttons"
option is enabled).
- add a new instance to the list.
- remove the selected instance from the list.
- clear the list (remove all instances).
- load settings from the current instance to the group of subordinate components (the button is
available only if the "instant update components" option is disabled).
- save the settings of the group of subordinate components to the current instance (the button is
available only if the "instant update stored data" option is disabled).
Parameters inside the component node
Component node
118
117
117
117
117Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"show toolbar buttons" option - show / hide the top toolbar with control buttons for instances/
presets/snapshots in the visual part of the component.
"visual style" drop-down list - select the visual representation of the list of instances/presets/snapshots
in the visual part of the component.
"instant update components" option - if enabled, when the user changes the selection of the current
instance/preset/snapshot, the instance is automatically loaded into the subordinate group of
components.
"instant update stored data" option - if enabled, when the user changes the selection of the the
current instance/preset/snapshot, the current settings of the subgroup of components are
automatically saved to the current instance before changing the instance.
"default list item label" parameter - is a string that is displayed by default in the names of the
instances that are created in the list in the visual part of the component.
"allow user to change labels" option - if enabled, user can edit instance names/signatures in the list in
the visual part of the component.
Input ports
Port name Port type Description
selection enum Select the current instance.
copy
instance
event
( enum
SrcInstId,
enum
DstInstId )
(replicable)
Copy source instance (SrcInstId) to destination instance (DstInstId). If
one of the instances is not specified, the currently selected instance is
used.
47
48
47
47
49
118 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Port name Port type Description
apply
instance
event
( enum
InstanceId )
(replicable)
Apply instance identified by InstanceId index (or current instance by
default) to plugged components
store
instance
event
( enum
InstanceId )
(replicable)
Store instance identified by InstanceId index (or current instance by
default) from plugged components
add instance event
( enum
InstanceId )
(replicable)
Add new instance before the instance identified by InstanceId index (or
after all instances by default)
reset
instance
event
(replicable)
Reset current instance
delete
instance
event
( enum
InstanceId )
(replicable)
Delete instance identified by InstanceId (or currently selected instance
by default)
clear
instances
event
(replicable)
Delete all instances
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
Port name Port type Description
instances instancing Plug here a group of components that need to be managed
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
See also
Components
48
47
49
48
47
49
48
47
49
48
49
48
47
49
48
49
50
49
50
53
119Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Label" *
Sorry, this topic is under development.
See also
Components 53
120 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "LabelFrame" *
Sorry, this topic is under development.
See also
Components 53
121Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "MatrixTransform" *
Sorry, this topic is under development.
See also
Components 53
122 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "NestedModule" *
Sorry, this topic is under development.
See also
Components 53
123Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "PieSliceShifter"
The PieSliceShifter component divides color gamut on the segments of the pie chart. For each
segment, you can set the offset for Lightness, Hue, and Chroma.
Visual part
The entire color gamut can be divided into an unlimited number of segments. Each segment has an
impact area bounded by two adjacent segments (except when there is only one segment - in this case it
corresponds to the entire color gamut).
Example: the color gamut is divided into four segments, each picture shows the highlighted area of the individual
segment.
Managing the number of segments
You can delete, add, and move segments.
To add a segment, double-click the desired free space on the chart.
124 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
To move a segment, place the cursor on the segment axis (it will be highlighted) and hold it with the left
mouse button and move it to the desired location.
To delete a segment, right-click the context menu .
Color corrections within a single segment
Each segment has an axis on which the point is located. This point is a control for changing the color
hue and saturation within a given segment. By moving a point relative to its initial position, you can
change the hue and saturation of colors. By moving a point with the Shift key pressed, you can change
the lightness of colors within this segment.
In addition, the "Hue", "Saturation (Chroma)", "Lightness" parameters can be controlled by the arc
sliders around the pie chart (if they are enabled by the corresponding option ).
When the "Show 3D ball" option is enabled, if one of the segments is selected, a ball filled with
variations of the average color of the selected segment appears in the center of the chart:
If a segment has an offset of one or more parameters, the left-lower half of the ball is filled with the
original color of the segment, and the right-upper half - the resulting color.
In the upper left corner of the component there is a button element that controls "targeting" (available
only if the "allow picking from image" option is enabled):
Targeting is a mode in which the user can control the component by clicking directly on the image itself.
In this case, in the targeting mode, the user can click on the colors of the image to create new segments
of the chart, or change the parameters of existing segments.
125
126
125
126
125Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Context menu
The context menu is available by right - clicking.
"Color segments" group
"Add segment" - add a new segment to the chart in the place where the
context menu was called. You can also add a segment by double-clicking on an
empty area of the chart.
"Add segment ..." - open a dialog box to add a new segment if you want to
specify the exact parameters of the segment.
"Delete selected" - delete selected segments of the chart.
"Delete all" - delete all segments of the chart.
"Enabled" - enable / disable the effect of selected chart segments.
"Segment settings ..." - open a dialog box for precise editing of segment
parameters. This menu item is active only if the menu was called by clicking on
one of the segments.
"Select all" - select all chart segments.
"Reset selected" - reset the offset values for the selected chart segments.
"Reset all" - reset the offset values for all segments of the chart.
"Options" group
"Show cloud" - show / hide the image color distribution cloud inside the pie
chart.
"Show 3D ball" - show / hide the 3D ball in the center of the pie chart,
clearly showing the color variations of the currently selected segment.
"Pick from image" - turn on the targeting mode to control the segments
by using clicks on the image.
"Add new segments" - when the targeting mode is enabled, enable the
ability to add new segments by clicking on the image.
"Color space" group
Contains the available color spaces in which the component can operate.
"Auto" means to use the current color space without conversion.
"Color point/segment settings" dialog box
Available by menu command "Add segment ..." and the
"Segment settings..." .
This dialog box contains the elements of the precise control
of the parameters of the segment.
"Angle" parameter - is the angle of the central axis of the
segment, in degrees.
125
125
124
124
124
148
125
125
126 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Parameter changes are applied instantly to the segment so
that you can track the results. However, when you close the
dialog box, the changes are saved only when you click Ok.
Parameters inside the component node
Component node
"affect cloud" option - apply the current color correction of the component to the displayed color
distribution cloud (if enabled).
"limit segment moves" option - enable limitation of segment point offset by the adjacent segments.
"show arc sliders" option - show / hide arc sliders around the pie chart.
"allow picking from image" option - allows the user to enable targeting mode (show the element-
button in the left-top corner, as well as show the corresponding items in the context menu ).
Input ports
Port name Port type Description
affect cloud boolean Corresponds to the "affect cloud" option - affect color distribution
cloud with component color correction.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
The component does not have special ports. Standard ports are not listed here because these ports and
their functions are equal for all components (see " Standard ports ").
See also
Components
Visual component "ColorStretcher"
124
125
47 126
50
50
53
79
127Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Preview" *
Sorry, this topic is under development.
See also
Components 53
128 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Pseudo1DPlot" *
Sorry, this topic is under development.
See also
Components 53
129Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "SOPSAT"
The SOPSAT (SOP/Saturation) component implements a per-channel adjustment of the parameters
Slope, Offset, Power (gamma correction) and Saturation. Compatible with the ASC CDL standard and
Autodesk CTF standard (ASC_CDL element).
Visual part
control visual type variant: circles
control visual type variant: columns
152
130 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
variant with hidden part of the elements
Parameters "slope", "offset" and "power" produce one-dimensional color transformations
corresponding to the names of these parameters. The "saturation" parameter produces a three-
dimensional color transformation, increasing or decreasing the difference between the values of the
three color channels. The "saturation" parameter in the ASC CDL and Autodesk CTF standards is not
per channel (applies equally to all color channels), but its functionality is extended in this component,
while compatibility with the standards still remains.
It is possible to load/import parameters from ASC Color Decision List (.cdl), ASC Color Correction
Collection (.ccc), ASC Color Correction (.cc), Edit Decision List (.edl) and Autodesk CTF (.ctf). To import
from files, you can use the context menu of the visual part of the component, the drag-and-drop
mechanism (dragging the file with the mouse on the component), or use the input port 'load file' .
Context menu
The context menu is available by right - clicking on any free area of the component.
"Processing type" group
"Forward" - apply formulas for direct processing.
"Reversed" - apply formulas for reverse processing.
"Options" group
"High-clamp HDR" - clipping the upper LDR boundary inside the formulas.
"Lo-clamp HDR" - clipping the lower LDR boundary inside the formulas.
"Invert power" - use the inverse of the degree in a formula that does not conform
to the ASC CDL standard, but gives intuitively more predictable results.
"Lock white point" - link parameter Slope and Offset together in such a way that
when you change any of them, the white point remains unchanged. This option
corresponds to a small icon button between the Slope and Offset controls.
When the option is activated, the icon becomes brighter .
"Import ..." - open the file selection dialog to import parameters from a file of one
of the third-party formats compatible with the ASC CDL standard. The following
formats are supported: ASC Color Decision List (.cdl), ASC Color Correction
Collection (.ccc), ASC Color Correction (.cc), Edit Decision List (.edl) and Autodesk
CTF (.ctf).
"View" group
The visual type selection corresponds to the function of the 'control type' port.
152
130
132
152
152
132
131Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
"Wheels" - the visual type of the controls in the form of color wheels. In this mode,
the parameter values for each color channel are determined by the offset of the
center point within the color wheel. Use the offset of the point with the Shift key
pressed to change the total value for the three color channels at the same time. It is
also possible to see and adjust the numerical values of the parameter for each color
channel and the total value for the three channels (white numbers).
"Columns" - the visual type of the controls in the form of vertical columns. In this
mode, the parameter values for each color channel are determined by the vertical
offset of the corresponding color column. Use the offset of the white color column
to change the total value for the three color channels at the same time. It is also
possible to see and adjust the numerical values of the parameter for each color
channel and the total value for the three channels (white numbers).
Both visual types have the same capabilities and differ only in appearance and convenience.
Parameters inside the component node
Component node
"show curvature graph" option - show / hide curve graphs window in the visual part of the
component.
"slope" option - show / hide the slope control in the visual part of the component.
"offset" option - show / hide the offset control in the visual part of the component.
"power" option - show / hide the power control in the visual part of the component.
"saturation" option - show / hide the saturation control in the visual part of the component.
"show activate options" option - show / hide activation options of each control (slope/offset/power/
saturation) in the visual part of the component.
"allow change view" option - allow the end user to change the visual type of the controls.
"allow import" option - allow the end user to import data via the context menu .
"allow popup menu" option - allow the end user to invoke the context menu .
130
130 130
130
132 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Input ports
Port name Port type Description
control type enum Select the visual type of the controls. Corresponds to the "View" group
in the context menu of the visual part of the component.
load file event
( string
FileName )
(replicable)
Load/import parameters from a file named FileName. The following file
formats are currently supported: *.cdl, *.ccc, *.cc, *.edl, *.ctf.
slope weight
(replicable)
Slope. The first replication of the port controls the overall slope. The
three subsequent port replications control the slope for each individual
color channel.
offset weight
(replicable)
Offset. The first replication of the port controls the overall offset. The
three subsequent port replications control the offset for each individual
color channel.
power weight
(replicable)
Power. The first replication of the port controls the overall power. The
three subsequent port replications control the power for each
individual color channel.
saturation weight
(replicable)
Saturation. The first replication of the port controls the overall
saturation. The three subsequent port replications control the
saturation for each individual color channel.
Standard ports are not listed here because these ports and their functions are equal for all components
(see " Standard ports ").
Output ports
The component does not have special ports. Standard ports are not listed here because these ports and
their functions are equal for all components (see " Standard ports ").
See also
Components
ASC CDL
Visual component "ExposureContrast"
47
130
48
48
49
47
49
47
49
47
49
47
49
50
50
53
152
103
133Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Slider" *
Sorry, this topic is under development.
See also
Components 53
134 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "Vectorscope" *
Sorry, this topic is under development.
See also
Components 53
135Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Visual component "WeightingRegions" *
Sorry, this topic is under development.
See also
Components 53
136 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "AppVersionController" *
Sorry, this topic is under development.
See also
Components 53
137Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "BooleanLogic" *
Sorry, this topic is under development.
See also
Components 53
138 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "ColorspaceConverter" *
Sorry, this topic is under development.
See also
Components
Available color spaces / models / profiles
53
148
139Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "CopySettings" *
Sorry, this topic is under development.
See also
Components 53
140 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "HotKeys" *
Sorry, this topic is under development.
See also
Components 53
141Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "In"
The In component acts as input for the current node graph. The processing of any graph always begins
with the In node. Any graph always contains exactly one In node.
Component node
Input ports
The component does not have input ports.
Output ports
Port name Port type Description
data data
(replicable)
Graphics data supplied to the input of the current node graph.
c.func coloring
function
(replicable)
Coloring function supplied to the input of the current node graph.
is layer boolean Indicates whether the current node graph is loaded into a layer.
is mask boolean Indicates whether the current node graph is loaded into a layer mask.
is nested boolean Indicates whether the current node graph is loaded as a nested module.
is render boolean Indicates whether the rendering of the image is running. If there is no
indication, the normal preview of the image is performed.
colorspace string Name of the current color space.
See also
Components
Layers
Masks
46
49
46
49
47
47
47
47
48
53
22
25
142 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "Out"
The Out component acts as output for the current node graph. The processing of any graph always
ends with the Out node. Any graph always contains exactly one Out node.
Component node
Input ports
Port name Port type Description
data data
(replicable)
Graphics data fed to the output of the current node graph.
mask weighting
function
(replicable)
The weighting function supplied to the output of the current node
graph. If the graph generates any weighting functions, it can pass them
to one or more instances of the port, and then such a module can be
used as a layer calculated mask . When loading such a module into a
calculated mask, you can select the instance number of this port in the
mask settings, so one module can generate several masks at once.
Output ports
The component does not have output ports.
See also
Components
Layers
Masks
46
49
47
49 26
53
22
25
143Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "PortDataSwap"
Sorry, this topic is under development.
See also
Components 53
144 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "PortSwitcher" *
Sorry, this topic is under development.
See also
Components 53
145Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "Statistics" *
Sorry, this topic is under development.
See also
Components 53
146 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "StorePortData" *
Sorry, this topic is under development.
See also
Components 53
147Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Non-visual component "WFunctionCombiner" *
Sorry, this topic is under development.
See also
Components 53
148 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Available color spaces / models / profiles
The list of available color spaces in GrossGrade:
Name Type Description
RGB Compo
nent /
Non-
absolut
e
Red, Green, Blue color channels.
This is the most common color model in which images are most often presented
initially. This is an additive model represented by three color channels: red, green,
blue.
In fact, RGB is a whole family of color spaces that represents specific
implementations, such as sRGB, AdobeRGB, etc., or specific profiles of display
devices.
CIE
XYZ
Compo
nent /
Absolut
e
CIE 1931 XYZ color space
CIE XYZ is a master model of almost all other color models used in technical fields.
This model is hardware-independent, i.e. it is not tied to a specific display device
(for example, a monitor).
YUV/
YCrCb
Percept
ual /
Non-
absolut
e
Luma (Y), U-color component, V-color component
The model is widely used in video / television. The brightness component contains
a black and white image, and the remaining components contain information to
restore the original color.
HSLxy Percept
ual /
Non-
absolut
e
Hue, Saturation, Lightness (rectangular)
It is a transformation of the RGB model so that one of the components is a
brightness component. This kind of model has two points of singularity of color
space.
HСLxy Percept
ual /
Non-
absolut
e
Hue, Chroma, Lightness (rectangular)
It is a transformation of the RGB model so that one of the components is a
brightness component. This kind of model has no singularity points of the color
space.
CIE
Lab
Percept
ual /
Absolut
e
Lightness, a-color component, b-color component
This model is hardware-independent, i.e. it is not tied to a specific display device
(for example, a monitor).
CIE standard. By default, the conversion uses the following parameters: observer =
2, illuminant = D65, RGB-gamma = 0.
UP Lab
(trial)
Percept
ual /
Absolut
Lightness, a-color component, b-color component
This model is hardware-independent, i.e. it is not tied to a specific display device
149Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Name Type Description
e (for example, a monitor).
UP Lab (Uniform Perceptual Lab) is created by Bruce Lindbloom based on Mansell
data and is evenly distributed in hue and chroma for color perception.
This color model is marked as a Trial, because it has some problems in its internal
device. It is recommended to use with caution.
Note: in the current version of the application, the subtle parameters of color models are not available. In
future versions, it will be possible to specify specific profiles of color reproduction devices, set the values of
the light source, the observer, the gamut mapping type, etc.
150 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Technologies
This chapter present an overview of some of the most widely used data formats and computer
technologies in color adjustment and grading.
Color Management System (CMS) - is an engine that manages the conversion between color
representations of different devices, such as monitors, based on ICC color profiles, specifically
embedded in images.
ASC CDL - a format for the exchange of basic primary color grading information between
equipment and software from different manufacturers.
3D Look-Up Table (3D LUT) - a powerful instrument for transferring a color adjustments into a
wide range of third-party applications.
151
152
153
151Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Color Management System (CMS)
An engine that manages the conversion between color representations of different devices, such as
monitors, based on ICC color profiles, specifically embedded in images. In current version only individual
CMS elements are available as some modules of the standard library .
See also
Technologies
19
150
152 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
ASC CDL
ASC CDL standard
The American Society of Cinematographers Color Decision List (ASC CDL) is a format for the exchange of
basic primary color grading information between equipment and software from different
manufacturers. The format defines the math for three functions: Slope, Offset and Power. Each function
uses a number for the red, green, and blue color channels for a total of nine numbers comprising a
single color decision. A tenth number, Saturation, specified in the Version 1.2 release, applies to the R, G,
and B color channels in combination.
The ASC CDL was developed by the ASC Technology Committee, a combined group of
cinematographers, post-production engineers, and other motion picture industry professionals.
Although the basic controls of most color correction systems are similar, they differ somewhat in
specific implementation and detail. The ASC CDL is a common standard that color correctors can
translate their proprietary settings to and from. The ASC CDL functions are mathematically orthogonal
primitives that can be used to represent vendor-specific corrections. ASC CDL correction functions also
in some cases can appear in the user interface and be used directly.
The ASC CDL allows color corrections made with one device at one location to be applied or modified by
other devices elsewhere. For example, a cinematographer filming on location can create a color
correction with a small portable device, sending the ASC CDL color correction to a colorist in post-
production to use as a starting point for final color correction. To communicate "looks" usefully in this
fashion, calibrations, viewing environments, devices, and any output transforms (e.g. film look) must be
managed very carefully; in general, they should be identical at origination and subsequent viewing.
See also
Technologies
Visual component "SOPSAT"
150
129
153Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
3D Look-Up Table (3D LUT)
3D Look-Up Table (3D LUT)
Many of you are familiar with 3D LUT technology, with its ubiquity, flexibility, wide possibilities and often
use it in technical needs or even in creativity. But those of you for whom this thing remains a "magic
black box" are strongly recommended, reluctantly, to read this section to the end.
Let's figure it out from simple to complex.
What is LUT?
Stands for Look-Up Table (transform table). In general, it is an array of matches
between the input and output values of a variable (or several variables). It is
usually used to replace complex calculations with a simple search operation. In
this case, those values of the variable that are not in the array are calculated using
interpolation based on the available values.
What is Color LUT (CLUT)?
This is a color look-up / conversion table, usually used to calibrate input / output
devices, technical manipulations such as color space conversion, and creative
photo / video processing (the latter is sometimes called Look LUTs, or simply
"looks", because they determine how the image will look, represent a kind of
"image appearance").
What is the difference between 1D and 3D Color LUT?
A one-dimensional (1D) look-up table contains a transformation of one
independent variable, it contains an array of N values and can describe, for
example, the curve which changes one of the color coordinates.
There is a kind of one-dimensional table that contains transformations of 3
independent color coordinates (like three separate curves), and it is not
considered a full three-dimensional table, because the coordinates are not related
to each other. This table is called 3x 1D LUT (three times one-dimensional table),
its size is N*3.
A three-dimensional (3D) look-up table contains a transformation of three related
coordinates describing the movement of points in the color space. Such a table is
of size N*N*N (N to the power of 3) and is the most flexible version of the LUT
with the most extensive features. The value of N is usually chosen odd so that the
neutral axis (grayscale) always has elements.
The elements of a three-dimensional table are called voxels – the three-
154 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
dimensional equivalent of pixels. There are also tables of other dimensions, such
as 4D, but here we will consider mainly only three-dimensional color look-up tables – 3D Color LUTs.
What good does 3D Color LUT give us?
This is an excellent solution for processing video or photo groups, which is also often used for
processing single images. The speed of use, as well as the ease of sharing, transfer "appearance" of color
correction between different applications – all this increases the popularity of 3D LUT every day in the
professional industry and in the field of amateur processing. In the net there are thousands of ready-
made "looks", both paid and free, distributed by various manufacturers.
The ability to completely change the color mood of a photo or video with one click attracts many users.
There are also many situations where the use of LUT is the only solution to any technical problem, for
example, the implementation of some transformation that can not be expressed by mathematical
formulas.
Hardware support for this technology is growing every day, there is equipment that somehow supports
LUT loading, for example, devices converting video signal in real time based on the tables loaded in
them, professional monitors with built-in LUTs. For the PC, the efficiency of calculating large tables with
the help of powerful computing resources of video cards, including the use of nonlinear interpolation, is
increased.
The benefits of direct rendering instead of using the 3D LUT
But no matter how many good words were said about the all-powerful 3D LUT technology, and yet it is
partly a rough surrogate. One of the drawbacks of tables is limited resolution. Quite often such
resolutions are used as 17*17*17, 33*33*33, which is much less than the color gamut resolution for 24-
bit images, which is 256*256*256 voxels. It is clear that such a table can save much less color
information than is theoretically possible.
To store a 3D LUT with the resolution of 256*256*256 you will need about 50 megabytes of memory,
and it will be processed for a long time. But for the color depth of 48 bits color resolution becomes
simply unaffordable – 65536*65536*65536! A table of this resolution would take about 1.5 petabytes
(about 1.5 million gigabytes) of computer memory! As the resolution of the 3D table grows, the amount
of memory it occupies grows with acceleration.
Table elements have a certain bit depth. The following are the most commonly used numerical types of
3D LUT elements.
Numeric type and bit depth Available range of values
Integer number, 8 bit 0 .. 255
Integer number, 10 bit 0 .. 1023
Integer number, 12 bit 0 .. 4095
Integer number, 14 bit 0 .. 16383
Integer number, 16 bit 0 .. 65535
155Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Numeric type and bit depth Available range of values
Real number, 16 bit - .. + (working range is 0 .. 1)
Real number, 32 bit - .. + (working range is 0 .. 1)
But although each individual element of the table can be represented with great precision, this does not
negate the fact that the number of these elements (table resolution) is strictly limited and usually small.
However, it's not so scary. There are LUT formats that have an irregular discrete grid, which helps to
reduce the visibility of segmentation, and also allows you to rationally use the resolution of the table.
And even a regular 3D LUT with resolution 33*33*33 is able to maintain the desired color correction with
sufficient accuracy. The fact is that usually color grading does not imply sharp changes between very
close colors. I.e. it is usually a smooth thing, affecting some colors slightly more, the other colors slightly
less, making change "fading".
The problem is that any high-precision color corrections that make sharp changes between very close
colors (for example, changing the saturation of colors whose hue belongs to a very small range of 2 to 3
degrees) will be lost or form side effects while maintaining the entire correction in a 3D LUT of not high
enough resolution with a regular grid. Those who are familiar with mathematics and DSP can draw an
analogy with Nyquist frequency and high frequency losses during sampling, if we consider our color
correction function as a signal with a spectrum of frequencies.
The illustrations below compare the results of direct color correction with the results of the same color
correction using 3D LUT of resolutions 65*65*65 and 33*33*33 with regular discreteness and linear
interpolation:
In this experiment were specifically chosen conditions under which the difference between the two
methods is clearly evident, in the daily work with natural images you rarely notice such defects.
However, using the LUTs incorrectly, it would be possible not to guess that there are some losses /
distortions in the correction results. Although it is clear that the losses will be present almost always,
visually assess their total is hardly possible. For use in the field of purely creative treatments, these
problems are not so critical, since the author himself evaluates the result and agrees with it.
Below are graphs illustrating the number of errors on a simple example of one-dimensional LUT
approximating some random curve:
156 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
Note that the last graph shows an irregular adaptive LUT, which gives much less errors than a regular
table of the same resolution. However, the construction of an irregular LUT is a more complex and long
task, the algorithm for calculating the result based on such a table is also slower, in addition, more
memory space is required because of the need to store additional information about the irregularity of
the step / grid.
For performance reasons, most applications use linear interpolation as the simplest method to calculate
colors based on 3D LUT, but the results of this method may not look quite natural. But this pursuit of
speed is not limited. Three-dimensional linear interpolation has several varieties (in order to simplify the
calculations): full trilinear, prism, pyramidal and tetrahedral. The latter method is the fastest, the most
rough, and as you might guess, quite common in applications working with 3D LUT.
Tetrahedral interpolation by its nature is not suitable for all color spaces. It works well only for spaces
where the neutral axis is parallel to one of the diagonals of the cube (additive / substantive color models
like RGB ). For spaces where the neutral axis is parallel to one of the coordinate axes (perceptual color
models like LAB ), this method works worse. [link]
With cubic or spline interpolation, the results will generally look more natural than with linear
interpolation, however, it should be understood that this usually does not affect the number of errors,
at least in the case of regular-step tables. Compare the two graphs:
Of course, this only makes sense if the tables do not have sufficient resolution. For the same reason, for
example, it is not possible to obtain any truthful sub-pixel details in image upsampling, no matter what
interpolation algorithm is used. But you can get a smoother and nicer picture, despite the fact that it
may not be true.
The disadvantage of LUTs is also the inherent limitation of the range of input values. Usually to some
extent this is a problem when working with HDR (High Dynamic Range) images, where colors are
represented by floating-point numbers. In this case, the LUT tables are not applicable to values that are
outside some predefined range (typically 0.0 – 1.0). Extrapolation outside the range can smooth things
out a bit, but, as with interpolation, it only creates some visible naturalness.
148
148
157Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
In general, all of the above applies to a large extent to both 1D and 3D LUT.
What's all this about?
To the fact that any tool should be used for its intended purpose, and it would be nice to know the
operating instructions. If your LUT gives an unsatisfactory result, you either use it incorrectly or use it
for unintended purposes.
The color correction in GrossGrade is primarily aimed at the final rendering inside GrossGrade, and the
export to 3D LUT function is just a variant of using the correction in other programs, which has both
advantages and disadvantages. Although perhaps this option will suit you in a hundred percent of
cases. Just keep in mind that all of the above is true for all LUT formats and applications that work with
them. And, therefore, some color corrections calculated inside GrossGrade by the "Render" function
may look better (or just slightly different) than the same corrections inside GrossGrade during work
(when LUT is used for preview) or when LUT is exported to third-party applications.
Knowing the nature of 3D LUT, you can use all the advantages of this technology, and at the same time
will control possible errors.
See also
Technologies 150
158 Chapter 3 GrossGrade for Expert
3GrossGrade for Expert
© © 2021 E.N.Vdovin.
All rights reserved.
Product and company names mentioned in this
manual may be trademarks or registered
trademarks of their respective companies.
Mention of third-party products is for
informational purposes only and constitutes
neither an endorsement nor a recommendation.
The author assumes no responsibility w ith
regard to the performance or use of these
products. All understandings, agreements, or
w arranties, if any, take place directly betw een
the vendors and the prospective users. Every
effort has been made to ensure that the
information in this manual is accurate. The author
is not responsible for printing or clerical errors.
160
Index
11D LUT 153
33D LUT 58, 153
AASC CDL 129, 152
Bbatch 28
boolean 47
Ccalculated mask 26
clipping 112
color 46
color space 148
coloring function 46
component 53
connection 43
construction panel 37
context help 3
Ddata 46
documentation 3
Eenum 47
event 48
FFAQ 16
file format 7, 28
Ggamut 87
Hhelp 3
Iinstance 49
instancing 49, 116
integer 47
Llayer 21, 22
Look Up Table 58, 153
LUT 7, 28, 58, 153
Mmask 25
menu 17
module 19
Nneutral 87
node 43, 53
Pport 46, 50
process graph 37
Rraster mask 26
replicable 49
Sset 48
smart mask 25
soft clipping 112
SOPSAT 129
string 48
Wweight 47
weighting function 47