Index: /branches/rel10_ifa/psModules/src/objects/pmSource.c
===================================================================
--- /branches/rel10_ifa/psModules/src/objects/pmSource.c	(revision 6922)
+++ /branches/rel10_ifa/psModules/src/objects/pmSource.c	(revision 6923)
@@ -6,6 +6,6 @@
  *  @author EAM, IfA: significant modifications.
  *
- *  @version $Revision: 1.1.2.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-04-19 06:31:55 $
+ *  @version $Revision: 1.1.2.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-04-20 19:19:05 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -142,7 +142,4 @@
     psTrace(__func__, 3, "---- %s() begin ----\n", __func__);
 
-    // XXX SCALE is the bin size in pixels for the PSF clump search
-    # define SCALE 0.1
-
     psArray *peaks  = NULL;
     pmPSFClump emptyClump = {0.0, 0.0, 0.0, 0.0};
@@ -151,4 +148,7 @@
     PS_ASSERT_PTR_NON_NULL(sources, emptyClump);
     PS_ASSERT_PTR_NON_NULL(metadata, emptyClump);
+
+    psF32 SCALE, SN_MIN;
+    psF32 SX_MAX, SY_MAX, AR_MAX, AR_MIN;
 
     // find the sigmaX, sigmaY clump
@@ -159,14 +159,20 @@
         bool status;
 
-        psF32 SX_MAX = psMetadataLookupF32 (&status, metadata, "MOMENTS_SX_MAX");
+        SCALE = psMetadataLookupF32 (&status, metadata, "MOMENTS_SCALE");
         if (!status)
-            SX_MAX = 10.0;
-        psF32 SY_MAX = psMetadataLookupF32 (&status, metadata, "MOMENTS_SY_MAX");
+            SCALE = 0.1;
+        SN_MIN = psMetadataLookupF32 (&status, metadata, "MOMENTS_SN_MIN");
         if (!status)
-            SY_MAX = 10.0;
-        psF32 AR_MAX = psMetadataLookupF32 (&status, metadata, "MOMENTS_AR_MAX");
+            SN_MIN = 30.0;
+        SX_MAX = psMetadataLookupF32 (&status, metadata, "MOMENTS_SX_MAX");
         if (!status)
-            AR_MAX = 10.0;
-        psF32 AR_MIN = 1.0 / AR_MAX;
+            SX_MAX = 3.0;
+        SY_MAX = psMetadataLookupF32 (&status, metadata, "MOMENTS_SY_MAX");
+        if (!status)
+            SY_MAX = 3.0;
+        AR_MAX = psMetadataLookupF32 (&status, metadata, "MOMENTS_AR_MAX");
+        if (!status)
+            AR_MAX = 3.0;
+        AR_MIN = 1.0 / AR_MAX;
 
         // construct a sigma-plane image
@@ -190,8 +196,14 @@
 
             // Sx,Sy are limited at 0.  a peak at 0,0 is artificial
-            if (fabs(tmpSrc->moments->Sx) < 0.05) {
-                continue;
-            }
-            if (fabs(tmpSrc->moments->Sy) < 0.05) {
+            if (tmpSrc->moments->Sx < 0.05) {
+                continue;
+            }
+            if (tmpSrc->moments->Sy < 0.05) {
+                continue;
+            }
+            if (tmpSrc->moments->Sx > SX_MAX) {
+                continue;
+            }
+            if (tmpSrc->moments->Sy > SY_MAX) {
                 continue;
             }
@@ -200,4 +212,7 @@
             }
             if ((tmpSrc->moments->Sx / tmpSrc->moments->Sy) < AR_MIN) {
+                continue;
+            }
+            if (tmpSrc->moments->SN < 30) {
                 continue;
             }
