Changeset 31153 for trunk/psModules/src/objects/models/pmModel_SERSIC.c
- Timestamp:
- Apr 4, 2011, 1:04:41 PM (15 years ago)
- Location:
- trunk/psModules
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/objects/models/pmModel_SERSIC.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules
- Property svn:ignore
-
old new 28 28 ChangeLog 29 29 psmodules-*.tar.* 30 a.out.dSYM
-
- Property svn:ignore
-
trunk/psModules/src/objects/models/pmModel_SERSIC.c
r29028 r31153 222 222 { 223 223 pmMoments *moments = source->moments; 224 pmPeak *peak = source->peak;225 224 psF32 *PAR = model->params->data.F32; 225 226 // sky is set to 0.0 227 PAR[PM_PAR_SKY] = 0.0; 226 228 227 229 // the other parameters depend on the guess for PAR_7 … … 236 238 float Zero = 1.16 - 0.615 * PAR[PM_PAR_7]; 237 239 240 // Sersic shape is a bit special 238 241 psEllipseMoments emoments; 239 242 emoments.x2 = moments->Mxx; … … 273 276 float Syy = PS_MAX(0.5, shape.sy); 274 277 275 PAR[PM_PAR_SKY] = 0.0;276 PAR[PM_PAR_I0] = peak->flux / Io;277 PAR[PM_PAR_XPOS] = peak->xf;278 PAR[PM_PAR_YPOS] = peak->yf;279 278 PAR[PM_PAR_SXX] = Sxx; 280 279 PAR[PM_PAR_SYY] = Syy; 281 280 PAR[PM_PAR_SXY] = shape.sxy; 281 282 // set the model normalization (adjust for Sersic best guess) 283 if (!pmModelSetNorm(&PAR[PM_PAR_I0], source)) { 284 return false; 285 } 286 PAR[PM_PAR_I0] /= Io; 287 288 // set the model position 289 if (!pmModelSetPosition(&PAR[PM_PAR_XPOS], &PAR[PM_PAR_YPOS], source)) { 290 return false; 291 } 282 292 283 293 return(true); … … 346 356 psF64 radius = axes.major * sqrt (2.0) * pow(zn, 0.5 / PAR[PM_PAR_7]); 347 357 348 // fprintf (stderr, "sersic model %f %f, n %f, radius: %f, zn: %f, f/Io: %f, major: %f\n", PAR[PM_PAR_XPOS], PAR[PM_PAR_YPOS], PAR[PM_PAR_7], radius, zn, flux/PAR[PM_PAR_I0], axes.major); 349 350 psAssert (isfinite(radius), "fix this code: z should not be nan for %f", PAR[PM_PAR_7]); 358 psAssert (isfinite(radius), "fix this code: radius should not be nan for Io = %f, flux = %f, major = %f (%f, %f, %f), par 7 = %f", 359 PAR[PM_PAR_I0], flux, axes.major, PAR[PM_PAR_SXX], PAR[PM_PAR_SXY], PAR[PM_PAR_SYY], PAR[PM_PAR_7]); 351 360 return (radius); 352 361 }
Note:
See TracChangeset
for help on using the changeset viewer.
