Index: trunk/magic/remove/src/streaksrelease.c
===================================================================
--- trunk/magic/remove/src/streaksrelease.c	(revision 21085)
+++ trunk/magic/remove/src/streaksrelease.c	(revision 21156)
@@ -51,9 +51,4 @@
     }
 
-    int totalPixels = 0;
-    int totalMaskedPixels = 0;
-    int totalNANdPixels = 0;
-    int totalNANdWeights = 0;
-
     // Iterate through each component of the input (there is only one except for raw images)
     do {
@@ -70,36 +65,5 @@
         }
 
-        int maskedPixels = 0;
-        int nandPixels = 0;
-        int nandWeights = 0;
-
-        psImage *image = sfiles->outImage->image;
-        psImage *mask = sfiles->outMask->image;
-        psImage *weight= sfiles->outWeight->image;
-
-        for (int y=0; y < image->numRows; y++) {
-            for (int x=0; x < image->numCols; x++) {
-                // these gets are not necessary, we could just set the pixels to nan
-                // but I want to get the counts
-                double imageVal  = psImageGet(image, x, y);
-                double weightVal = psImageGet(weight, x, y);
-                psU8 maskVal   = psImageGet(mask, x, y);
-                if (maskVal & maskMask) {
-                    ++maskedPixels;
-                    if (!isnan(imageVal)) {
-                        ++nandPixels;
-                        psImageSet(image, x, y, NAN);
-                    }
-                    if (!isnan(weightVal)) {
-                        ++nandWeights;
-                        psImageSet(weight, x, y, NAN);
-                    }
-                }
-            }
-        }
-        totalPixels += sfiles->inImage->numRows * sfiles->inImage->numCols;
-        totalMaskedPixels += maskedPixels;
-        totalNANdPixels += nandPixels;
-        totalNANdWeights += nandWeights;
+        setMaskedToNAN(sfiles, maskMask, true);
 
         // write out the destreaked temporary images and the recovery images
@@ -108,9 +72,4 @@
         printf("time to process component %d: %f\n", sfiles->extnum, psTimerClear("PROCESS_COMPONENT"));
     } while (streakFilesNextExtension(sfiles));
-
-    printf("pixels:        %10ld\n", totalPixels);
-    printf("masked pixels: %10ld %4.2f%%\n", totalMaskedPixels, 100. * totalMaskedPixels / totalPixels);
-    printf("nand pixels:   %10ld %4.2f%%\n", totalNANdPixels, 100. * totalNANdPixels / totalPixels);
-    printf("nand weights:  %10ld %4.2f%%\n", totalNANdWeights, 100. * totalNANdWeights / totalPixels);
 
     psTimerStart("CLOSE_IMAGES");
@@ -292,5 +251,5 @@
     } else {
         // image data directly from psFits
-        readImage(sf->inImage, sf->extnum, sf->stage);
+        readImage(sf->inImage, sf->extnum, sf->stage, false);
     }
     sf->outImage->header = (psMetadata*) psMemIncrRefCounter(sf->inImage->header);
@@ -325,5 +284,5 @@
 
     if (sf->inMask) {
-        readImage(sf->inMask, sf->extnum, sf->stage);
+        readImage(sf->inMask, sf->extnum, sf->stage, true);
         sf->outMask->header = (psMetadata*) psMemIncrRefCounter(sf->inMask->header);
         if (sf->recMask) {
@@ -358,5 +317,5 @@
 
     if (sf->inWeight) {
-        readImage(sf->inWeight, sf->extnum, sf->stage);
+        readImage(sf->inWeight, sf->extnum, sf->stage, false);
         sf->outWeight->header = (psMetadata*) psMemIncrRefCounter(sf->inWeight->header);
         if (sf->recWeight) {
