/** @mainpage psModule Image Processing Library


@section intro Introduction
This library contains the Pan-STARRS Image Processing Pipeline (IPP) modules (psModule). These modules
use the functionality of the Pan-STARRS Library (psLib) to perform more complex tasks associated with image
processing. Modules were constructed to support each of the required processing stages and are listed according
to the particular processing stage for which they will primarily be used. To preserve namespace, globally-visible
structures and functions are prefixed with pm, an abbreviation for Pan-STARRS Modules.

Modules in this release include:

 - Subtract bias (pmSubtractBias)
 - Correct for non-linearity (pmNonLinear)
 - Flat-field (pmFlatField)
 - Mask bad pixels (pmMaskBadPixels)
 - Combine readouts (pmReadoutCombine)
 - Subtract sky (pmSubtractSky)
 - Object detection (pmObjects)

The installed code for psModule consists of header files and a binary library.

@section extinstall Required external Libraries

Before building psLib from source, several external software libraries must
be installed. These include:
 - Pan-STARRS Library (psLib)
     - Available from the Maui High Performance Computiong Center (MHPCC) at https://mhpcc.pan-starrs.org/code/releases
     - Compatibility tested with rel5
     - Note, psLib itself has many external library dependencies.
 - Doxygen Documentation System
     - Only needed if code documentation is to be made
     - Available at http://www.doxygen.org
     - Compatibility tested with version 1.3.6
     - The optional companion package, GraphViz (a.k.a., the 'dot' command), is recommended to enable header-file dependency diagrams

We recommend using the particular versions listed as compatibility tested, as
that is the only versions of the external libraries tested to work well with psLib
and psModule.  Though it is quite possible that later versions of the libraries
listed will also work, care must be taken when upgrading these libraries to verify
that its functionality is compatible with the tested version.

@section install How to Build from Source

Tested versions of psModule are put into a tar file and can be downloaded from:

https://mhpcc.pan-starrs.org/code/releases

Though MHPCC recommends using the released packaged tar files descibed above,
both daily development snapshots and direct CVS access is available.  The daily
snapshots are available at

https://mhpcc.pan-starrs.org/code/snapshots

These snapshots represents development code as found in CVS on the day
specified in the filename.  This code set may not be functional, vary in
testing, etc.  Reasonable efforts are made to ensure that the code does
actually compile, but given the nature of code development, even that is not
always the case.  Use snapshots with great caution.

If one has a login account on mhpcc.pan-starrs.org, direct CVS access is
possible.  Example of the commands required for direct CVS retrieval are
as follows:
<pre>
$ cvs -d:ext:USERNAME@mhpcc.pan-starrs.org:/data/panstarrs/cvsroot co -r RELEASEBRANCH psModule
</pre>
where:
  - USERNAME is your login name on the server
  - RELEASEBRANCH is the desired release branch, e.g. rel5.


@section build How to Build and Test the psModule Library.

The psModule library and associated tests are made via the GNU autoconf/automake system.

The source should build using the configure script in the psModule directory.  The
recommended steps are:
<pre>
$ cd psModule
$ ./configure
$ make
$ make check
$ make install
</pre>
<i>Unless otherwise specified, the library is installed with PREFIX of the current directory.</i>

Other configuration options, such as location of external libraries, are also available.
To get a list of options, type the following in the top psModule directory.
<pre>
$ configure --help
</pre>
A likely option needed is '--with-pslib-config', which specifies the location of
the configuration script for psLib.  By default, iconfigure searches for it using PATH, but that
is often not sufficient.

@section doc How to Create Code Documentation

Both HTML and man page documentation may be generated from the inline
documentation embedded in the code using the following commands:
<pre>
$ cd psModule
$ make docs
</pre>
<i>This places documentation in PREFIX/docs.</i>

Also, a prebuilt set of code documentation for both the releases and last
CVS snapshot can be found at:

https://mhpcc.pan-starrs.org/docs/

*/
