Index: branches/eam_branches/ipp-20110710/psphot/src/psphotExtendedSourceFits.c
===================================================================
--- branches/eam_branches/ipp-20110710/psphot/src/psphotExtendedSourceFits.c	(revision 32317)
+++ branches/eam_branches/ipp-20110710/psphot/src/psphotExtendedSourceFits.c	(revision 32318)
@@ -6,4 +6,7 @@
     bool status = true;
 
+    fprintf (stdout, "\n");
+    psLogMsg ("psphot", PS_LOG_INFO, "--- psphot Extended Source Fits ---");
+
     // select the appropriate recipe information
     psMetadata *recipe  = psMetadataLookupPtr (&status, config->recipes, PSPHOT_RECIPE);
@@ -12,5 +15,5 @@
     // perform full extended source non-linear fits?
     if (!psMetadataLookupBool (&status, recipe, "EXTENDED_SOURCE_FITS")) {
-        psLogMsg ("psphot", PS_LOG_INFO, "skipping extended source measurements\n");
+        psLogMsg ("psphot", PS_LOG_INFO, "skipping extended source fits\n");
         return true;
     }
@@ -301,5 +304,5 @@
 
         // skip PSF-like and non-astronomical objects
-        if (source->type == PM_SOURCE_TYPE_STAR) continue;
+        if (!(source->mode & PM_SOURCE_MODE_EXT_LIMIT)) continue;
         if (source->type == PM_SOURCE_TYPE_DEFECT) continue;
         if (source->type == PM_SOURCE_TYPE_SATURATED) continue;
@@ -330,10 +333,4 @@
         }
 
-	// XXX deprecate?
-	// XXX // extFitPars are the non-parametric data measured for this model fit (moments, kron, etc)
-        // XXX if (source->extFitPars == NULL) {
-        // XXX     source->extFitPars = psArrayAllocEmpty (models->list->n);
-        // XXX }
-
         // loop here over the models chosen for each source (exclude by S/N)
         psMetadataIterator *iter = psMetadataIteratorAlloc (models, PS_LIST_HEAD, NULL);
@@ -346,10 +343,17 @@
 
           // check the SNlim and skip model if source is too faint
-          float SNlim = psMetadataLookupF32 (&status, model, "SNLIM_VALUE");
+          float FIT_SN_LIM = psMetadataLookupF32 (&status, model, "SNLIM_VALUE");
           assert (status);
 
           // limit selection to some SN limit
           // assert (source->peak); // how can a source not have a peak?
-          if (sqrt(source->peak->detValue) < SNlim) {
+	  // limit selection to some SN limit
+	  bool skipSource = false;
+	  if (source->mode & PM_SOURCE_MODE_EXT_LIMIT) {
+	      skipSource = (source->moments->KronFlux < FIT_SN_LIM * source->moments->KronFluxErr);
+	  } else {
+	      skipSource = (sqrt(source->peak->detValue) < FIT_SN_LIM);
+	  }
+          if (skipSource) {
 	      Nfaint ++;
 	      continue;
