Index: trunk/ppSub/src/ppSubReadout.c
===================================================================
--- trunk/ppSub/src/ppSubReadout.c	(revision 19624)
+++ trunk/ppSub/src/ppSubReadout.c	(revision 19637)
@@ -42,4 +42,5 @@
 bool ppSubReadout(pmConfig *config, psMetadata *stats, const pmFPAview *view)
 {
+    psTimerStart("PPSUB_MATCH");
     pmReadout *inRO = pmFPAfileThisReadout(config->files, view, "PPSUB.INPUT"); // Input readout
     pmReadout *refRO = pmFPAfileThisReadout(config->files, view, "PPSUB.REF"); // Reference readout
@@ -246,24 +247,26 @@
         }
 
-        psStats *stats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN); // Statistics
+        psStats *vfStats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN); // Statistics
         psRandom *rng = psRandomAlloc(PS_RANDOM_TAUS, 0); // Random number generator
-        if (!psImageBackground(stats, NULL, inConv->weight, inConv->mask, maskVal | maskBad, NULL)) {
+        if (!psImageBackground(vfStats, NULL, inConv->weight, inConv->mask, maskVal | maskBad, NULL)) {
             psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved input");
             psFree(inConv);
             psFree(refConv);
             psFree(outRO);
-            return false;
-        }
-        float inMeanVar = stats->robustMedian; // Mean variance of input
-        if (!psImageBackground(stats, NULL, refConv->weight, refConv->mask, maskVal | maskBad, NULL)) {
+            psFree(vfStats);
+            return false;
+        }
+        float inMeanVar = vfStats->robustMedian; // Mean variance of input
+        if (!psImageBackground(vfStats, NULL, refConv->weight, refConv->mask, maskVal | maskBad, NULL)) {
             psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved reference");
             psFree(inConv);
             psFree(refConv);
             psFree(outRO);
-            return false;
-        }
-        float refMeanVar = stats->robustMedian; // Mean variance of reference
+            psFree(vfStats);
+            return false;
+        }
+        float refMeanVar = vfStats->robustMedian; // Mean variance of reference
         psFree(rng);
-        psFree(stats);
+        psFree(vfStats);
 
         float vf = (vfIn * inMeanVar + vfRef * refMeanVar) / (inMeanVar + refMeanVar); // Resulting var factor
@@ -274,7 +277,10 @@
     // Statistics on the matching
     if (stats) {
+        psMetadataAddF32(stats, PS_LIST_TAIL, "MATCH_TIME", 0, "Time to match PSFs",
+                         psTimerClear("PPSUB_MATCH"));
         if (psMetadataLookup(inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE)) {
             metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
             metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
+            metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_MEAN);
             metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
         }
@@ -282,4 +288,5 @@
             metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
             metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
+            metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_MEAN);
             metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
         }
@@ -335,4 +342,5 @@
     // 1. Measure the PSF using the PSF-matched images
     // 2. Find and measure sources on the subtracted image
+    psTimerStart("PPSUB_PHOT");
 
     // Photometry stage 1: measure the PSF
@@ -529,4 +537,6 @@
             psArray *sources = psMetadataLookupPtr(NULL, photRO->analysis, "PSPHOT.SOURCES"); // Sources
             psMetadataAddS32(stats, PS_LIST_TAIL, "NUM_SOURCES", 0, "Number of sources detected", sources->n);
+            psMetadataAddF32(stats, PS_LIST_TAIL, "MATCH_TIME", 0, "Time to do photometry",
+                             psTimerClear("PPSUB_PHOT"));
         }
     }
