Index: branches/simmosaic_branches/ippconfig/recipes/ppImage.config
===================================================================
--- branches/simmosaic_branches/ippconfig/recipes/ppImage.config	(revision 24860)
+++ branches/simmosaic_branches/ippconfig/recipes/ppImage.config	(revision 27837)
@@ -16,5 +16,14 @@
 MASK.SATURATED     BOOL    TRUE            # Mask the saturated pixels
 MASK.LOW           BOOL    TRUE            # Mask pixels below valid range
+MASK.BURNTOOL      BOOL    FALSE           # Mask potential burntool trails
 VARIANCE.BUILD     BOOL    FALSE           # Build internal variance image
+PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+PATTERN.ROW.SUBSET METADATA		   # Menu of chips and/or cells for row pattern correction
+END
+PATTERN.CELL       BOOL    FALSE           # Cell pattern correction
+PATTERN.CELL.SUBSET METADATA		   # Menu of chips and/or cells for cell pattern correction
+END
+PATTERN.SUBSET	   METADATA
+END
 FRINGE             BOOL    FALSE           # Fringe subtraction
 PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -24,5 +33,8 @@
 CHECK.CTE          BOOL    FALSE           # measure CTE errors?
 USE.DEBURNED.IMAGE BOOL    FALSE           # use burntool-repaired image?
+USE.BEST.BURNTOOL  BOOL    FALSE           # require the best burntooled data
 TILTYSTREAK.APPLY  BOOL    FALSE           # apply the 'tiltystreak' tool
+
+GAIN.OVERRIDE		BOOL	TRUE		# Override a non-finite gain?
 
 TILTYSTREAK.BY.CLASS METADATA              # apply the 'tiltystreak' tool
@@ -53,4 +65,7 @@
 SCAN.ROWS        S32     100
 
+# Which regions identified by burntool to mask. 0x01 : only unfit trails, 0x02 "up" trails, 0x04 "down" trails
+BURNTOOL.TRAILS     U16 0x07
+
 # Non-linearity correction
 NONLIN.SOURCE           STR     CHIP.NAME       # How to determine the source
@@ -79,4 +94,14 @@
 OVERSCAN.VALUE	        F32	0.0		# value to apply, if requested
 
+# Pattern subtraction options
+PATTERN.ROW.ORDER      S32     2               # Polynomial order for row pattern
+PATTERN.ROW.ITER       S32     4               # Rejection iterations for row pattern
+PATTERN.ROW.REJ        F32     2.5             # Rejection threshold for row pattern
+PATTERN.ROW.THRESH     F32     20.0            # Ignore threshold for row pattern
+PATTERN.ROW.MEAN       STR     SAMPLE_MEAN     # Statistic for mean for row pattern
+PATTERN.ROW.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation for row pattern
+PATTERN.CELL.BG	       STR     ROBUST_MEDIAN   # Statistic for background for cell pattern
+PATTERN.CELL.MEAN      STR     SAMPLE_MEDIAN   # Statistic for mean for cell pattern
+
 # Fringe subtraction options
 FRINGE.ITER     S32     10              # Number of rejection iterations for fringe solution
@@ -113,4 +138,6 @@
 FRINGE.FILTERS  MULTI
 FRINGE.FILTERS  STR UNDEF
+
+GAIN.OVERRIDE	BOOL	FALSE		# Override a non-finite gain?
 
 DETREND.CONSTRAINTS  METADATA
@@ -232,4 +259,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL	   FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -254,4 +282,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL	   FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -276,4 +305,5 @@
   FLAT               BOOL    FALSE           # Flat-field normalisation
   MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	   # Build internal mask?
   FRINGE             BOOL    FALSE           # Fringe subtraction
   PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -298,4 +328,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -320,4 +351,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -342,4 +374,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -364,4 +397,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -386,4 +420,5 @@
   FLAT             BOOL    TRUE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -407,5 +442,6 @@
   SHUTTER          BOOL    FALSE           # Shutter correction
   FLAT             BOOL    FALSE           # Flat-field normalisation
-  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE		   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -430,4 +466,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    TRUE            # Source identification and photometry
@@ -452,4 +489,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    TRUE            # Source identification and photometry
@@ -474,4 +512,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -496,4 +535,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -518,4 +558,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -565,26 +606,4 @@
 # Overscan, bias, dark, shutter
 PPIMAGE_OBDS       METADATA
-  BASE.FITS        BOOL    TRUE            # Save base detrended image?
-  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
-  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
-  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
-  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
-  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
-  OVERSCAN         BOOL    TRUE            # Overscan subtraction
-  BIAS             BOOL    TRUE            # Bias subtraction
-  DARK             BOOL    TRUE            # Dark subtraction
-  SHUTTER          BOOL    FALSE           # Shutter correction
-  FLAT             BOOL    FALSE           # Flat-field normalisation
-  MASK             BOOL    FALSE           # Mask bad pixels
-  FRINGE           BOOL    FALSE           # Fringe subtraction
-  PHOTOM           BOOL    FALSE           # Source identification and photometry
-  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
-  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
-  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
-  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
-END
-
-# used for the pre-mask version of flat-field processing
-PPIMAGE_FLATPROC_PREMASK       METADATA
   BASE.FITS          BOOL    TRUE            # Save base detrended image?
   BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
