Index: trunk/ippconfig/gpc1/camera.config
===================================================================
--- trunk/ippconfig/gpc1/camera.config	(revision 29386)
+++ trunk/ippconfig/gpc1/camera.config	(revision 29388)
@@ -160,2 +160,7 @@
 NPIX_MAX		    S32	    1455690816
 NPIX_INTERCHIP          S32     103794483
+
+# The set of maskbits that should not be set to NAN in "released" images
+# This value is equal to CONV.POOR | STARCORE | SPIKE | SUSPECT
+MASK.NO.CENSOR      U32      0x5280
+
Index: trunk/psModules/src/extras/Makefile.am
===================================================================
--- trunk/psModules/src/extras/Makefile.am	(revision 29386)
+++ trunk/psModules/src/extras/Makefile.am	(revision 29388)
@@ -10,5 +10,6 @@
 	pmVisual.c \
 	pmVisualUtils.c \
-	ippStages.c
+	ippStages.c \
+        pmCensor.c
 
 pkginclude_HEADERS = \
@@ -20,5 +21,6 @@
 	pmVisualUtils.h \
 	ippDiffMode.h \
-	ippStages.h
+	ippStages.h \
+        pmCensor.h
 
 CLEANFILES = *~
Index: trunk/psModules/src/psmodules.h
===================================================================
--- trunk/psModules/src/psmodules.h	(revision 29386)
+++ trunk/psModules/src/psmodules.h	(revision 29388)
@@ -13,4 +13,5 @@
 #include <ippStages.h>
 #include <ippDiffMode.h>
+#include <pmCensor.h>
 
 // XXX the following headers define constructs needed by the elements below
Index: trunk/pstamp/src/ppstampMakeStamp.c
===================================================================
--- trunk/pstamp/src/ppstampMakeStamp.c	(revision 29386)
+++ trunk/pstamp/src/ppstampMakeStamp.c	(revision 29388)
@@ -679,4 +679,5 @@
 static bool setMaskedToNAN(pmConfig *config, psImage *image, psImage *mask, psImage *variance)
 {
+#ifdef notdef
     bool status;
     psMetadata *masks = psMetadataLookupMetadata(&status, config->recipes, "MASKS");
@@ -724,5 +725,14 @@
         }
     }
-    fprintf(stderr, "excised %ld masked pixels\n", numExcised);
+#endif
+
+    long numCensored;
+    if (!pmCensorMasked(config, image, mask, variance, &numCensored)) {
+        psError(PS_ERR_UNKNOWN, false, "Failed to censor masked pixels.\n");
+        return false;
+    }
+
+    // XXX: this shouldn't be a fprintf
+    fprintf(stderr, "Censored %ld masked pixels\n", numCensored);
 
     return true;
