Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_iop_channelmixer_shared_white_preserving_params_t Struct Reference

White-preserving primaries model : per-primary rotation and saturation, no white freedom. More...

#include <channelmixerrgb_shared.h>

+ Collaboration diagram for dt_iop_channelmixer_shared_white_preserving_params_t:

Data Fields

float red_rotation
 
float red_saturation
 
float green_rotation
 
float green_saturation
 
float blue_rotation
 
float blue_saturation
 

Detailed Description

White-preserving primaries model : per-primary rotation and saturation, no white freedom.

Each primary is the chromaticity of one column of the mixer matrix, expressed in the affine plane of the current mixer basis. rotation turns it around the basis white, and saturation scales its distance to that white by 1 + saturation : -1 collapses the primary onto the white, 0 leaves it untouched, +1 doubles its distance. The three column magnitudes are then SOLVED, not chosen, so that the basis white maps to itself : that constraint is what removes the three remaining degrees of freedom of a 3x3 matrix, and is why six parameters describe the whole white-preserving submanifold exactly. All-zero parameters are the identity matrix, and a uniform saturation is the classic saturation matrix around the basis white.

Definition at line 72 of file channelmixerrgb_shared.h.

Field Documentation

◆ blue_rotation

◆ blue_saturation

◆ green_rotation

◆ green_saturation

◆ red_rotation

◆ red_saturation


The documentation for this struct was generated from the following file: