Index: trunk/psphot/src/psphotOutput.c
===================================================================
--- trunk/psphot/src/psphotOutput.c	(revision 5754)
+++ trunk/psphot/src/psphotOutput.c	(revision 5772)
@@ -389,11 +389,9 @@
 	pmSource *source = (pmSource *) sources->data[i];
 
-	// valid source types for this function
-	if (source->type == PM_SOURCE_SATSTAR) goto valid;
-	if (source->type == PM_SOURCE_PSFSTAR) goto valid;
-	if (source->type == PM_SOURCE_GOODSTAR) goto valid;
-	continue;
-
-    valid:
+	// write out sources fitted as PSFs
+	if (source->type != PM_SOURCE_STAR) continue;
+	if (source->mode & PM_SOURCE_FAIL) continue;
+	if (source->mode & PM_SOURCE_POOR) continue;
+
 	model = pmSourceMagnitudes (source, psf, RADIUS);
 	if (model == NULL) continue;
@@ -452,8 +450,8 @@
 	model = (pmModel  *) source->modelFLT;
 	if (model == NULL) continue;
-	if (source->type == PM_SOURCE_GALAXY) goto valid;
-	continue;
-
-    valid:
+	if (source->type != PM_SOURCE_GALAXY) continue;
+	if (source->mode & PM_SOURCE_FAIL) continue;
+	if (source->mode & PM_SOURCE_POOR) continue;
+	
 	params = model->params;
 	dparams = model->dparams;
@@ -513,9 +511,17 @@
 
 	// skip these sources (in PSF or FLT)
-	if (source->type == PM_SOURCE_GALAXY) continue;
-	if (source->type == PM_SOURCE_PSFSTAR) continue;
-	if (source->type == PM_SOURCE_SATSTAR) continue;
-	if (source->type == PM_SOURCE_GOODSTAR) continue;
-
+	if (source->type == PM_SOURCE_STAR) {
+	    if (source->mode & PM_SOURCE_FAIL) goto isNULL;
+	    if (source->mode & PM_SOURCE_POOR) goto isNULL;
+	    continue;
+	}
+	if (source->type == PM_SOURCE_GALAXY) {
+	    if (source->mode & PM_SOURCE_FAIL) goto isNULL;
+	    if (source->mode & PM_SOURCE_POOR) goto isNULL;
+	    continue;
+	}
+	    
+    isNULL:
+	
 	if (source->moments == NULL) {
 	  fprintf (f, "%5d %5d  %7.1f  %7.1f %7.1f  %6.3f %6.3f  %8.1f %7.1f %7.1f %7.1f  %4d %2d\n", 
@@ -579,26 +585,13 @@
 	return (8);
 
-      case PM_SOURCE_SATSTAR:
-	return (10);
-
-      case PM_SOURCE_PSFSTAR:
-      case PM_SOURCE_GOODSTAR:
+      case PM_SOURCE_STAR:
+	if (source->mode & PM_SOURCE_SATSTAR) return (10);
+	if (source->mode & PM_SOURCE_POOR) return (7);
+	if (source->mode & PM_SOURCE_FAIL) return (4);
 	return (1);
 
-      case PM_SOURCE_POOR_FIT_PSF:
-	return (7);
-
-      case PM_SOURCE_FAIL_FIT_PSF:
-      case PM_SOURCE_FAINTSTAR:
-	return (4);
-
       case PM_SOURCE_GALAXY:
-      case PM_SOURCE_FAINT_GALAXY:
-      case PM_SOURCE_DROP_GALAXY:
-      case PM_SOURCE_FAIL_FIT_GAL:
-      case PM_SOURCE_POOR_FIT_GAL:
 	return (2);
 
-      case PM_SOURCE_OTHER:
       default:
 	return (0);
