Index: trunk/psphot/src/psphot.c
===================================================================
--- trunk/psphot/src/psphot.c	(revision 5756)
+++ trunk/psphot/src/psphot.c	(revision 5772)
@@ -43,8 +43,17 @@
     psfClump = pmSourcePSFClump (sources, config);
 
-    // group into STAR, COSMIC, GALAXY, SATURATED
+    // group into STAR, COSMIC, GALAXY, SATURATED, etc.
     pmSourceRoughClass (sources, config, psfClump);
+
+    // optional dump of all rough source data
+    char *output = psMetadataLookupPtr (&status, config, "MOMENTS_OUTPUT_FILE");
+    if (status && (output != NULL) && (output[0]))
+    {
+      pmMomentsWriteText (sources, output);
+      psFree (output);
+    }
     if (!strcasecmp (breakPt, "CLASS")) exit (0);
 
+    // mark blended peaks PS_SOURCE_BLEND
     psphotBasicDeblend (sources, config, sky);
     if (!strcasecmp (breakPt, "DEBLEND")) exit (0);
@@ -57,24 +66,22 @@
     if (!strcasecmp (breakPt, "PSFFIT")) exit (0);
 
+    // XXX add this as conditional output
+    psphotSamplePSFs (psf, imdata->image);
+
     int FITMODE = psMetadataLookupS32 (&status, config, "FIT_MODE");
     if (!status) FITMODE = 2;
 
     switch (FITMODE) {
-      case -2:
+      case 0:
 	psphotEnsemblePSF (imdata, config, sources, psf, sky);
-	psphotReapplyPSF (imdata, config, sources, psf, sky);
-	break;
-
-      case -1:
-	psphotEnsemblePSF (imdata, config, sources, psf, sky);
-	break;
-
-      case 0:
-	psphotFixedPSF (imdata, config, sources, psf, sky);
+	sources = psArraySort (sources, psphotSortBySN);
+	psphotFullFit (imdata, config, sources, psf, sky);
+//	psphotReplaceUnfit (sources);
 	break;
 
       case 1:
-	// test PSF on all except SATURATE and DEFECT (artifacts)
+	// fit extended objects with galaxy models
 	psphotApplyPSF (imdata, config, sources, psf, sky);
+	psphotFitGalaxies (imdata, config, sources, sky);
 	break;
 
@@ -82,5 +89,4 @@
 	// fit extended objects with galaxy models
 	psphotApplyPSF (imdata, config, sources, psf, sky);
-	psphotFitGalaxies (imdata, config, sources, sky);
 	break;
 
