Index: trunk/psphot/src/psphotMaskReadout.c
===================================================================
--- trunk/psphot/src/psphotMaskReadout.c	(revision 16820)
+++ trunk/psphot/src/psphotMaskReadout.c	(revision 18555)
@@ -7,27 +7,10 @@
 
     // ** Interpret the mask values:
-
-    // single-bit named masks
-    psMaskType maskMark = pmConfigMask("MARK",     config); // Mask value for marking
-    psMetadataAddU8 (recipe, PS_LIST_TAIL, "MASK.MARK", PS_META_REPLACE, "user-defined mask", maskMark);
-
-    psMaskType maskSat  = pmConfigMask("SAT", 	   config); // Mask value for saturated pixels
+    // XXX drop the write to recipe and move config into psphotRoughClass?
+    psMaskType maskSat  = pmConfigMaskGet("SAT", config); // Mask value for saturated pixels
     psMetadataAddU8 (recipe, PS_LIST_TAIL, "MASK.SAT", PS_META_REPLACE, "user-defined mask", maskSat);
 
-    psMaskType maskBad  = pmConfigMask("BAD", 	   config); // Mask value for bad pixels
+    psMaskType maskBad  = pmConfigMaskGet("BAD", config); // Mask value for bad pixels
     psMetadataAddU8 (recipe, PS_LIST_TAIL, "MASK.BAD", PS_META_REPLACE, "user-defined mask", maskBad);
-
-    // user-defined masks to test for good/bad pixels (build from recipe list if not yet set)
-    psMaskType maskVal = psMetadataLookupU8(&status, recipe, "PSPHOT"); // Mask value for bad pixels
-    if (!maskVal) {
-      const char *maskValStr = psMetadataLookupStr(NULL, recipe, "MASKVAL"); // String with mask names
-      if (!maskValStr) {
-        psError(PSPHOT_ERR_CONFIG, false, "Missing recipe item: MASKVAL(STR)");
-        return false;
-      }
-      maskVal = pmConfigMask(maskValStr, config); // Mask values to mask against
-      psMetadataAddU8 (recipe, PS_LIST_TAIL, "MASK.PSPHOT", PS_META_REPLACE, "user-defined mask", maskVal);
-      assert (maskVal);
-    }
 
     // generate mask & weight images if they don't already exit
