Changeset 35769 for trunk/psphot/src/psphotModelTestReadout.c
- Timestamp:
- Jul 3, 2013, 2:43:13 PM (13 years ago)
- Location:
- trunk/psphot
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20130509/psphot (added) merged: 35594,35614,35630-35634,35640-35641,35650-35652,35654-35655,35659,35661,35701,35751
- Property svn:mergeinfo changed
-
trunk/psphot/src
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20130509/psphot/src (added) merged: 35594,35614,35630-35634,35640,35651,35654,35659,35661,35751
- Property svn:mergeinfo changed
-
trunk/psphot/src/psphotModelTestReadout.c
r35559 r35769 161 161 // get the initial model parameter guess 162 162 pmModel *model = pmSourceModelGuess (source, modelType, maskVal, markVal); 163 if (!model) { 164 fprintf (stderr, "failed to generate model guess\n"); 165 exit (2); 166 } 167 163 168 source->modelEXT = model; 164 169 … … 186 191 fprintf (stderr, "guess: %f @ (%f, %f)\n", params[6]*180/M_PI, params[4], params[5]); 187 192 } else { 188 // list model input shape 189 psEllipseShape shape; 190 shape.sx = 1.4 / model->params->data.F32[4]; 191 shape.sy = 1.4 / model->params->data.F32[5]; 192 shape.sxy = model->params->data.F32[6]; 193 axes = psEllipseShapeToAxes (shape, 20.0); 194 fprintf (stderr, "guess: %f @ (%f, %f)\n", axes.theta*180/M_PI, axes.major, axes.minor); 193 bool useReff = pmModelUseReff (modelType); 194 pmModelParamsToAxes (&axes, params[PM_PAR_SXX], params[PM_PAR_SXY], params[PM_PAR_SYY], useReff); 195 fprintf (stderr, "guess: %f @ (%f, %f) : %f\n", axes.theta*180/M_PI, axes.major, axes.minor, params[PM_PAR_SXY]); 195 196 } 196 197 … … 217 218 fitOptions->covarFactor = psImageCovarianceFactorForAperture(readout->covariance, 10.0); // Covariance matrix 218 219 220 bool chisqConvergence = psMetadataLookupBool (&status, recipe, "LMM_FIT_CHISQ_CONVERGENCE"); // Fit tolerance 221 if (!status) chisqConvergence = true; 222 fitOptions->chisqConvergence = chisqConvergence; 223 224 int gainFactorMode = psMetadataLookupS32 (&status, recipe, "LMM_FIT_GAIN_FACTOR_MODE"); // Fit tolerance 225 if (!status) gainFactorMode = 0; 226 fitOptions->gainFactorMode = gainFactorMode; 227 219 228 if (modelType == pmModelClassGetType("PS_MODEL_SERSIC")) { 220 229 fitOptions->mode = PM_SOURCE_FIT_NO_INDEX; … … 231 240 pmSourceModelGuessPCM (pcm, source, maskVal, markVal); 232 241 } 242 243 // if we provide a test guess value we want to use that value! 244 for (int i = 0; i < nParams; i++) { 245 if (i == PM_PAR_XPOS) continue; 246 if (i == PM_PAR_YPOS) continue; 247 248 char name[32]; 249 sprintf (name, "TEST_FIT_PAR%d", i); 250 float value = psMetadataLookupF32 (&status, recipe, name); 251 if (status && isfinite (value)) { 252 params[i] = value; 253 } 254 } 255 233 256 pmPCMupdate(pcm, source, fitOptions, model); 234 257 pmSourceFitPCM (pcm, source, fitOptions, maskVal, markVal, psfSize); … … 258 281 } 259 282 283 if (modelType == pmModelClassGetType("PS_MODEL_TRAIL")) { 284 fprintf (stderr, "result: %f @ (%f, %f)\n", params[6]*180/M_PI, params[4], params[5]); 285 } else { 286 bool useReff = pmModelUseReff (modelType); 287 pmModelParamsToAxes (&axes, params[PM_PAR_SXX], params[PM_PAR_SXY], params[PM_PAR_SYY], useReff); 288 fprintf (stderr, "result: %f @ (%f, %f) : %f\n", axes.theta*180/M_PI, axes.major, axes.minor, params[PM_PAR_SXY]); 289 } 290 260 291 // write out 261 292 psphotSaveImage (NULL, source->pixels, "resid.fits");
Note:
See TracChangeset
for help on using the changeset viewer.
