Changeset 31154 for trunk/psphot/src/psphotSourceFits.c
- Timestamp:
- Apr 4, 2011, 1:12:39 PM (15 years ago)
- Location:
- trunk/psphot
- Files:
-
- 2 edited
-
. (modified) (2 props)
-
src/psphotSourceFits.c (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot
- Property svn:ignore
-
old new 19 19 psphot-config 20 20 Doxyfile 21 a.out.dSYM
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
trunk/psphot/src/psphotSourceFits.c
r30624 r31154 51 51 psArrayAdd (sourceSet, 16, source); 52 52 53 psTrace ("psphot", 4, "fitting blended source at %f %f : %f\n", source->peak->xf, source->peak->yf, source->peak-> flux);53 psTrace ("psphot", 4, "fitting blended source at %f %f : %f\n", source->peak->xf, source->peak->yf, source->peak->rawFlux); 54 54 55 55 // we need to include all blends in the fit (unless primary is saturated?) … … 69 69 70 70 // XXX assume local sky is 0.0? 71 model->params->data.F32[PM_PAR_I0] = blend->peak-> flux;71 model->params->data.F32[PM_PAR_I0] = blend->peak->rawFlux; 72 72 model->params->data.F32[PM_PAR_XPOS] = blend->peak->xf; 73 73 model->params->data.F32[PM_PAR_YPOS] = blend->peak->yf; … … 83 83 psArrayAdd (sourceSet, 16, blend); 84 84 85 psTrace ("psphot", 5, "adding source at %f %f : %f\n", blend->peak->xf, blend->peak->yf, blend->peak-> flux);85 psTrace ("psphot", 5, "adding source at %f %f : %f\n", blend->peak->xf, blend->peak->yf, blend->peak->rawFlux); 86 86 87 87 // free to avoid double counting model … … 100 100 101 101 if (!isfinite(PSF->params->data.F32[PM_PAR_I0])) psAbort("nan in fit"); 102 103 // correct model chisq for flux trend104 double chiTrend = psPolynomial1DEval (psf->ChiTrend, PSF->params->data.F32[PM_PAR_I0]);105 PSF->chisqNorm = PSF->chisq / chiTrend;106 102 107 103 // evaluate the blend objects, subtract if good, free otherwise … … 111 107 112 108 if (!isfinite(model->params->data.F32[PM_PAR_I0])) psAbort("nan in fit"); 113 114 // correct model chisq for flux trend115 chiTrend = psPolynomial1DEval (psf->ChiTrend, model->params->data.F32[PM_PAR_I0]);116 model->chisqNorm = model->chisq / chiTrend;117 109 118 110 // if this one failed, skip it … … 159 151 bool psphotFitPSF (pmReadout *readout, pmSource *source, pmPSF *psf, pmSourceFitOptions *fitOptions, psImageMaskType maskVal, psImageMaskType markVal) { 160 152 161 double chiTrend;162 153 pmSourceFitOptions options = *fitOptions; 163 154 … … 182 173 // clear the circular mask 183 174 psImageMaskPixels (source->maskObj, "AND", PS_NOT_IMAGE_MASK(markVal)); 184 185 // correct model chisq for flux trend186 chiTrend = psPolynomial1DEval (psf->ChiTrend, PSF->params->data.F32[PM_PAR_I0]);187 PSF->chisqNorm = PSF->chisq / chiTrend;188 175 189 176 // does the PSF model succeed? … … 224 211 float radius; 225 212 bool okEXT, okDBL; 226 float chiEXT, chiDBL;227 double chiTrend;228 213 pmModel *ONE = NULL; 229 214 pmSource *tmpSrc = NULL; … … 258 243 maskVal |= markVal; 259 244 245 float chiEXT = NAN; 246 float chiDBL = NAN; 247 260 248 // this temporary source is used as a place-holder by the psphotEval functions below 261 249 tmpSrc = pmSourceAlloc (); … … 271 259 272 260 // correct first model chisqs for flux trend 273 chiDBL = NAN;274 261 ONE = DBL->data[0]; 275 262 if (ONE) { 276 263 if (!isfinite(ONE->params->data.F32[PM_PAR_I0])) psAbort("nan in fit"); 277 chiTrend = psPolynomial1DEval (psf->ChiTrend, ONE->params->data.F32[1]); 278 ONE->chisqNorm = ONE->chisq / chiTrend; 279 chiDBL = ONE->chisq / ONE->nDOF; // save chisq for double-star/galaxy comparison 264 chiDBL = ONE->chisqNorm; // save chisq for double-star/galaxy comparison 280 265 ONE->fitRadius = radius; 281 266 } … … 285 270 if (ONE) { 286 271 if (!isfinite(ONE->params->data.F32[PM_PAR_I0])) psAbort("nan in fit"); 287 chiTrend = psPolynomial1DEval (psf->ChiTrend, ONE->params->data.F32[1]);288 ONE->chisqNorm = ONE->chisq / chiTrend;289 272 ONE->fitRadius = radius; 290 273 } … … 298 281 299 282 okEXT = psphotEvalEXT (tmpSrc, EXT); 300 chiEXT = EXT ? EXT->chisq / EXT->nDOF: NAN;283 chiEXT = EXT ? EXT->chisqNorm : NAN; 301 284 } 302 285
Note:
See TracChangeset
for help on using the changeset viewer.
