Boulder Laboratory for 3-Dimensional Electron Microscopy of Cells

MTFFILTER(1)							 MTFFILTER(1)

NAME
	mtffilter - filter by inverse of MTF and general Fourier filter

SYNOPSIS
	mtffilter [options] input_file [output_file]

DESCRIPTION

  Mtffilter can restore contrast in CCD camera images by multiplying them by
  the inverse of the camera's modulation transfer function (MTF).  It can
  also apply a low pass filter to reduce high frequency noise, as well as a
  high pass filter to eliminate low frequencies.  Any combination of these
  filters may be applied.  In fact, the program provides all of the options
  that Enhance does for specifying a general Fourier filter.  It can filter
  either real-space images in 2D planes, or 3D Fourier transforms in 3D.

  Simply multiplying by the inverse of an MTF would amplify noise too much,
  so the inverse MTF filter is shaped by three parameters.  The first
  and most important is the maximum inverse value, which limits how high the
  inverse can become.  The other two parameters are a cutoff frequency at
  which to start a Gaussian rolloff of the inverse back to 1.0, and the
  sigma value for this Gaussian rolloff.  The default values for these
  parameters (listed below) are based on limited experimentation and are
  fairly conservative.  All of these parameters together will keep the
  inverse filter from amplifying high frequency noise.  The low pass
  filter's role is to filter out those high frequencies.

  If both filters are used, there are potentially 4 different frequency
  ranges:  
  1) From 0 to the frequency at which the inverse reaches its maximum, the
  filter is actually the inverse of the MTF, 
  2) From there to the cutoff frequency for the inverse rolloff, the filter
  equals the maximum inverse,
  3) Beyond this cutoff frequency, the filter progressively decays back to
  1.0,
  4) Beyond the cutoff radius for the low-pass filter, the filter is
  multiplied by another Gaussian and decays to 0.

  The MTF curve to be applied should be read in from a file containing
  values for spatial frequency (in reciprocal pixels) and for the MTF, one
  pair per line.  The program has one built-in curve in which the MTF
  crosses 0.5 at 0.117/pixel.  This curve can be adjusted by scaling its axis,
  which will make it approximately correct for other situations.

  To apply only low-pass and high-pass filters, omit the -mtf and -stock
  options; to apply only an inverse filter, omit the -lowpass and other
  options for general filtering.

  If the input file is a real image, then the program will take the FFT of
  each section, apply the filter, take the inverse FFT, and write out the
  filtered section.  If the input file is a Fourier transform, it must be a 
  3D FFT (obtained from "clip fft -3d" or "fftrans -3d").  In this case the
  program will apply the filter to the transforms in three dimensions and
  write out a filtered FFT.

  Mtffilter uses the PIP package for input (see the manual page for pip).
  The following options can be specified either as command line arguments
  (with the -) or one per line in a command file or parameter file (without
  the -):

 -input OR -InputFile   File name
    Input file with images to be filtered

 -output OR -OutputFile   File name
    Output file for filtered images.  If this file is omitted, the program
    will write filtered images back to the input file.

 -zrange OR -StartingAndEndingZ   Two integers
    First and last Z values in the file to filter.  Values are numbered from 1
    and the default is to do all sections.

 -lowpass OR -LowPassRadiusSigma   Two floats
    Cutoff radius and sigma for a low pass filter that imposes a
    high-frequency Gaussian roll-off to 0.0.  The default is no high-frequency
    filtering.  These entries correspond to the Radius2 and Sigma2 entries to
    Enhance and other programs; see the Enhance man page for a full
    explanation of the effects of changing the sign of the Sigma2 or the
    Sigma1 and Radius1 parameters entered with the next two options.

 -highpass OR -HighPassSigma   Floating point
    Sigma for a high pass filter based on an inverted Gaussian that starts at
    0.0 at zero frequency and decays up to 1 with the given sigma.  The
    default is no high-frequency filtering.  This entry corresponds to the
    Sigma1 entry to Enhance and other programs.  A negative Sigma1 can be
    used to get a band-pass filter based on the second derivative of a
    Gaussian.

 -radius1 OR -FilterRadius1   Floating point
    Cutoff radius for a high-pass filter that is 1.0 at this radius and falls
    off as a Gaussian to the left of this point with sigma equal to the Sigma2
    value entered with -lowpass.  This entry corresponds to the Radius1 entry
    to Enhance and other programs.  A negative Radius1 will make the
    inverted Gaussian invoked by -highpass be zero out to |Radius1|.

 -mtf OR -MtfFile   File name
    File with MTF curve.  The format of the file is a series of lines, with a
    spatial frequency in reciprocal pixels and an MTF value on each line.

 -stock OR -StockCurve   Integer
    The number of the stock (built-in) curve to use

 -maxinv OR -MaximumInverse   Floating point
    Maximum value for inverse of MTF.  The inverse should always be limited to
    reduce noise.

 -invrolloff OR -InverseRolloffRadiusSigma   Two floats
    Radius and sigma for gaussian roll-off of inverse to 1.0 (default 0.12 and
    0.05)

 -xscale OR -XScaleFactor   Floating point
    Scaling factor for X-axis of MTF curve.  Scaling the X axis is probably an
    adequate way to adapt a curve from one camera or binning to another.

 -denscale OR -DensityScaleFactor   Floating point
    Scaling factor for image intensities after filtering.

 -param OR -ParameterFile   Parameter file
    Read parameter entries from file

 -help OR -usage
    Print help output

  -StandardInput
     Read parameter entries from standard input.


HISTORY