The following saturation methods are available.
LogarithmicMethod
This saturation model is inspired by the concept of colorintegrity(1), which works with color in terms
of intensity ratios, where intensity is a value of the luminosity function , rather than brightness, or
the numerical value of the sample in the image file. From this viewpoint, it is natural to define the
saturation of a color as the ratio of maximum and minimum intensities of its primary components. In
order, however, to make saturation an additive value and to endow the -strength parameter with the
semantics of a multiplier, it is convenient to operate on the logarithm of that ratio. The addition of
such saturations acquires physical sense, and multiplication corresponds to the raising of intensity to
the power of the multiplier.
With this method, pamaltsat raises the intensity of each component to the power of the strength value.
Since the total intensity of the resulting color will differ from that of the original, it is necessary
to restore the intensity by multiplying the component intensities of the saturated color by the ratio of
the intensity of the original color to that of the saturated color.
Although it is always possible to decrease saturation by any given factor, there are two cases where it
cannot be increased. When the total intensity (or brightness) of a color is too high for the desired
saturation, pamaltsat applies the maximum possible saturation that keeps the original intensity. For
example, any color with at least one component at the maxiumum is already fully saturated. When one of
the primary components is zero, the definition of saturation given above no longer works because of a
zero in the denominator. pamaltsat offers no special treatment of this situation because it does not
create discontinuities and therefore produces no visible defects at reasonable strength levels. When,
however, strength approaches infinity, each color tends to its primary component with the highest
intensity.
This method was invented by Anton Shepelev.
SpectralMethod
This is the default method. It treats color as a spectrum with three bands: one for the intensity of
each primary component. Since neutral gray has a uniform (constant) spectrum, saturation can be measured
as the difference of the spectrum of the given color from the uniform spectrum of the same total
intensity. The spectral method uses one of the simplest measures of such a difference: the difference
between the highest and lowest component intensities, which is an additive value and therefore amenable
to multiplication with good physical sense. Although a complete hue-saturation model can be dervied from
this approach, pamaltsat need not concern itself with it because it always preserves both hue and total
intensity.
In order to change saturation, pamaltsat first multiplies the intensity of each component by the desired
strength. The saturation of the result is the strength times the saturation of the original, and
likewise the total intensity, but it is then restored by subtraction of the neutral gray with a suitable
intensity.
The effect of this method on each component intensity may be expressed in the following equation:
sat = orig * strength - Iorig * (strength - 1)
where sat is the saturated sample, orig the original sample, and Iorig the total intensity of the
original color.
The method is also related to color integrity because both its operations are part of that concept:
multiplication of component intensities by the same quotient is an important operation because changes
brightness but keeps color balance, and subtraction of a constant from all component intensities is
described by the inventor of color integrity as 'subtraction of white.'
This procedure may produce both negative and over-unity component intensities. For such samples,
pamaltsat decreases the strength to the highest value that keeps the resulting color in range.
This method was invented by Anton Shepelev.