Index: trunk/psphot/src/source_moments.c
===================================================================
--- trunk/psphot/src/source_moments.c	(revision 4251)
+++ trunk/psphot/src/source_moments.c	(revision 4375)
@@ -5,4 +5,5 @@
     bool     status  = false;
     psArray *sources = NULL;
+    pmPSFClump psfClump;
 
     psTimerStart ("psphot");
@@ -25,14 +26,19 @@
 
 	// this should use ROBUST not SAMPLE median, but it is broken
-	pmSourceLocalSky_EAM (source, PS_STAT_SAMPLE_MEDIAN, INNER);
-	pmSourceMoments (source, RADIUS);
+	status = pmSourceLocalSky_EAM (source, PS_STAT_SAMPLE_MEDIAN, INNER);
+	if (!status) continue;
+
+	status = pmSourceMoments (source, RADIUS);
+	if (!status) continue;
+	
 	psArrayAdd (sources, 100, source);
     }
 
     // group into STAR, COSMIC, GALAXY, SATURATED
-    pmSourceRoughClass (sources, config);
+    psfClump = pmSourcePSFClump (sources, config);
+    pmSourceRoughClass (sources, config, psfClump);
 
     // make this optional
-    DumpMoments (sources, "moments.dat");
+    // DumpMoments (sources, "moments.dat");
 
     psLogMsg ("psphot", 3, "moments: %f sec\n", psTimerMark ("psphot"));
@@ -41,2 +47,4 @@
     return (sources);
 }
+
+// filter out bad peaks (eg, no valid pixels available for sky)
