Input must must be obtained from a pipe or a file.
Usage: ppmfilter [ --effect [ property=value ]* ]*
Where effect and properties are:
      --1dtv - Run the 1dtv effect from ppmeffectv
      --agingtv - Run the agingtv effect from ppmeffectv
      --baltantv - Run the baltantv effect from ppmeffectv
      --black-and-white - Convert input into black and white
      --border - Add a border of a given width, height and colour
          position, <position>, 10.0,10.0:80.0x80.0, border dimensions
          colour, <colour>, 0x0000ff, colour
      --brokentv - Run the brokentv effect from ppmeffectv
      --burningtv - Run the burningtv effect from ppmeffectv
      --charcoal - Charcoalise the picture
          radius, <int>, 2, radius of charcoalisation
      --chroma - Apply a chroma filter from an image file and a colour
          file, <file>, , file to use, or pop the top of the stack if not specified
          colour, <colour>, 0x303000, colour to use
      --cycletv - Run the cycletv effect from ppmeffectv
      --deinterlacetv - Run the deinterlacetv effect from ppmeffectv
      --dicetv - Run the dicetv effect from ppmeffectv
      --difftv - Run the difftv effect from ppmeffectv
      --dottv - Run the dottv effect from ppmeffectv
      --dumbtv - Run the dumbtv effect from ppmeffectv
      --edgetv - Run the edgetv effect from ppmeffectv
      --extract-blue - Extract the blue channel
      --extract-green - Extract the green channel
      --extract-red - Extract the red channel
      --firetv - Run the firetv effect from ppmeffectv
      --group - Group the following effects
      --holographictv - Run the holographictv effect from ppmeffectv
      --lenstv - Run the lenstv effect from ppmeffectv
      --lifetv - Run the lifetv effect from ppmeffectv
      --luma - Apply a luma filter over a period from an image file
          file, <file>, , image file to use or pop top of stack if not specified
          period, <int>, 25, period of effect
          reverse, <bool>, false, reverse the effect
          alternate, <bool>, false, alternate between forward and reverse
          smooth, <double>, 0.1, smoothness of transition
      --mono - Convert input into mono
      --mosaictv - Run the mosaictv effect from ppmeffectv
      --motion-blur - Apply a motion blur filter
          period, <int>, 10, period of blur
          fixed, <double>, 0.0, fixed multiplier
          reverse, <bool>, false, reverse the effect
          alternate, <bool>, false, alternate between reverse and forward
      --nervoustv - Run the nervoustv effect from ppmeffectv
      --noisetv - Run the noisetv effect from ppmeffectv
      --overlay - Overlay an image at a given position and size
          file, <file>, , file to use, or pop the top of the stack if not specifed
          position, <position>, 80.0,10.0:10.0x10.0, position to overlay the image
          quality, <int>, 3, quality of scaling algorithm (0 to 3)
          weight, <double>, 1.0, weight of transparency
      --plugin-consumer - Use an external consumer (this will remove the top of stack and return nothing)
          command, <string>, , command to execute
          alpha, <bool>, false, pass PPM+alpha to plug-in
      --plugin-filter - Use an external filter
          command, <string>, , command to execute
          alpha, <bool>, false, pass PPM+alpha to plug-in
      --plugin-producer - Use an external producer
          command, <string>, , command to execute
          alpha, <bool>, false, pass PPM+alpha to plug-in
      --plugin-transition - Use an external transition
          command, <string>, , command to execute
          alpha, <bool>, false, pass PPM+alpha to plug-in
      --predatortv - Run the predatortv effect from ppmeffectv
      --puzzletv - Run the puzzletv effect from ppmeffectv
      --quarktv - Run the quarktv effect from ppmeffectv
      --radioactv - Run the radioactv effect from ppmeffectv
      --randomdotstereotv - Run the randomdotstereotv effect from ppmeffectv
      --revtv - Run the revtv effect from ppmeffectv
      --rippletv - Run the rippletv effect from ppmeffectv
      --rndmtv - Run the rndmtv effect from ppmeffectv
      --scale - Scale the frame to a given size and quality
          size, <size>, 360x288, size of image to rescale to
          quality, <int>, 3, quality of scaling algorithm (0 to 3)
      --sepia - Convert input into sepia
      --shagadelictv - Run the shagadelictv effect from ppmeffectv
      --simuratv - Run the simuratv effect from ppmeffectv
      --sparktv - Run the sparktv effect from ppmeffectv
      --spiraltv - Run the spiraltv effect from ppmeffectv
      --stack-copy - Stack a copy of an area of the top of stack
          position, <position>, 10.0,10.0:80.0x80.0, copy dimensions
      --stack-dupe - Duplicate the current frame on the top of the stack
      --stack-image - Place an image from the specified file on the stack
          file, <file>, , image to stack
          colour, <colour>, 0x000000, produce a colour frame if no file is given
          period, <int>, 25, number of frames each image lasts
          scale, <bool>, false, scale image to current frame size
      --stack-remove - Remove the frame at the top of stack
      --stack-stop - Use the current frame to seed the stack on the next frame
      --stack-swap - Swap the top two frames on the stack
      --stack-video - Place images from the specified video on the stack
          file, <file>, , file to use, or pop the top of the stack if not specified
          scale, <bool>, false, scale images to current frame size
          ntsc, <bool>, false, treat video with NTSC frame rate (default PAL)
      --streaktv - Run the streaktv effect from ppmeffectv
      --transformtv - Run the transformtv effect from ppmeffectv
      --vertigotv - Run the vertigotv effect from ppmeffectv
      --warholtv - Run the warholtv effect from ppmeffectv
      --warptv - Run the warptv effect from ppmeffectv
      --xor - Negate the colours