Index: trunk/psModules/src/imcombine/pmSubtractionMatch.c
===================================================================
--- trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 16406)
+++ trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 16479)
@@ -306,35 +306,6 @@
                                                        inner, binning, ringsOrder, mode);
             }
-
-            // Add analysis metadata
-            {
-                psMetadataAddPtr(conv1->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_KERNEL,
-                                 PS_DATA_UNKNOWN | PS_META_DUPLICATE_OK, "Subtraction kernels", kernels);
-                if (conv2) {
-                    psMetadataAddPtr(conv2->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_KERNEL,
-                                     PS_DATA_UNKNOWN | PS_META_DUPLICATE_OK, "Subtraction kernels", kernels);
-                }
-                psMetadataAddS32(conv1->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_MODE,
-                                 PS_META_DUPLICATE_OK, "Subtraction kernels", mode);
-                if (conv2) {
-                    psMetadataAddS32(conv2->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_MODE,
-                                     PS_META_DUPLICATE_OK, "Subtraction kernels", mode);
-                }
-                psRegion *subRegion;
-                if (region) {
-                    subRegion = psMemIncrRefCounter(region);
-                } else {
-                    subRegion = psRegionAlloc(0, numCols, 0, numRows);
-                }
-                psMetadataAddPtr(conv1->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_REGION,
-                                  PS_DATA_REGION | PS_META_DUPLICATE_OK,
-                                 "Region over which subtraction was performed", subRegion);
-                if (conv2) {
-                    psMetadataAddPtr(conv2->analysis, PS_LIST_TAIL, PM_SUBTRACTION_ANALYSIS_REGION,
-                                     PS_DATA_REGION | PS_META_DUPLICATE_OK,
-                                     "Region over which subtraction was performed", subRegion);
-                }
-                psFree(subRegion);
-            }
+            psMetadataAddPtr(conv1->analysis, PS_LIST_TAIL, "SUBTRACTION.KERNEL",
+                             PS_DATA_UNKNOWN | PS_META_DUPLICATE_OK, "Subtraction kernels", kernels);
 
             memCheck("kernels");
@@ -470,4 +441,25 @@
             kernels = NULL;
 
+#if 0
+            // Put the solution on the metadata
+            {
+                psString comment = NULL; // Comment for metadata
+                psStringAppend(&comment, "Subtraction solution for region %s", regionString);
+                psMetadataAddVector(conv1->analysis, PS_LIST_TAIL, "SUBTRACTION.SOLUTION",
+                                    PS_META_DUPLICATE_OK, comment, solution);
+                psFree(comment);
+                if (region) {
+                    psMetadataAddPtr(conv1->analysis, PS_LIST_TAIL, "SUBTRACTION.REGION",
+                                     PS_META_DUPLICATE_OK | PS_DATA_REGION, comment, region);
+                } else {
+                    region = psRegionAlloc(0, numCols, 0, numRows);
+                    psMetadataAddPtr(conv1->analysis, PS_LIST_TAIL, "SUBTRACTION.REGION",
+                                     PS_META_DUPLICATE_OK | PS_DATA_REGION, comment, region);
+                    psFree(region);
+                    region = NULL;
+                }
+            }
+#endif
+
             // There is data in the readout now
             conv1->data_exists = true;
