Index: trunk/ppSub/src/ppSubReadout.c
===================================================================
--- trunk/ppSub/src/ppSubReadout.c	(revision 14301)
+++ trunk/ppSub/src/ppSubReadout.c	(revision 14308)
@@ -32,5 +32,5 @@
     float rej = psMetadataLookupF32(NULL, config->arguments, "REJ"); // Rejection threshold
     pmSubtractionKernelsType type = psMetadataLookupS32(NULL, config->arguments,
-                                                         "KERNEL.TYPE"); // Kernel type
+                                                        "KERNEL.TYPE"); // Kernel type
     bool reverse = psMetadataLookupBool(NULL, config->arguments, "REVERSE"); // Reverse sense of subtraction?
     psVector *widths = psMetadataLookupPtr(NULL, config->arguments, "ISIS.WIDTHS"); // ISIS Gaussian widths
@@ -41,4 +41,10 @@
                                     config); // Value to mask
     psMaskType maskBlank = pmConfigMask(psMetadataLookupStr(NULL, config->arguments, "MASK.BLANK"),
+                                        config); // Mask for blank region
+    int inner = psMetadataLookupS32(NULL, config->arguments, "INNER"); // Inner radius
+    int binning = psMetadataLookupS32(NULL, config->arguments, "SPAM.BINNING"); // Binning for SPAM kernel
+    psMaskType maskBad = pmConfigMask(psMetadataLookupStr(NULL, config->arguments, "MASK.BAD"),
+                                    config); // Value to mask
+    psMaskType maskBlank = pmConfigMask(psMetadataLookupStr(NULL, config->arguments, "MASK.BLANK"),
                                         config); // Mask for blank reg.
 
@@ -164,5 +170,5 @@
     }
 
-#if 1
+#ifdef TESTING
     // Generate image with convolution kernels
     int fullSize = 2 * size + 1 + 1;    // Full size of kernel
@@ -197,4 +203,5 @@
 #endif
 
+    psFree(subMask);
     psFree(kernels);
     psFree(stamps);
