Home
March 16, 2010 3:43:54 PM EST
home
back print
Pamfunc User Manual   (0) manpage
Pamfunc User Manual
0
July 2007
netpbm documentation
  • NAME
      pamfunc - Apply a simple monadic arithmetic function to a Netpbm image
  • SYNOPSIS

      pamfunc { -multiplier=realnum | -divisor=realnum | -adder=integer | -subtractor=integer | -min=wholenum | -max=wholenum -andmask=hexmask -ormask=hexmask -xormask=hexmask -not -shiftleft=count -shiftright=count } [filespec]

      All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one.  You may separate an option name and its value with white space instead of an equals sign.
  • DESCRIPTION


      This program is part of Netpbm(1) .

      pamfunc reads a Netpbm image as input and produces a Netpbm image as output, with the same format, maxval, and dimensions as the input.  pamfunc applies a simple transfer function to each sample in the input to generate the corresponding sample in the output.  The options determine what function.

      pamarith is the same thing for binary functions -- it takes two images as input and applies a specified simple arithmetic function (e.g. addition) on pairs of samples from the two to produce the single output image.

  • OPTIONS


      -multiplier=realnum


      This option makes the transfer function that of multiplying by      realnum.  realnum must be nonnegative.  If the result      is greater than the image maxval, it is clipped to the maxval.

      Where the input is a PGM or PPM image, this has the effect of      dimming or brightening it.  For a different kind of brightening,      see ppmbrighten(1) and ppmflash(1)

      Also, see ppmdim(1) , which does the      same thing as pamfunc -multiplier on a PPM image with a      multiplier between 0 and 1,      except it uses integer arithmetic, so it may be faster.

      And ppmfade(1) can generate a whole      sequence of images of brightness declining to black or increasing to      white, if that's what you want.      
      -divisor=realnum


      This option makes the transfer function that of dividing by      realnum.  realnum must be nonnegative.  If the result      is greater than the image maxval, it is clipped to the maxval.

      This is the same function as you would get with -multiplier,      specifying the multiplicative inverse of realnum.      
      -adder=integer


      This option makes the transfer function that of adding      wholenum.  If the result is greater than the image maxval,      it is clipped to the maxval.  If it is less than zero, it is      clipped to zero.

      Note that in mathematics, this entity is called an 'addend,'      and an 'adder' is a snake.  We use 'adder' because      it makes more sense.      
      -subtractor=integer


      This option makes the transfer function that of subtracting      wholenum.  If the result is greater than the image maxval,      it is clipped to the maxval.  If it is less than zero, it is      clipped to zero.

      Note that in mathematics, this entity is called a      'subtrahend' rather than a 'subtractor.'  We      use 'subtractor' because it makes more sense.

      This is the same function as you would get with -adder,      specifying the negative of integer.      
      -min=wholenum


      This option makes the transfer function that of taking the      maximum of the argument and wholenum.  I.e the minimum      value in the output will be wholenum.
           If wholenum is greater than the maxval, though, every sample      in the output will be maxval.
      -max=wholenum


      This option makes the transfer function that of taking the      minimum of the argument and wholenum.  I.e the maximum      value in the output will be wholenum.
           If wholenum is greater than the maxval, the function is      idempotent -- the output is identical to the input.      
      -andmask=hexmask


      This option makes the transfer function that of bitwise anding      with hexmask.

      hexmask is in hexadecimal.  Example: <(>CW0f

      See section Maxval for the special      meaning of maxval with respect to bit string operations such as      this.

      This option was new in Netpbm 10.40 (September 2007).
      -ormask=hexmask


      This option makes the transfer function that of bitwise      inclusive oring with hexmask.

      This is analogous to -andmask.

      This option was new in Netpbm 10.40 (September 2007).
      -xormask=hexmask


      This option makes the transfer function that of bitwise      exclusive oring with hexmask.

      This is analogous to -andmask.

      This option was new in Netpbm 10.40 (September 2007).
      -not


      This option makes the transfer function that of bitwise logical      inversion (e.g. sample value 0xAA becomes 0x55).

      See section Maxval for the special      meaning of maxval with respect to bit string operations such as      this.

      pnminvert does the same thing for a bilevel visual image      which has maxval 1 or is of PBM type.

      This option was new in Netpbm 10.40 (September 2007).
      -shiftleft=count


      This option makes the transfer function that of bitwise shifting      left by count bits.

      See section Maxval for the special      meaning of maxval with respect to bit string operations such as      this.

      This option was new in Netpbm 10.40 (September 2007).
      -shiftright=count


      This option makes the transfer function that of bitwise shifting      right by count bits.

      This is analogous to -shiftleft.

      This option was new in Netpbm 10.40 (September 2007).


  • MAXVAL


      For the arithmetic functions, the maxval has no meaning.  The function applies to the sample value as an integer.  (Note that this differs from the usual interpretation of PAM samples as being a fraction of a maxval, but does produce more intuitive result: 2 times 5 is 10.

      But with the bit string operations, the maxval has a special meaning.  The functions in question are: -andmask, -ormask, -xormask, -not, -shiftleft, and -shiftright.

      With these, each sample value the input image, and in the output image, represents a bit string, not a number.  The maxval tells how wide the bit string is.  The maxval must be a full binary count (a power of two minus one, such as 0xff) and the number of ones in it is the width of the bit string.

      For a masking function, the mask value you specify must not have more significant bits than the width indicated by the maxval.

      For a shifting operation, the shift count you specify must not be greater than the width indicated by the maxval.

      The maxval of the output image is the same as that of the input image.

  • SEE ALSO
  • HISTORY


      This program was added to Netpbm in Release 10.3 (June 2002).


Current Users: 85 © 1999-2009 PenguinSoft. All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.