Index: /trunk/psphot/src/psphotSourceStats.c
===================================================================
--- /trunk/psphot/src/psphotSourceStats.c	(revision 25957)
+++ /trunk/psphot/src/psphotSourceStats.c	(revision 25958)
@@ -242,4 +242,5 @@
 
 // this function attempts to iteratively determine the best value for sigma of the moments weighting Gaussian
+// this function modifies the recipe values MOMENTS_SX_MAX, MOMENTS_SY_MAX, and PSF_CLUMP_GRID_SCALE, used by pmSourcePSFClump
 bool psphotSetMomentsWindow (psMetadata *recipe, psMetadata *analysis, psArray *sources) {
 
@@ -250,6 +251,7 @@
 
     // XXX move this to a config file?
-    float sigma[4] = {1.0, 2.0, 3.0, 4.5};
-    float Sout[4];
+    # define NSIGMA 8
+    float sigma[NSIGMA] = {1.0, 2.0, 3.0, 4.5, 6.0, 9.0, 12.0, 18.0};
+    float Sout[NSIGMA];
 
     // this sorts by peak->SN
@@ -257,5 +259,5 @@
 
     // loop over radii:
-    for (int i = 0; i < 4; i++) {
+    for (int i = 0; i < NSIGMA; i++) {
 
         // XXX move max source number to config
@@ -302,9 +304,8 @@
 
     // we are looking for sigma for which Sout = 0.65 (or some other value)
-
     float Sigma = NAN;
     float minS = Sout[0];
     float maxS = Sout[0];
-    for (int i = 0; i < 4; i++) {
+    for (int i = 0; i < NSIGMA; i++) {
         minS = PS_MIN(Sout[i], minS);
         maxS = PS_MAX(Sout[i], maxS);
@@ -313,5 +314,5 @@
     if (maxS < 0.65) Sigma = sigma[0];
 
-    for (int i = 0; i < 3; i++) {
+    for (int i = 0; i < NSIGMA - 1; i++) {
         if ((Sout[i] > 0.65) && (Sout[i+1] > 0.65)) continue;
         if ((Sout[i] < 0.65) && (Sout[i+1] < 0.65)) continue;
