Index: trunk/psModules/src/imcombine/pmSubtractionMatch.c
===================================================================
--- trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 17367)
+++ trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 17783)
@@ -344,5 +344,7 @@
             memCheck("kernels");
 
-            int numRejected = -1;               // Number of rejected stamps in each iteration
+            float rmsStamps = NAN;      // RMS for stamps
+            int numStamps = 0;          // Number of good stamps
+            int numRejected = -1;       // Number of rejected stamps in each iteration
             for (int k = 0; k < iter && numRejected != 0; k++) {
                 psLogMsg("psModules.imcombine", PS_LOG_INFO, "Iteration %d.", k);
@@ -379,5 +381,6 @@
 
                 psTrace("psModules.imcombine", 3, "Rejecting stamps...\n");
-                numRejected = pmSubtractionRejectStamps(stamps, deviations, subMask, rej, footprint);
+                numRejected = pmSubtractionRejectStamps(&rmsStamps, &numStamps, stamps, deviations,
+                                                        subMask, rej, footprint);
                 if (numRejected < 0) {
                     psError(PS_ERR_UNKNOWN, false, "Unable to reject stamps.");
@@ -401,9 +404,23 @@
                     goto MATCH_ERROR;
                 }
-                pmSubtractionRejectStamps(stamps, deviations, subMask, NAN, footprint);
+                pmSubtractionRejectStamps(&rmsStamps, &numStamps, stamps, deviations,
+                                          subMask, NAN, footprint);
                 psFree(deviations);
             }
             psFree(stamps);
             stamps = NULL;
+
+            if (mode == PM_SUBTRACTION_MODE_1 || mode == PM_SUBTRACTION_MODE_DUAL) {
+                psMetadataAddS32(conv1->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM,
+                                 PS_META_DUPLICATE_OK, "Number of good stamps", numStamps);
+                psMetadataAddF32(conv1->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS,
+                                 PS_META_DUPLICATE_OK, "RMS deviation of stamps", rmsStamps);
+            }
+            if (mode == PM_SUBTRACTION_MODE_2 || mode == PM_SUBTRACTION_MODE_DUAL) {
+                psMetadataAddS32(conv2->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM,
+                                 PS_META_DUPLICATE_OK, "Number of good stamps", numStamps);
+                psMetadataAddF32(conv2->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS,
+                                 PS_META_DUPLICATE_OK, "RMS deviation of stamps", rmsStamps);
+            }
 
             memCheck("solution");
