Boulder Laboratory for 3-Dimensional Electron Microscopy of Cells
ENHANCE(1) ENHANCE(1)
NAME
enhance - to apply gaussian bandpass filter
SYNOPSIS
enhance [input filename] [output filename]
DESCRIPTION
This is a two-dimensional gaussian bandpass filter program for image
enhancement purposes. For three-dimensional images, each image in the
stack is separately bandpass filtered.
The filter is specified by four input parameters: Sigma1, Sigma2, Radius1,
and Radius2. Several other IMOD programs take these same 4 parameters,
which produce the same effect as described here. The filter functions
produced by these parameters can be visualized with the program
Filterplot. The filter is the product of two gaussian functions, the
first one typically controlled by Sigma1 and the second one by Sigma2,
Radius1, and Radius2. If all values are positive or zero, then the first
filter is in the form of a gaussian highpass filter given by:
(1. - exp(-r**2/(2*Sigma1**2)))
The second filter is a gaussian-edged band-pass filter. This filter is
flat between Radius1 --> Radius2 and decays symmetrically as a gaussian
below Radius1 or above Radius2:
exp(-(r-Radius)**2/(2.*sigma2**2))
If either Sigma = 0, then that part of the filter is removed.
The units are in fractional reciprocal lattice units,
that is r goes from 0-->sqrt(2)/2 (0-->.5 on each axis)
If Sigma1 is negative, the first filter is the second derivative of a
gaussian, Del-squared G, with formula
r**2*exp(-r**2/(2.*Sigma1**2))
This filter alone is bandpass with a peak at 1.414*|Sigma1|, so Sigma2 and
the Radii can be set to zero.
If Sigma2 is negative, the second filter is inverted (1 minus the Gaussian
band-pass filter). This filter is then multiplied by the filter specified
by sigma1 (if any).
If Radius1 is negative, then the first filter is 0 out to |Radius1| and
rises as an inverted gaussian from that point:
(1. - exp(-(r-|Radius1|)**2/(2.*Sigma1**2)))
The effective Radius1 for the second filter is then 0, but this filter can
still be used to add lowpass filtering.
Several modes of operation are possible:
Gaussian low-pass filter (temperature factor)
: Sigma1 & Radii = 0, use Sigma2
Gaussian bandpass centered at Radius
: Sigma1=0, use Radius1=Radius2 & Sigma2
Gaussian-edged badpass between Radius1 & Radius2
: Sigma1=0, use Radius1,Radius2 & Sigma2
Gaussian bandpass (low-pass + high-pass)
: Radii = 0, use Sigma1 & Sigma2
The program handles images up to a certain size in memory (5400 x 5400)
then switches to the disk-based BIGFILT routine for images up to
8192 x 8192. Image dimensions must be even and have no prime factors
greater than 19.
The program will accept file names either from the command line
or as entries to the program after it is started. If there are
two names on the command line, they will be taken as the input
and output file names; if there is one name, it will be taken
as the input file name and the program will ask for the output
file name; if there are no command line arguments, the program
will ask for both input and output file names.
Input parameters are:
SIGMA1,SIGMA2,RADIUS1,RADIUS2
as described above
IORIG if IORIG = 1 then the F(0,0) is
unchanged by filter operation
HISTORY
Version 1.10 27.MAY.82 DAA FOR VAX
Version 1.11 02.JUNE.82 DAA FOR VAX
Version 1.12 10.JUNE.82 DAA FOR VAX
Version 1.13 23.JULY.82 DAA FOR VAX
Update 1.13 18.November.82 DAA FOR VAX
Bug fix 14.July.88 DNM FOR uVAX
Bit mode 09.August.88 DNM FOR uVAX
Del-squared G 01.September.88 DNM FOR uVAX
Inverted filter 26.April.89 DNM FOR uVAX
Ported to unix 07.December.94 DNM FOR SGI