pmFPAMaskWeight.h

Go to the documentation of this file.
00001 /* @file pmFPAHeader.h
00002  * @brief Functions read FITS headers for FPA components
00003  *
00004  * @author Paul Price, IfA
00005  * @author Eugene Magnier, IfA
00006  *
00007  * @version $Revision: 1.7 $ $Name:  $
00008  * @date $Date: 2007/01/24 02:54:14 $
00009  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
00010  */
00011 
00012 #ifndef PM_FPA_MASK_WEIGHT_H
00013 #define PM_FPA_MASK_WEIGHT_H
00014 
00015 /// @addtogroup Camera Camera Layout
00016 /// @{
00017 
00018 #include "pmFPA.h"
00019 
00020 /// Pixel mask values
00021 typedef enum {
00022     PM_MASK_CLEAR   = 0x00,   ///< The pixel is not masked
00023     PM_MASK_TRAP    = 0x01,   ///< The pixel is a charge trap.
00024     PM_MASK_BADCOL  = 0x02,   ///< The pixel is a bad column.
00025     PM_MASK_SAT     = 0x04,   ///< The pixel is saturated.
00026     PM_MASK_BAD     = 0x08,   ///< The pixel is low
00027     PM_MASK_FLAT    = 0x10,   ///< The pixel is non-positive in the flat-field.
00028     PM_MASK_MARK    = 0x20,   ///< The pixel is marked as temporarily ignored
00029     PM_MASK_EXT1    = 0x40,   ///< This mask value is not used
00030     PM_MASK_EXT2    = 0x80,   ///< This mask value is not used
00031 } pmMaskValue;
00032 
00033 
00034 /// Set a temporary readout mask using CELL.SATURATION and CELL.BAD
00035 ///
00036 /// Identifies pixels that are saturated (>= CELL.SATURATION) or bad (<= CELL.BAD).  The mask that is produced
00037 /// within the readout is temporary --- it is not added to the HDU.  This is intended for when the user is
00038 /// iterating using pmReadoutReadNext, in which case the HDU can't be generated.
00039 bool pmReadoutSetMask(pmReadout *readout ///< Readout for which to set mask
00040                      );
00041 
00042 
00043 /// Set a temporary readout weight map using CELL.GAIN and CELL.READNOISE
00044 ///
00045 /// Calculates weights (actually variances) for each pixel using photon statistics and the cell gain
00046 /// (CELL.GAIN) and read noise (CELL.READNOISE).  The weight map that is produced within the readout is
00047 /// temporary --- it is not added to the HDU.  This is intended for when the user is iterating using
00048 /// pmReadoutReadNext, in which case the HDU can't be generated.
00049 bool pmReadoutSetWeight(pmReadout *readout, ///< Readout for which to set weight
00050                         bool poisson    ///< Use poisson weights (in addition to read noise)?
00051                        );
00052 
00053 /// Generate a readout mask (suitable for output) using CELL.SATURATION and CELL.BAD
00054 ///
00055 /// Identifies pixels that are saturated (>= CELL.SATURATION) or bad (<= CELL.BAD).  The mask that is produced
00056 /// is suitable for output (complete with HDU entry).  This is intended for most operations.
00057 bool pmReadoutGenerateMask(pmReadout *readout ///< Readout for which to generate mask
00058                           );
00059 
00060 /// Generate a weight map (suitable for output) using CELL.GAIN and CELL.READNOISE
00061 ///
00062 /// Calculates weights (actually variances) for each pixel using photon statistics and the cell gain
00063 /// (CELL.GAIN) and read noise (CELL.READNOISE).  The weight map that is produced within the readout is
00064 /// suitable for output (complete with HDU entry).  This is intended for most operations.
00065 bool pmReadoutGenerateWeight(pmReadout *readout, ///< Readout for which to generate weight
00066                              bool poisson    ///< Use poisson weights (in addition to read noise)?
00067                             );
00068 
00069 /// Generate mask and weight map for a readout
00070 ///
00071 /// Calls pmReadoutGenerateMask and pmReadoutGenerateWeight for the readout
00072 bool pmReadoutGenerateMaskWeight(pmReadout *readout, ///< Readout for which to generate mask and weights
00073                                  bool poisson    ///< Use poisson weights (in addition to read noise)?
00074                                 );
00075 
00076 /// Generate mask and weight maps for all readouts within a cell
00077 ///
00078 /// Calls pmReadoutGenerateMaskWeight for each readout within the cell.
00079 bool pmCellGenerateMaskWeight(pmCell *cell, ///< Cell for which to generate mask and weights
00080                               bool poisson    ///< Use poisson weights (in addition to read noise)?
00081                              );
00082 /// @}
00083 #endif

Generated on Fri Feb 2 22:35:28 2007 for Pan-STARRS Module Library by  doxygen 1.5.1