Visual component "Curves"

GrossGrade

Topic:  GrossGrade for Expert > Components >

Visual component "Curves"

Previous page Parent topic Next page

 

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

layout variant - all curves in one frame

 

at high zoom, you can see individual LUT points

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:

 

4x4 frames layout

4x4 frames layout

 

1+3 frames layout

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.

 

component_Curves_contextmenu1_ENG

"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 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.

component_Curves_contextmenu2_ENG

 

 

"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.

component_Curves_contextmenu3_ENG

 

"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

component_Curves_dialog1_ENG

 

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.

 

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

component_Curves_dialog2_ENG

 

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

component_Curves_dialog3_ENG

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.

 

Parameters inside the component node

Component node

component_Curves_nonvisual_ENG

 

"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:

oLuma - 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.

oVector - 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.

oHybrid - 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.

oSheaf - 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 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.

 

 

Click toggle to expand/collapse hidden blockInput 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 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").

 

Click toggle to expand/collapse hidden blockOutput 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").

 

 


See also

Components