![]() |
Institut für Astronomie und AstrophysikAbteilung AstronomieSand 1, D-72076 Tübingen, GermanyNew Address! -- Neue Adresse! |
![]() |
FILTER_IMAGE
Identical to MEDIAN or SMOOTH but handle edges and allow iterations.
Computes the average and/or median of pixels in moving box,
replacing center pixel with the computed average and/or median,
(using the IDL SMOOTH() or MEDIAN() functions).
The main reason for using this function is the options to
also process the pixels at edges and corners of image, and,
to apply iterative smoothing simulating convolution with Gaussian,
and/or to convolve image with a Gaussian kernel.
Result = filter_image( image, SMOOTH=width, MEDIAN = width, /ALL_PIXELS
/ITERATE, FWHM =, /NO_FT_CONVOL)
image = 2-D array (matrix)
SMOOTH = scalar (odd) integer specifying the width of a square box
for moving average, in # pixels. /SMOOTH means use box
width = 3 pixels for smoothing.
MEDIAN = scalar (usually odd) integer specifying the width of square
moving box for median filter, in # pixels. /MEDIAN means use
box width = 3 pixels for median filter.
/ALL_PIXELS causes the edges of image to be filtered as well. This
is accomplished by reflecting pixels adjacent to edges outward
(similar to the /EDGE_WRAP keyword in CONVOL).
Note that this is a different algorithm from the /EDGE_TRUCATE
keyword to SMOOTH or CONVOL, which duplicates the nearest pixel.
/ITERATE means apply smooth(image,3) iteratively for a count of
(box_width-1)/2 times (=radius), when box_width >= 5.
This is equivalent to convolution with a Gaussian PSF
of FWHM = 2 * sqrt( radius ) as radius gets large.
Note that /ALL_PIXELS is automatically applied,
giving better results in the iteration limit.
(also, MEDIAN keyword is ignored when /ITER is specified).
FWHM_GAUSSIAN = Full-width half-max of Gaussian to convolve with image.
FWHM can be a single number (circular beam),
or 2 numbers giving axes of elliptical beam.
/NO_FT_CONVOL causes the convolution to be computed directly,
with intrinsic IDL CONVOL function. The default is to use
FFT when factors of size are all LE 13. Note that
external function convolve.pro handles both cases)
OPTIONAL INPUT/OUTPUT KEYWORD:
PSF = Array containing the PSF used during the convolution. This
keyword is only active if the FWHM_GAUSSIAN keyword is also
specified. If PSF is undefined on input, then upon output it
contains the Gaussian convolution specified by the FWHM_GAUSSIAN
keyword. If the PSF array is defined on input then it is used
as the convolution kernel, the value of the FWHM_GAUSSIAN keyword
is ignored. Typically, on a first call set PSF to an undefined
variable, which can be reused for subsequent calls to prevent
recalculation of the Gaussian PSF.
Function returns the smoothed, median filtered, or convolved image.
If both SMOOTH and MEDIAN are specified, median filter is applied first.
To apply 3x3 moving median filter and
then 3x3 moving average, both applied to all pixels:
Result = filter_image( image, /SMOOTH, /MEDIAN, /ALL )
To iteratively apply 3x3 moving average filter for 4 = (9-1)/2 times,
thus approximating convolution with Gaussian of FWHM = 2*sqrt(4) = 4 :
Result = filter_image( image, SMOOTH=9, /ITER )
To convolve all pixels with Gaussian of FWHM = 3.7 x 5.2 pixels:
Result = filter_image( image, FWHM=[3.7,5.2], /ALL )
function psf_gaussian
function convolve
pro factor
function prime ;all these called only if FWHM is specified
If both /ALL_PIXELS (or /ITERATE) keywords are set then
create a larger image by reflecting the edges outward, then call the
IDL MEDIAN() or SMOOTH() function on the larger image, and just return
the central part (the original size image).
NAN values are recognized during calls to MEDIAN() or SMOOTH(), but
not for convolution with a Gaussian (FWHM keyword supplied).
Written, 1991, Frank Varosi, NASA/GSFC.
FV, 1992, added /ITERATE option.
FV, 1993, added FWHM_GAUSSIAN= option.
Converted to IDL V5.0 W. Landsman September 1997
Use /EVEN call to median, recognize NAN values in SMOOTH
W. Landsman June 2001
Added PSF keyword, Bjorn Heijligers/WL, September 2001
[Home Page] [Software, Documentation] [IDL Documentation] [Quick Reference] [Feedback]