Index: trunk/ppSub/src/ppSubReadout.c
===================================================================
--- trunk/ppSub/src/ppSubReadout.c	(revision 14457)
+++ trunk/ppSub/src/ppSubReadout.c	(revision 14482)
@@ -123,5 +123,5 @@
     float xRegionSize = 0, yRegionSize = 0; // Size of iso-kernel regions
     psRegion *region = NULL;            // Iso-kernel region
-    if (isfinite(regionSize)) {
+    if (isfinite(regionSize) || regionSize == 0.0) {
         xRegions = numCols / regionSize + 1;
         yRegions = numRows / regionSize + 1;
@@ -158,7 +158,15 @@
                 memCheck("  find stamps");
 
+                psTrace("ppSub", 3, "Extracting stamps...\n");
+                if (!pmSubtractionExtractStamps(stamps, refRO->image, inRO->image, inRO->weight,
+                                                footprint, kernels)) {
+                    psError(PS_ERR_UNKNOWN, false, "Unable to extract stamps.");
+                    goto ERROR;
+                }
+
+                memCheck("   extract stamps");
+
                 psTrace("ppSub", 3, "Calculating equation...\n");
-                if (!pmSubtractionCalculateEquation(stamps, refRO->image, inRO->image, inRO->weight,
-                                                    kernels, footprint)) {
+                if (!pmSubtractionCalculateEquation(stamps, kernels, footprint)) {
                     psError(PS_ERR_UNKNOWN, false, "Unable to calculate least-squares equation.");
                     goto ERROR;
