Index: trunk/ppStack/src/ppStackArguments.c
===================================================================
--- trunk/ppStack/src/ppStackArguments.c	(revision 19123)
+++ trunk/ppStack/src/ppStackArguments.c	(revision 19172)
@@ -145,6 +145,7 @@
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-combine-rej", 0,
                      "Combination rejection thresold (sigma)", NAN);
-    psMetadataAddU8(arguments,  PS_LIST_TAIL, "-mask-bad", 0, "Mask value for bad pixels", 0);
-    psMetadataAddU8(arguments,  PS_LIST_TAIL, "-mask-blank", 0, "Mask value for blank region", 0);
+    psMetadataAddStr(arguments,  PS_LIST_TAIL, "-mask-val", 0, "Mask value of input bad pixels", NULL);
+    psMetadataAddStr(arguments,  PS_LIST_TAIL, "-mask-bad", 0, "Mask value to give bad pixels", NULL);
+    psMetadataAddStr(arguments,  PS_LIST_TAIL, "-mask-poor", 0, "Mask value to give poor pixels", NULL);
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-threshold-mask", 0, "Threshold for mask deconvolution", NAN);
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-image-rej", 0,
@@ -219,9 +220,11 @@
     VALUE_ARG_RECIPE_INT("-iter",             "ITER",           S32, 0);
     VALUE_ARG_RECIPE_FLOAT("-combine-rej",    "COMBINE.REJ",    F32);
-    VALUE_ARG_RECIPE_MASK("-mask-bad",        "MASK.BAD");
-    VALUE_ARG_RECIPE_MASK("-mask-blank",      "MASK.BLANK");
     VALUE_ARG_RECIPE_FLOAT("-threshold-mask", "THRESHOLD.MASK", F32);
     VALUE_ARG_RECIPE_FLOAT("-image-rej",      "IMAGE.REJ",      F32);
     VALUE_ARG_RECIPE_INT("-rows",             "ROWS",           S32, 0);
+
+    valueArgRecipeStr(arguments, recipe, "-mask-val",  "MASK.VAL",  recipe);
+    valueArgRecipeStr(arguments, recipe, "-mask-bad",  "MASK.BAD",  recipe);
+    valueArgRecipeStr(arguments, recipe, "-mask-poor", "MASK.POOR", recipe);
 
     VALUE_ARG_RECIPE_FLOAT("-source-radius", "SOURCE.RADIUS", F32);
