(Up to the IPP Description Page)

ppImage performs the basic science analysis of a single exposure or individual chips from an exposure. ppImage is highly configurable, and may perform many different image reduction tasks depending on how it is invoked. The operations that it can perform include:

  • detrending (removal of the instrumental signature) including:
    • overscan subtraction
    • 2D bias correction
    • dark current subtraction
    • flat-field correction
    • fringe correction
    • non-linearity corrections
    • shutter timing corrections
    • cross-talk masking or correction
  • masking of bad pixels
  • other GPC1-inspired corrections
    • CTE analysis
    • burntool masking
    • 'pattern.cell'
    • 'pattern.row' (also known as 'tiltystreaks')
  • geometric manipulations:
    • x,y flips
    • rebinning
    • cell and chip mosaicking.
  • photometry via a call to psphot
  • jpeg outputs
  • image statistics

ppImage operates on a single chip or a group of chips from a single exposure.

Running ppImage

  • basic command : ppImage -file input.fits output
    • in this example, and detrend images would be loaded from the default database location. depending on the site configuration, it may be necessary to tell ppImage the name of the processing database as in the following example: -dbname gpc1
  • explicit detrend files (add as many as needed):
    • ppImage -file input.fits -bias bias.fits output
    • ppImage -file input.fits -dark dark.fits output
    • ppImage -file input.fits -flat flat.fits output
    • ppImage -file input.fits -fringe fringe.fits output
    • ppImage -file input.fits -shutter shutter.fits output
    • ppImage -file input.fits -mask mask.fits output
    • ppImage -file input.fits -linearity linearity.fits output
  • input from a filename glob: ppImage -file "input??.fits" output
    • bias, flat, etc may be loaded this way as well: -bias bias??.fits
    • note that the sequence of names must match (same chip / cell in the same location)
  • input from a file list: ppImage -filelist input.list output
    • input.list contains one file per line
    • bias, flat, etc may be loaded this way as well: -biaslist bias.list
    • like the fileglobs, the order must match
  • recipe options:
    • -recipe PPIMAGE PPIMAGE_N
    • -D KEY VALUE (use -D for strings, -Db for bool, -Df for float, -Di for int)

Mosaic Image Elements

ppImage is designed to work with multi-chip, multi-cell data. Any exposure may consist of any number of chips, each of which may be divided into any number of cells. The data organization is defined by the configuration file for the specific camera. (If a camera is not identified, a default camera with one cell and one chip is used). The definition of 'chip' and 'cell' is somewhat arbitrary. However, the astrometry and photometry analysis steps imply that a 'chip' should have a non-discontinuous PSF and astrometry solution. This effectively means that a chip is a contiguous piece of silicon (or whatever detector material). A 'cell' is a subdivision of the chip which is read out as a single unit, ie a region of the detector with its own readout amplifier.

The packaging of chip and cells into files can be very flexible (though currently only FITS files are allowed). For example, an exposure may consist of a single chip with a single cell in the PHU of the FITS file. Multiple cells may be stored as FITS extensions, with multiple chips as different files. Multiple cells from multiple chips may be stored each as independent files, or all chips and cells may be in a single FITS file.


The main analysis takes place within the function ppImageLoop (ppImageLoop.c). This function loops over the chip, then the cells of that chip. Some operations may be performed on multiple readouts of a single cell if stored as a 3D cube.