Index: /branches/eam_branches/ipp-20101205/Ohana/src/relastro/include/relastro.h
===================================================================
--- /branches/eam_branches/ipp-20101205/Ohana/src/relastro/include/relastro.h	(revision 30524)
+++ /branches/eam_branches/ipp-20101205/Ohana/src/relastro/include/relastro.h	(revision 30525)
@@ -302,5 +302,5 @@
 void fixImageRaw (Catalog *catalog, int Ncatalog, off_t im);
 void FlagOutliers(Catalog *catalog);
-int MeasFilterTest(Measure *measure);
+int MeasFilterTest(Measure *measure, int applySigmaLim);
 
 int sun_ecliptic (double jd, double *lambda, double *beta, double *epsilon);
Index: /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/ImageOps.c
===================================================================
--- /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/ImageOps.c	(revision 30524)
+++ /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/ImageOps.c	(revision 30525)
@@ -146,4 +146,6 @@
   free (clist);
   free (mlist);
+  free (Nlist);
+  free (NLIST);
 }
 
@@ -708,5 +710,5 @@
       
       // skip measurements based on user selected criteria
-      if (!MeasFilterTest(&catalog[0].measure[m])) continue;
+      if (!MeasFilterTest(&catalog[0].measure[m], FALSE)) continue;
       R[N] = catalog[0].measure[m].dR;
       D[N] = catalog[0].measure[m].dD;
@@ -734,5 +736,5 @@
 
       // skip measurements based on user selected criteria
-      if (!MeasFilterTest(&catalog[0].measure[m])) continue;
+      if (!MeasFilterTest(&catalog[0].measure[m], FALSE)) continue;
       
       x = catalog[0].measure[m].dR - statsR.median;
@@ -805,5 +807,5 @@
       
       // skip measurements based on user selected criteria
-      if (!MeasFilterTest(&catalog[0].measure[m])) continue;
+      if (!MeasFilterTest(&catalog[0].measure[m], FALSE)) continue;
       R[N] = catalog[0].measure[m].dR;
       D[N] = catalog[0].measure[m].dD;
@@ -827,5 +829,5 @@
     for (k = 0; k < catalog[0].average[j].Nmeasure; k++, m++) {
       //skip bad measurements
-      if (!MeasFilterTest(&catalog[0].measure[m])) continue;  
+      if (!MeasFilterTest(&catalog[0].measure[m], FALSE)) continue;  
       x = catalog[0].measure[m].dR - statsR.median;
       y = catalog[0].measure[m].dD - statsD.median;
@@ -859,5 +861,5 @@
     for (k = 0; k < catalog[0].average[j].Nmeasure; k++, m++) {
       //skip bad measurements
-      if (!MeasFilterTest(&catalog[0].measure[m])) continue;  
+      if (!MeasFilterTest(&catalog[0].measure[m], FALSE)) continue;  
       x = catalog[0].measure[m].dR - statsR.median;
       y = catalog[0].measure[m].dD - statsD.median;
@@ -890,5 +892,6 @@
 
 /** Determine whether a measurement should be included in the analysis, based on supplied filter criteria */ 
-int MeasFilterTest(Measure *measure) {
+// we only optionally apply the sigma limit: for object averages, this should not be used (should it?)
+int MeasFilterTest(Measure *measure, int applySigmaLim) {
   int found, k;
   long mask;
@@ -936,5 +939,5 @@
 
   /* select measurements by measurement error */
-  if ((SIGMA_LIM > 0) && (measure[0].dM > SIGMA_LIM)) {
+  if (applySigmaLim && (SIGMA_LIM > 0) && (measure[0].dM > SIGMA_LIM)) {
     return FALSE;
   }
Index: /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/UpdateObjectOffsets.c
===================================================================
--- /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/UpdateObjectOffsets.c	(revision 30524)
+++ /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/UpdateObjectOffsets.c	(revision 30525)
@@ -40,4 +40,6 @@
     UpdateMeasures (&catalog, 1);
 
+    UpdateObjects (&catalog, 1);
+
     freeImageBins (1);
 
Index: /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/UpdateObjects.c
===================================================================
--- /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/UpdateObjects.c	(revision 30524)
+++ /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/UpdateObjects.c	(revision 30525)
@@ -103,5 +103,5 @@
 
 	//does the measurement pass the supplied filtering constraints?
-	if (!MeasFilterTest(&catalog[i].measure[m])) {
+	if (!MeasFilterTest(&catalog[i].measure[m], FALSE)) {
 	  catalog[i].measure[m].dbFlags &= ~ID_MEAS_USED_OBJ;
 	  continue;
Index: /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/args.c
===================================================================
--- /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/args.c	(revision 30524)
+++ /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/args.c	(revision 30525)
@@ -13,19 +13,20 @@
     remove_argument (N, &argc, argv);
     FIT_TARGET = TARGET_OBJECTS;
-
-    // check for object fitting modes (not valid for images)
-    if ((N = get_argument (argc, argv, "-pm"))) {
-	remove_argument (N, &argc, argv);
-	FIT_MODE = FIT_PM_ONLY;
-    }
-    if ((N = get_argument (argc, argv, "-par"))) {
-	remove_argument (N, &argc, argv);
-	FIT_MODE = FIT_PAR_ONLY;
-    }
-    if ((N = get_argument (argc, argv, "-pmpar"))) {
-	remove_argument (N, &argc, argv);
-	FIT_MODE = FIT_PM_AND_PAR;
-    }
-  }
+  }
+
+  // check for object fitting modes
+  if ((N = get_argument (argc, argv, "-pm"))) {
+    remove_argument (N, &argc, argv);
+    FIT_MODE = FIT_PM_ONLY;
+  }
+  if ((N = get_argument (argc, argv, "-par"))) {
+    remove_argument (N, &argc, argv);
+    FIT_MODE = FIT_PAR_ONLY;
+  }
+  if ((N = get_argument (argc, argv, "-pmpar"))) {
+    remove_argument (N, &argc, argv);
+    FIT_MODE = FIT_PM_AND_PAR;
+  }
+
   if ((N = get_argument (argc, argv, "-high-speed"))) {
     // XXX include a parallax / no-parallax option
Index: /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/bcatalog.c
===================================================================
--- /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/bcatalog.c	(revision 30524)
+++ /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/bcatalog.c	(revision 30525)
@@ -45,6 +45,6 @@
       offset = catalog[0].average[i].measureOffset + j;
       
-      // filter objects based on user supplied criteria
-      if (!MeasFilterTest(&catalog[0].measure[offset])) {
+      // filter objects based on user supplied criteria, including SIGMA_LIM
+      if (!MeasFilterTest(&catalog[0].measure[offset], TRUE)) {
 	catalog[0].measure[offset].dbFlags &= ~ID_MEAS_USED_CHIP;
 	continue;
Index: /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/relastroVisual.c
===================================================================
--- /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/relastroVisual.c	(revision 30524)
+++ /branches/eam_branches/ipp-20101205/Ohana/src/relastro/src/relastroVisual.c	(revision 30525)
@@ -451,5 +451,5 @@
   for(i = 0; i < Nmeasure; i++, m++) {
     meas = catalog[0].measure[m];
-    if (!MeasFilterTest(&meas)) continue;
+    if (!MeasFilterTest(&meas, FALSE)) continue;
     xmin = MIN(xmin, meas.dR);
     xmax = MAX(xmax, meas.dR);
