Index: trunk/psModules/src/camera/pmFPAMaskWeight.h
===================================================================
--- trunk/psModules/src/camera/pmFPAMaskWeight.h	(revision 12696)
+++ trunk/psModules/src/camera/pmFPAMaskWeight.h	(revision 13591)
@@ -5,6 +5,6 @@
  * @author Eugene Magnier, IfA
  *
- * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-30 21:12:56 $
+ * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-06-02 03:51:03 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -16,17 +16,24 @@
 /// @{
 
+#if 0
 /// Pixel mask values
 typedef enum {
-    PM_MASK_CLEAR   = 0x00,   ///< The pixel is not masked
-    PM_MASK_TRAP    = 0x01,   ///< The pixel is a charge trap.
-    PM_MASK_BADCOL  = 0x02,   ///< The pixel is a bad column.
-    PM_MASK_SAT     = 0x04,   ///< The pixel is saturated.
-    PM_MASK_BAD     = 0x08,   ///< The pixel is low
-    PM_MASK_FLAT    = 0x10,   ///< The pixel is non-positive in the flat-field.
-    PM_MASK_MARK    = 0x20,   ///< The pixel is marked as temporarily ignored
-    PM_MASK_EXT1    = 0x40,   ///< This mask value is not used
-    PM_MASK_EXT2    = 0x80,   ///< This mask value is not used
+    PM_MASK_CLEAR    = 0x00,            ///< The pixel is not masked
+    PM_MASK_BLANK    = 0x01,            ///< The pixel is blank or has no (valid) data
+    PM_MASK_FLAT     = 0x02,            ///< The pixel is non-positive in the flat-field
+    PM_MASK_DETECTOR = 0x02,            ///< The detector pixel is bad (e.g., bad column, charge trap)
+    PM_MASK_SAT      = 0x04,            ///< The pixel is saturated in the image of interest
+    PM_MASK_BAD      = 0x04,            ///< The pixel is low in the image of interest
+    PM_MASK_RANGE    = 0x04,            ///< The pixel is out of range in the image of interest
+    PM_MASK_CR       = 0x08,            ///< The pixel is probably a CR
+    PM_MASK_SPARE1   = 0x10,            ///< Spare mask value
+    PM_MASK_SPARE2   = 0x20,            ///< Spare mask value
+    PM_MASK_SUSPECT  = 0x40,            ///< The pixel is suspected of being bad, but may not be
+    PM_MASK_MARK     = 0x80,            ///< The pixel is marked as temporarily ignored
 } pmMaskValue;
-
+#else
+#define PM_MASK_MARK 0x80            ///< The pixel is marked as temporarily ignored
+#define PM_MASK_SAT  0x04            ///< The pixel is saturated in the image of interest
+#endif
 
 /// Set a temporary readout mask using CELL.SATURATION and CELL.BAD
@@ -35,6 +42,8 @@
 /// within the readout is temporary --- it is not added to the HDU.  This is intended for when the user is
 /// iterating using pmReadoutReadNext, in which case the HDU can't be generated.
-bool pmReadoutSetMask(pmReadout *readout ///< Readout for which to set mask
-                     );
+bool pmReadoutSetMask(pmReadout *readout, ///< Readout for which to set mask
+                      psMaskType sat,   ///< Mask value to give saturated pixels
+                      psMaskType bad    ///< Mask value to give bad (low) pixels
+    );
 
 
@@ -53,6 +62,8 @@
 /// Identifies pixels that are saturated (>= CELL.SATURATION) or bad (<= CELL.BAD).  The mask that is produced
 /// is suitable for output (complete with HDU entry).  This is intended for most operations.
-bool pmReadoutGenerateMask(pmReadout *readout ///< Readout for which to generate mask
-                          );
+bool pmReadoutGenerateMask(pmReadout *readout, ///< Readout for which to generate mask
+                           psMaskType sat, ///< Mask value to give saturated pixels
+                           psMaskType bad ///< Mask value to give bad (low) pixels
+    );
 
 /// Generate a weight map (suitable for output) using CELL.GAIN and CELL.READNOISE
@@ -69,5 +80,7 @@
 /// Calls pmReadoutGenerateMask and pmReadoutGenerateWeight for the readout
 bool pmReadoutGenerateMaskWeight(pmReadout *readout, ///< Readout for which to generate mask and weights
-                                 bool poisson    ///< Use poisson weights (in addition to read noise)?
+                                 psMaskType sat, ///< Mask value to give saturated pixels
+                                 psMaskType bad, ///< Mask value to give bad (low) pixels
+                                 bool poisson ///< Use poisson weights (in addition to read noise)?
                                 );
 
@@ -76,5 +89,7 @@
 /// Calls pmReadoutGenerateMaskWeight for each readout within the cell.
 bool pmCellGenerateMaskWeight(pmCell *cell, ///< Cell for which to generate mask and weights
-                              bool poisson    ///< Use poisson weights (in addition to read noise)?
+                              psMaskType sat, ///< Mask value to give saturated pixels
+                              psMaskType bad, ///< Mask value to give bad (low) pixels
+                              bool poisson ///< Use poisson weights (in addition to read noise)?
                              );
 /// @}
