Index: trunk/psphot/src/psphotSourceSize.c
===================================================================
--- trunk/psphot/src/psphotSourceSize.c	(revision 15801)
+++ trunk/psphot/src/psphotSourceSize.c	(revision 15802)
@@ -53,11 +53,12 @@
 	float nR = cR / sqrt(dcR);
 
-	float chisq = PS_SQR (nX) + PS_SQR (nY) + PS_SQR (nX) + PS_SQR (nR);
-
 	// P(chisq > chisq_obs; Ndof) = gamma_Q (Ndof/2, chisq/2)
 	// Ndof = 4 ? (four measurements, no free parameters)
 	// XXX this value is going to be biased low because of systematic errors.
 	// we need to calibrate it somehow
-	source->psfProb = gsl_sf_gamma_inc_Q (2, 0.5*chisq);
+	// source->psfProb = gsl_sf_gamma_inc_Q (2, 0.5*chisq);
+
+	// not strictly accurate: overcounts the chisq contribution from the center pixel (by factor of 4)
+	source->psfChisq = PS_SQR (nX) + PS_SQR (nY) + PS_SQR (nX) + PS_SQR (nR);
 
 	float fCR = 0.0;
@@ -94,5 +95,6 @@
 	}
 	source->crNsigma  = (nCR > 0)  ? fCR / nCR : 0.0;
-	source->extNsigma = (nEXT > 0) ? fEXT / nEXT : 0.0;
+	source->extNsigma = (nEXT > 0) ? fabs(fEXT) / nEXT : 0.0;
+	// NOTE: abs needed to make the Nsigma value positive 
     }
     return true;
