Changeset 5991
- Timestamp:
- Jan 15, 2006, 8:22:34 AM (20 years ago)
- Location:
- branches/eam_rel9_p0/psModules/src/objects
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_rel9_p0/psModules/src/objects/pmPSF.c
r5987 r5991 6 6 * @author EAM, IfA 7 7 * 8 * @version $Revision: 1.3.4. 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2006-01-1 4 07:03:52$8 * @version $Revision: 1.3.4.3 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-01-15 18:22:34 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 179 179 180 180 /***************************************************************************** 181 pmModelFromPSF (*model FLT, *psf): use the model position parameters to181 pmModelFromPSF (*modelEXT, *psf): use the model position parameters to 182 182 construct a realization of the PSF model at the object coordinates 183 183 *****************************************************************************/ 184 pmModel *pmModelFromPSF (pmModel *model FLT, pmPSF *psf)185 { 186 187 // need to define the relationship between the model FLT and modelPSF ?184 pmModel *pmModelFromPSF (pmModel *modelEXT, pmPSF *psf) 185 { 186 187 // need to define the relationship between the modelEXT and modelPSF ? 188 188 189 189 // find function used to set the model parameters … … 194 194 195 195 // set model parameters for this source based on PSF information 196 modelFromPSFFunc (modelPSF, model FLT, psf);196 modelFromPSFFunc (modelPSF, modelEXT, psf); 197 197 198 198 return (modelPSF); … … 296 296 return false; 297 297 } 298 299 psMetadata *pmPSFtoMD (psMetadata *metadata, pmPSF *psf) 300 { 301 302 if (metadata == NULL) { 303 metadata = psMetadataAlloc (); 304 } 305 306 char *modelName = pmModelGetType (psf->type); 307 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_MODEL_NAME", PS_DATA_STRING, "PSF model name", modelName); 308 309 int nPar = pmModelParameterCount (psf->type) ; 310 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_MODEL_NPAR", PS_DATA_S32, "PSF model parameter count", nPar); 311 312 for (int i = 0; i < nPar - 4; i++) { 313 psPolynomial2D *poly = psf->params->data[i]; 314 psPolynomial2DtoMD (metadata, poly, "PSF_PAR%02d", i); 315 } 316 psPolynomial4DtoMD (metadata, psf->ApTrend, "APTREND"); 317 318 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_AP_RESID", PS_DATA_F32, "aperture residual", psf->ApResid); 319 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_dAP_RESID", PS_DATA_F32, "aperture residual scatter", psf->dApResid); 320 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_SKY_BIAS", PS_DATA_F32, "sky bias level", psf->skyBias); 321 322 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_CHISQ", PS_DATA_F32, "chi-square for fit", psf->chisq); 323 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_NSTARS", PS_DATA_S32, "number of stars used to measure PSF", psf->nPSFstars); 324 325 return metadata; 326 } 327 328 pmPSF *pmPSFfromMD (psMetadata *metadata) 329 { 330 331 bool status; 332 char keyword[80]; 333 334 char *modelName = psMetadataLookupPtr (&status, metadata, "PSF_MODEL_NAME"); 335 pmModelType type = pmModelSetType (modelName); 336 337 pmPSF *psf = pmPSFAlloc (type); 338 339 int nPar = psMetadataLookupS32 (&status, metadata, "PSF_MODEL_NPAR"); 340 if (nPar != pmModelParameterCount (psf->type)) 341 psAbort ("read PSF" , "mismatch model par count"); 342 343 for (int i = 0; i < nPar - 4; i++) { 344 sprintf (keyword, "PSF_PAR%02d", i); 345 psMetadata *folder = psMetadataLookupPtr (&status, metadata, keyword); 346 psPolynomial2D *poly = psPolynomial2DfromMD (folder); 347 psFree (psf->params->data[i]); 348 psf->params->data[i] = poly; 349 } 350 sprintf (keyword, "APTREND"); 351 psMetadata *folder = psMetadataLookupPtr (&status, metadata, keyword); 352 psPolynomial4D *poly = psPolynomial4DfromMD (folder); 353 psFree (psf->ApTrend); 354 psf->ApTrend = poly; 355 356 psf->ApResid = psMetadataLookupF32 (&status, metadata, "PSF_AP_RESID"); 357 psf->dApResid = psMetadataLookupF32 (&status, metadata, "PSF_dAP_RESID"); 358 psf->skyBias = psMetadataLookupF32 (&status, metadata, "PSF_SKY_BIAS"); 359 360 psf->chisq = psMetadataLookupF32 (&status, metadata, "PSF_CHISQ"); 361 psf->nPSFstars = psMetadataLookupS32 (&status, metadata, "PSF_NSTARS"); 362 363 psFree (metadata); 364 return (psf); 365 } -
branches/eam_rel9_p0/psModules/src/objects/pmPSF.h
r5983 r5991 6 6 * @author EAM, IfA 7 7 * 8 * @version $Revision: 1.1.18. 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2006-01-1 4 07:01:27$8 * @version $Revision: 1.1.18.3 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-01-15 18:22:34 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 102 102 103 103 bool pmPSF_MaskApTrend (pmPSF *psf, pmPSF_ApTrendOptions option); 104 psMetadata *pmPSFtoMD (psMetadata *metadata, pmPSF *psf); 105 pmPSF *pmPSFfromMD (psMetadata *metadata); 104 106 105 107 # endif
Note:
See TracChangeset
for help on using the changeset viewer.