@@ -599,4 +618,28 @@
   FLAT               BOOL    FALSE           # Flat-field normalisation
   MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD         BOOL    FALSE	     # Build internal mask?
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# used for the pre-mask version of flat-field processing
+PPIMAGE_FLATPROC_PREMASK     METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD         BOOL    FALSE	     # Build internal mask?
   FRINGE             BOOL    FALSE           # Fringe subtraction
   PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -628,4 +671,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -650,4 +694,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -683,4 +728,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -705,4 +751,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -727,4 +774,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -749,4 +797,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -777,4 +826,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -805,4 +855,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -827,4 +878,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -843,4 +895,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -867,4 +920,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -895,4 +949,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -923,4 +978,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
@@ -941,4 +997,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
@@ -965,4 +1022,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -984,4 +1042,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1019,4 +1078,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1054,4 +1114,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1089,4 +1150,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1124,4 +1186,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1159,4 +1222,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1195,4 +1259,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1230,4 +1295,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1265,4 +1331,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1300,4 +1367,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1335,4 +1403,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1370,4 +1439,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1405,4 +1475,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1440,4 +1511,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1475,4 +1547,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1510,4 +1583,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1546,4 +1620,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1575,4 +1650,5 @@
   SHUTTER          BOOL    FALSE           # Shutter correction
   FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   MASK             BOOL    FALSE           # Mask bad pixels
   FRINGE           BOOL    FALSE           # Fringe subtraction
@@ -1613,4 +1689,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1654,4 +1731,5 @@
   FLAT               BOOL    TRUE            # Flat-field normalisation
   MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
   FRINGE             BOOL    TRUE            # Fringe subtraction
   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
@@ -1671,3 +1749,189 @@
 
 PR               METADATA
-END
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    FALSE            # Subtract background?
+END
+
+PR_NOPATTERN      METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PATTERN.ROW      BOOL    FALSE           # Subtract pattern noise
+  PATTERN.CELL     BOOL    FALSE           # Subtract pattern noise
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    FALSE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  TRUE            # Subtract model background?
+END
+
+# Standard chip processing without any background removal
+CHIP_PRESERVE_BG	METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  PATTERN.ROW        BOOL    FALSE           # Subtract pattern noise
+  PATTERN.CELL       BOOL    FALSE           # Subtract pattern noise
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    FALSE           # Subtract background?
+END
+
+# Standard chip processing
+CHIP_NOPATTERN	METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+END
+
+# Standard chip processing for old pre-run5 data
+CHIP_PATTERN	METADATA
+  BASE.FITS          BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  PATTERN.ROW      BOOL    TRUE           # Subtract pattern noise
+  PATTERN.CELL     BOOL    FALSE           # Subtract pattern noise
+
+  PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
+	XY01	BOOL	TRUE
+	XY02	BOOL	TRUE
+	XY03	BOOL	TRUE
+	XY04	BOOL	TRUE
+	XY05	BOOL	TRUE
+	XY06	BOOL	TRUE
+	XY10	BOOL	TRUE
+	XY11	BOOL	TRUE
+	XY12	BOOL	TRUE
+	XY13	BOOL	TRUE
+	XY14	BOOL	TRUE
+	XY15	BOOL	TRUE
+	XY16	BOOL	TRUE
+	XY17	BOOL	TRUE
+	XY20	BOOL	TRUE
+	XY21	BOOL	TRUE
+	XY22	BOOL	TRUE
+	XY23	BOOL	TRUE
+	XY24	BOOL	TRUE
+	XY25	BOOL	TRUE
+	XY26	BOOL	TRUE
+	XY27	BOOL	TRUE
+	XY30	BOOL	TRUE
+	XY31	BOOL	TRUE
+	XY32	BOOL	TRUE
+	XY33	BOOL	TRUE
+	XY34	BOOL	TRUE
+	XY35	BOOL	TRUE
+	XY36	BOOL	TRUE
+	XY37	BOOL	TRUE
+	XY40	BOOL	TRUE
+	XY41	BOOL	TRUE
+	XY42	BOOL	TRUE
+	XY43	BOOL	TRUE
+	XY44	BOOL	TRUE
+	XY45	BOOL	TRUE
+	XY46	BOOL	TRUE
+	XY47	BOOL	TRUE
+	XY50	BOOL	TRUE
+	XY51	BOOL	TRUE
+	XY52	BOOL	TRUE
+	XY53	BOOL	TRUE
+	XY54	BOOL	TRUE
+	XY55	BOOL	TRUE
+	XY56	BOOL	TRUE
+	XY57	BOOL	TRUE
+	XY60	BOOL	TRUE
+	XY61	BOOL	TRUE
+	XY62	BOOL	TRUE
+	XY63	BOOL	TRUE
+	XY64	BOOL	TRUE
+	XY65	BOOL	TRUE
+	XY66	BOOL	TRUE
+	XY67	BOOL	TRUE
+	XY71	BOOL	TRUE
+	XY72	BOOL	TRUE
+	XY73	BOOL	TRUE
+	XY74	BOOL	TRUE
+	XY75	BOOL	TRUE
+	XY76	BOOL	TRUE
+  END
+END
