pnmnlfilt man page on BSDOS

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDOS logo
[printable version]



pnmnlfilt(1)					 pnmnlfilt(1)

NAME
       pnmnlfilt  -  non-linear filters: smooth, alpha trim mean,
       optimal estimation smoothing, edge enhancement.

SYNOPSIS
       pnmnlfilt alpha radius [pnmfile]

DESCRIPTION
       This is something of a swiss army knife filter. It  has	3
       distinct operating  modes. In all of the modes each pixel
       in the image is examined and processed according to it and
       its  surrounding pixels	values.	 Rather than using the 9
       pixels in a 3x3 block, 7 hexagonal area samples are taken,
       the  size  of  the hexagons being controlled by the radius
       parameter. A radius value  of  0.3333  means  that  the	7
       hexagons exactly	 fit  into  the center pixel (ie.  there
       will be no filtering effect). A radius value of 1.0  means
       that the 7 hexagons exactly fit a 3x3 pixel array.

Alpha trimmed mean filter.    (0.0 <;= alpha <= 0.5)
       The value of the center pixel will be replaced by the mean
       of the 7 hexagon values, but the 7 values  are  sorted  by
       size  and  the  top  and bottom alpha portion of the 7 are
       excluded from the mean.	This implies that an alpha  value
       of  0.0 gives the same sort of output as a normal convolu-
       tion (ie. averaging or  smoothing  filter),  where  radius
       will  determine the "strength" of the filter. A good value
       to start from for subtle filtering is alpha = 0.0,  radius
       = 0.55 For a more blatant effect, try alpha 0.0 and radius
       1.0

       An alpha value of 0.5 will cause the median value of the 7
       hexagons to  be	used  to replace the center pixel value.
       This sort of filter is good for eliminating "pop" or  sin-
       gle  pixel noise from an image without spreading the noise
       out or smudging features on the image.  Judicious  use  of
       the  radius parameter will fine tune the filtering. Inter-
       mediate values of alpha	give  effects  somewhere  between
       smoothing  and "pop" noise reduction. For subtle filtering
       try starting with values of alpha = 0.4, radius = 0.6  For
       a more blatant effect try alpha = 0.5, radius = 1.0

Optimal estimation smoothing. (1.0 <;= alpha <= 2.0)
       This  type of filter applies a smoothing filter adaptively
       over the image.	For each pixel the variance of	the  sur-
       rounding hexagon	 values is calculated, and the amount of
       smoothing is made inversely proportional to it.	The  idea
       is  that if the variance is small then it is due to noise
       in the image, while  if	the  variance  is  large,  it  is
       because	of  "wanted"  image features. As usual the radius
       parameter controls the effective radius, but  it probably
       advisable  to leave the radius between 0.8 and 1.0 for the
       variance calculation to be meaningful.  The alpha  parame-
       ter  sets  the  noise threshold, over which less smoothing

			 5 February 1993			1

pnmnlfilt(1)					 pnmnlfilt(1)

       will be done.  This means that small values of alpha  will
       give  the most subtle filtering effect, while large values
       will tend to smooth all parts  of  the  image.  You  could
       start  with  values like alpha = 1.2, radius = 1.0 and try
       increasing or decreasing the alpha parameter  to get  the
       desired	effect. This type of filter is best for filtering
       out dithering noise in both bitmap and color images.

Edge enhancement. (-0.1 >= alpha >= -0.9)
       This is the opposite type of filter to the smoothing  fil-
       ter.  It enhances edges. The alpha parameter controls the
       amount of edge enhancement, from subtle (-0.1) to  blatant
       (-0.9). The radius parameter controls the effective radius
       as usual, but useful values are between 0.5 and	0.9.  Try
       starting with values of alpha = 0.3, radius = 0.8

Combination use.
       The  various  modes of pnmnlfilt can be used one after the
       other to get the desired result. For instance  to  turn	a
       monochrome dithered image into a grayscale image you could
       try one or two passes of the smoothing filter, followed by
       a  pass of the optimal estimation filter, then some subtle
       edge enhancement. Note that using edge enhancement is only
       likely  to  be  useful after one of the non-linear filters
       (alpha trimmed mean or optimal estimation filter), as edge
       enhancement is the direct opposite of smoothing.

       For reducing color quantization noise in images (ie. turn-
       ing .gif files back into 24 bit files)  you  could  try	a
       pass  of the optimal estimation filter (alpha 1.2, radius
       1.0), a pass of	the  median  filter  (alpha  0.5,  radius
       0.55), and possibly a pass of the edge enhancement filter.
       Several passes  of  the	optimal estimation  filter  with
       declining  alpha values	are more effective than a single
       pass with a large alpha	value.	As  usual,  there  is	a
       tradeoff between	 filtering  effectiveness  and	loosing
       detail. Experimentation is encouraged.

References:
       The alpha-trimmed mean filter is based on the  description
       in  IEEE CG&A May 1990 Page 23 by Mark E. Lee and Richard
       A. Redner, and has been enhanced to allow continuous alpha
       adjustment.

       The  optimal  estimation filter	is taken from an article
       "Converting Dithered Images Back to Gray Scale"	by  Allen
       Stenger, Dr Dobb's Journal, November 1992, and this arti-
       cle references "Digital Image Enhancement and  Noise  Fil-
       tering  by  Use	of  Local Statistics", Jong-Sen Lee, IEEE
       Transactions on Pattern Analysis and Machine Intelligence,
       March 1980.

       The edge enhancement details are from pgmenhance(1), which
       is taken from Philip R. Thompson's "xim" program, which in

			 5 February 1993			2

pnmnlfilt(1)					 pnmnlfilt(1)

       turn  took  it from section 6 of "Digital Halftones by Dot
       Diffusion", D. E. Knuth, ACM Transaction on Graphics  Vol.
       6, No. 4, October 1987, which in turn got it from two 1976
       papers by J. F. Jarvis et. al.

SEE ALSO
       pgmenhance(1), pnmconvol(1), pnm(5)

BUGS
       Integers and  tables  may  overflow  if	PPM_MAXMAXVAL  is
       greater than 255.

AUTHOR
       Graeme W. Gill	graeme@labtam.oz.au

			 5 February 1993			3

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server BSDOS

List of man pages available for BSDOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net