Changeset 6859 for branches/rel10_ifa/psModules/src/objects/pmPSF.c
- Timestamp:
- Apr 14, 2006, 11:43:59 AM (20 years ago)
- File:
-
- 1 edited
-
branches/rel10_ifa/psModules/src/objects/pmPSF.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/rel10_ifa/psModules/src/objects/pmPSF.c
r6848 r6859 6 6 * @author EAM, IfA 7 7 * 8 * @version $Revision: 1.4.4. 4$ $Name: not supported by cvs2svn $9 * @date $Date: 2006-04-1 3 06:18:46$8 * @version $Revision: 1.4.4.5 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-04-14 21:43:59 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 309 309 return false; 310 310 } 311 312 psMetadata *pmPSFtoMD (psMetadata *metadata, pmPSF *psf)313 {314 315 if (metadata == NULL) {316 metadata = psMetadataAlloc ();317 }318 319 char *modelName = pmModelGetType (psf->type);320 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_MODEL_NAME", PS_DATA_STRING, "PSF model name", modelName);321 322 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_POISSON_ERRORS", PS_DATA_BOOL, "Poisson errors for fits", psf->poissonErrors);323 324 int nPar = pmModelParameterCount (psf->type) ;325 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_MODEL_NPAR", PS_DATA_S32, "PSF model parameter count", nPar);326 327 for (int i = 0; i < nPar - 4; i++) {328 psPolynomial2D *poly = psf->params->data[i];329 psPolynomial2DtoMD (metadata, poly, "PSF_PAR%02d", i);330 }331 psPolynomial4DtoMD (metadata, psf->ApTrend, "APTREND");332 333 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_AP_RESID", PS_DATA_F32, "aperture residual", psf->ApResid);334 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_dAP_RESID", PS_DATA_F32, "aperture residual scatter", psf->dApResid);335 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_SKY_BIAS", PS_DATA_F32, "sky bias level", psf->skyBias);336 337 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_CHISQ", PS_DATA_F32, "chi-square for fit", psf->chisq);338 psMetadataAdd (metadata, PS_LIST_TAIL, "PSF_NSTARS", PS_DATA_S32, "number of stars used to measure PSF", psf->nPSFstars);339 340 return metadata;341 }342 343 pmPSF *pmPSFfromMD (psMetadata *metadata)344 {345 346 bool status;347 char keyword[80];348 349 char *modelName = psMetadataLookupPtr (&status, metadata, "PSF_MODEL_NAME");350 pmModelType type = pmModelSetType (modelName);351 352 bool poissonErrors = psMetadataLookupPtr (&status, metadata, "PSF_POISSON_ERRORS");353 if (!status)354 poissonErrors = true;355 356 pmPSF *psf = pmPSFAlloc (type, poissonErrors);357 358 int nPar = psMetadataLookupS32 (&status, metadata, "PSF_MODEL_NPAR");359 if (nPar != pmModelParameterCount (psf->type))360 psAbort ("read PSF" , "mismatch model par count");361 362 for (int i = 0; i < nPar - 4; i++) {363 sprintf (keyword, "PSF_PAR%02d", i);364 psMetadata *folder = psMetadataLookupPtr (&status, metadata, keyword);365 psPolynomial2D *poly = psPolynomial2DfromMD (folder);366 psFree (psf->params->data[i]);367 psf->params->data[i] = poly;368 }369 sprintf (keyword, "APTREND");370 psMetadata *folder = psMetadataLookupPtr (&status, metadata, keyword);371 psPolynomial4D *poly = psPolynomial4DfromMD (folder);372 psFree (psf->ApTrend);373 psf->ApTrend = poly;374 375 psf->ApResid = psMetadataLookupF32 (&status, metadata, "PSF_AP_RESID");376 psf->dApResid = psMetadataLookupF32 (&status, metadata, "PSF_dAP_RESID");377 psf->skyBias = psMetadataLookupF32 (&status, metadata, "PSF_SKY_BIAS");378 379 psf->chisq = psMetadataLookupF32 (&status, metadata, "PSF_CHISQ");380 psf->nPSFstars = psMetadataLookupS32 (&status, metadata, "PSF_NSTARS");381 382 psFree (metadata);383 return (psf);384 }
Note:
See TracChangeset
for help on using the changeset viewer.
