Index: trunk/psphot/src/psphotRadiusChecks.c
===================================================================
--- trunk/psphot/src/psphotRadiusChecks.c	(revision 6056)
+++ trunk/psphot/src/psphotRadiusChecks.c	(revision 6427)
@@ -1,17 +1,14 @@
 # include "psphot.h"
 
-static float PSF_OUTER_RADIUS;
+static float PSF_FIT_NSIGMA;
 static float PSF_FIT_PADDING;
-static float PSF_FLUX_LIMIT;
 static pmModelRadius modelRadiusPSF;
 
-bool psphotInitRadiusPSF (psMetadata *config, psStats *sky, pmModelType type) {
+bool psphotInitRadiusPSF (psMetadata *config, pmModelType type) {
 
     bool status;
 
-    float PSF_FIT_NSIGMA = psMetadataLookupF32 (&status, config, "PSF_FIT_NSIGMA");
-    PSF_OUTER_RADIUS     = psMetadataLookupF32 (&status, config, "PSF_OUTER_RADIUS");
-    PSF_FIT_PADDING      = psMetadataLookupF32 (&status, config, "PSF_FIT_PADDING");
-    PSF_FLUX_LIMIT       = PSF_FIT_NSIGMA * sky->sampleStdev;
+    PSF_FIT_NSIGMA   = psMetadataLookupF32 (&status, config, "PSF_FIT_NSIGMA");
+    PSF_FIT_PADDING  = psMetadataLookupF32 (&status, config, "PSF_FIT_PADDING");
 
     // this function specifies the radius at this the model hits the given flux
@@ -22,7 +19,9 @@
 bool psphotCheckRadiusPSF (pmReadout *readout, pmSource *source, pmModel *model) {
 
+    pmMoments *moments = source->moments;
+    if (moments == NULL) return false;
+
     // set the fit radius based on the object flux limit and the model
-    // XXX EAM : FLUX_LIMIT should be set based on local sky model (not global median)
-    model->radius = modelRadiusPSF (model->params, PSF_FLUX_LIMIT) + PSF_FIT_PADDING;
+    model->radius = modelRadiusPSF (model->params, PSF_FIT_NSIGMA*moments->dSky) + PSF_FIT_PADDING;
     if (isnan(model->radius)) psAbort ("apply_psf_model", "error in radius");
 	
@@ -35,17 +34,14 @@
 }
 
-static float EXT_OUTER_RADIUS;
+static float EXT_FIT_NSIGMA;
 static float EXT_FIT_PADDING;
-static float EXT_FLUX_LIMIT;
 static pmModelRadius modelRadiusEXT;
 
-bool psphotInitRadiusEXT (psMetadata *config, psStats *sky, pmModelType type) {
+bool psphotInitRadiusEXT (psMetadata *config, pmModelType type) {
 
     bool status;
 
-    float EXT_FIT_NSIGMA = psMetadataLookupF32 (&status, config, "EXT_FIT_NSIGMA");
-    EXT_OUTER_RADIUS	 = psMetadataLookupF32 (&status, config, "EXT_OUTER_RADIUS");
-    EXT_FIT_PADDING      = psMetadataLookupF32 (&status, config, "EXT_FIT_PADDING");
-    EXT_FLUX_LIMIT       = EXT_FIT_NSIGMA * sky->sampleStdev;
+    EXT_FIT_NSIGMA   = psMetadataLookupF32 (&status, config, "EXT_FIT_NSIGMA");
+    EXT_FIT_PADDING  = psMetadataLookupF32 (&status, config, "EXT_FIT_PADDING");
 
     // this function specifies the radius at this the model hits the given flux
@@ -56,6 +52,9 @@
 bool psphotCheckRadiusEXT (pmReadout *readout, pmSource *source, pmModel *model) {
 
+    pmMoments *moments = source->moments;
+    if (moments == NULL) return false;
+
     // set the fit radius based on the object flux limit and the model
-    model->radius = modelRadiusEXT (model->params, EXT_FLUX_LIMIT) + EXT_FIT_PADDING;
+    model->radius = modelRadiusEXT (model->params, EXT_FIT_NSIGMA*moments->dSky) + EXT_FIT_PADDING;
     if (isnan(model->radius)) psAbort (__func__, "error in radius");
 
