Index: /branches/pap_branch_20090128/ppStack/src/ppStackLoop.c
===================================================================
--- /branches/pap_branch_20090128/ppStack/src/ppStackLoop.c	(revision 21298)
+++ /branches/pap_branch_20090128/ppStack/src/ppStackLoop.c	(revision 21299)
@@ -411,4 +411,5 @@
     psList *fpaList = psListAlloc(NULL); // List of input FPAs, for concept averaging
     psList *cellList = psListAlloc(NULL); // List of input cells, for concept averaging
+    psArray *covariances = psArrayAlloc(num); // Covariance matrices
     for (int i = 0; i < num; i++) {
         psTrace("ppStack", 2, "Convolving input %d of %d to target PSF....\n", i, num);
@@ -425,4 +426,5 @@
             psFree(fpaList);
             psFree(cellList);
+            psFree(covariances);
             return false;
         }
@@ -444,4 +446,5 @@
             psFree(fpaList);
             psFree(cellList);
+            psFree(covariances);
             return false;
         }
@@ -457,4 +460,5 @@
             continue;
         }
+        covariances->data[i] = psMemIncrRefCounter(readout->covariance);
 
         if (stats) {
@@ -492,4 +496,5 @@
             psFree(fpaList);
             psFree(cellList);
+            psFree(covariances);
             return false;
         }
@@ -511,4 +516,5 @@
         psFree(fpaList);
         psFree(cellList);
+        psFree(covariances);
         return false;
     }
@@ -558,4 +564,5 @@
             psFree(matchChi2);
             psFree(values);
+            psFree(covariances);
             return false;
         }
@@ -599,4 +606,5 @@
         psFree(inputMask);
         psFree(matchChi2);
+        psFree(covariances);
         return false;
     }
@@ -632,4 +640,5 @@
             psFree(matchChi2);
             psFree(cells);
+            psFree(covariances);
             return false;
         }
@@ -645,4 +654,5 @@
             psFree(matchChi2);
             psFree(cells);
+            psFree(covariances);
             return false;
         }
@@ -663,4 +673,5 @@
             psFree(outRO);
             psFree(cells);
+            psFree(covariances);
             return false;
         }
@@ -682,4 +693,5 @@
                 psFree(view);
                 psFree(outRO);
+                psFree(covariances);
                 return false;
             }
@@ -708,4 +720,5 @@
                 psFree(view);
                 psFree(outRO);
+                psFree(covariances);
                 return false;
             }
@@ -722,4 +735,5 @@
             psFree(view);
             psFree(outRO);
+            psFree(covariances);
             return false;
         }
@@ -789,4 +803,5 @@
                 psFree(inspect);
                 psFree(rejected);
+                psFree(covariances);
                 return false;
             }
@@ -804,4 +819,5 @@
             psFree(inspect);
             psFree(rejected);
+            psFree(covariances);
             return false;
         }
@@ -898,4 +914,5 @@
             psFree(view);
             psFree(outRO);
+            psFree(covariances);
             return false;
         }
@@ -926,4 +943,5 @@
                 psFree(view);
                 psFree(outRO);
+                psFree(covariances);
                 return false;
             }
@@ -947,4 +965,5 @@
                 psFree(view);
                 psFree(outRO);
+                psFree(covariances);
                 return false;
             }
@@ -959,4 +978,5 @@
             psFree(view);
             psFree(outRO);
+            psFree(covariances);
             return false;
         }
@@ -964,4 +984,14 @@
 
     memDump("final");
+
+    // Sum covariance matrices
+    for (int i = 0; i < num; i++) {
+        if (inputMask->data.U8[i]) {
+            psFree(covariances->data[i]);
+            covariances->data[i] = NULL;
+        }
+    }
+    outRO->covariance = psImageCovarianceSum(covariances);
+    psFree(covariances);
 
     if (stats) {
Index: /branches/pap_branch_20090128/ppStack/src/ppStackMatch.c
===================================================================
--- /branches/pap_branch_20090128/ppStack/src/ppStackMatch.c	(revision 21298)
+++ /branches/pap_branch_20090128/ppStack/src/ppStackMatch.c	(revision 21299)
@@ -580,4 +580,6 @@
     psFree(bg);
 
+#if 0
+
 #define RADIUS 10                       // Radius of photometry
 #define MIN_ERR 0.05                    // Minimum photometric error, mag
@@ -632,4 +634,5 @@
     psFree(ratio);
     psFree(ratioMask);
+#endif
 
 #ifdef TESTING
