dwww Home | Manual pages | Find package

Pamaltsat User Manual(1)    General Commands Manual    Pamaltsat User Manual(1)

NAME
       pamaltsat - increase or decrease the saturation of an image using one of
       several alternative methods.

SYNOPSIS
       pamaltsat [-method name] [-strength number] [-linear] [infile]

DESCRIPTION
       This program is part of Netpbm(1).

       pamaltsat decreases or increases the saturation of a Netpbm image by one
       of various non-standard (alternative) methods.

       The  input  is a Netpbm image from Standard Input or a file named by the
       arguments.  The output is a Netpbm image in the same format  written  to
       Standard Output.

       The  most  conventional way to change the saturation of an image is what
       pambrighten does.

EXAMPLES
       To increase saturation by a factor of 2.1 using the logarithmic method:

            pamaltsat -method log -strength 2.1 test.ppm

       To convert a color image to grayscale:

           pamaltsat -strength 0 test.ppm

SATURATION METHODS
       The following saturation methods are available.

   Logarithmic Method
       This saturation model is inspired by the concept of color  integrity(1),
       which  works with color in terms of intensity ratios, where intensity is
       a value of the ]8;;https://en.wikipedia.org/wiki/Luminosity_function\luminosity function]8;;\ , rather than brightness, or the  nu-
       merical  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  inten-
       sity 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  re-
       sulting  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  fac-
       tor,  there  are two cases where it cannot be increased.  When the total
       intensity (or brightness) of a color is too high for the desired satura-
       tion, 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.

   Spectral Method
       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 spec-
       trum  of  the same total intensity.  The spectral method uses one of the
       simplest measures of such a difference: the difference between the high-
       est 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, pa-
       maltsat 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 opera-
       tions are part of that concept: multiplication of component  intensities
       by  the  same quotient is an important operation because changes bright-
       ness 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 inten-
       sities.  For such samples, pamaltsat decreases the strength to the high-
       est value that keeps the resulting color in range.

       This method was invented by Anton Shepelev.

OPTIONS
       In  addition  to  the  options common to all programs based on libnetpbm
       (most notably -quiet, see ]8;;index.html#commonoptions\ Common Options]8;;\ ),  pamaltsat  recognizes  the
       following command line options:

       -method method
              specifies the saturation method to use:

              The default is spectrum

       -strength strength
              This  specifies a real nonnegative factor whereby to modify satu-
              ration.  A value greater than  unity  will  increase  saturation,
              whereas  a  value  less  than  unity will decrease it. Unity will
              leave the image unchanged, and zero will produce greyscale output
              according to Rec 709.

              pamaltsat preserves the total intensity of each pixel  and  never
              affects neutral gray pixels.

              This option is mandatory.

       -linear
              This tells pamaltsat that the input is the intensity-linear vari-
              ation  of  a Netpbm image forat, in which the samples are propor-
              tional to light intensity rather than to brightness, as they  are
              in true-or gamma-adjusted- Netpbm image formats.

USAGE NOTES
       Since  pamaltsat  does  not affect neutral colors, you should adjust the
       color balance before saturation. You can do this with pamlevels.

EXTENSIBILITY
       pamaltsat is written with an eye to extending  it  with  new  saturation
       methods, which programmers are welcome to contribute.  The only require-
       ment is that every new method depend on a single strength parameter with
       the semantics described under the -strength command-line option.

SEE ALSO
       pambrighten(1), ppmflash(1),

AUTHOR
       This    program   was   first   submitted   by   Anton   Shepelev   (an-
       ton.txt@gmail.com).

HISTORY
       pamaltsat was new in Netpbm 10.84 (September 2018).

Table Of Contents
       •      ]8;;#synopsis\SYNOPSIS]8;;\

       •      ]8;;#description\DESCRIPTION]8;;\

       •      ]8;;#examples\EXAMPLES]8;;\

       •      ]8;;#saturation_methods\SATURATION METHODS]8;;\

       •      ]8;;#options\OPTIONS]8;;\

       •      ]8;;#usage_notes\USAGE NOTES]8;;\

       •      ]8;;#extensibility\EXTENSIBILITY]8;;\

       •      ]8;;#seealso\SEE ALSO]8;;\

       •      ]8;;#author\AUTHOR]8;;\

       •      ]8;;#history\HISTORY]8;;\

DOCUMENT SOURCE
       This manual page was generated by the Netpbm tool  'makeman'  from  HTML
       source.  The master documentation is at

              http://netpbm.sourceforge.net/doc/pamaltsat.html

netpbm documentation           14 September 2018       Pamaltsat User Manual(1)

Generated by dwww version 1.16 on Tue Dec 16 05:03:33 CET 2025.