Changeset 32347 for trunk/psModules/src/objects/pmSourceIO_CMF.c.in
- Timestamp:
- Sep 6, 2011, 1:02:53 PM (15 years ago)
- Location:
- trunk/psModules/src/objects
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
pmSourceIO_CMF.c.in (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects
- Property svn:ignore
-
old new 5 5 *.la 6 6 *.lo 7 pmSourceIO_CMF_PS1_V1.c 8 pmSourceIO_CMF_PS1_V2.c 9 pmSourceIO_CMF_PS1_V3.c
-
- Property svn:ignore
-
trunk/psModules/src/objects/pmSourceIO_CMF.c.in
r31670 r32347 55 55 // followed by a zero-size matrix, followed by the table data 56 56 57 // # define MODE @CMFMODE@58 57 bool pmSourcesWrite_CMF_@CMFMODE@ (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, psMetadata *tableHeader, char *extname, psMetadata *recipe) 59 58 { … … 171 170 @=PS1_V3@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_OUTER", PS_DATA_F32, "Kron Flux (in 2.5 R1)", moments.Kouter); 172 171 172 // XXX do not keep this long term, just a TEST: 173 // @=PS1_V3@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_PSF", PS_DATA_F32, "Kron Flux", moments.KronPSF); 174 // @=PS1_V3@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_PSF_SIG",PS_DATA_F32, "Kron Flux", moments.KronPSFErr); 173 175 // Do NOT write these : not consistent with the definition of PS1_V3 in Ohana/src/libautocode/dev/cmf-ps1-v3.d 174 176 // psMetadataAdd (row, PS_LIST_TAIL, "KRON_CORE_FLUX", PS_DATA_F32, "Kron Flux (in 1.0 R1)", moments.KronCore); 175 177 // psMetadataAdd (row, PS_LIST_TAIL, "KRON_CORE_ERROR", PS_DATA_F32, "Kron Error (in 1.0 R1)", moments.KronCoreErr); 178 176 179 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "FLAGS", PS_DATA_U32, "psphot analysis flags", source->mode); 177 180 @=PS1_V3@ psMetadataAdd (row, PS_LIST_TAIL, "FLAGS2", PS_DATA_U32, "psphot analysis flags", source->mode2); … … 222 225 223 226 // read in a readout from the fits file 224 psArray *pmSourcesRead_CMF_ PS1_V3(psFits *fits, psMetadata *header)227 psArray *pmSourcesRead_CMF_@CMFMODE@ (psFits *fits, psMetadata *header) 225 228 { 226 229 PS_ASSERT_PTR_NON_NULL(fits, false); … … 281 284 // XXX use these to determine PAR[PM_PAR_I0]? 282 285 @ALL@ source->psfMag = psMetadataLookupF32 (&status, row, "PSF_INST_MAG"); 283 @ALL@ source->psfMagErr = psMetadataLookupF32 (&status, row, "PSF_INST_MAG_SIG");286 @ALL@ source->psfMagErr = psMetadataLookupF32 (&status, row, "PSF_INST_MAG_SIG"); 284 287 @ALL@ source->apMag = psMetadataLookupF32 (&status, row, "AP_MAG"); 288 @=PS1_V3@ source->apMagRaw = psMetadataLookupF32 (&status, row, "AP_MAG_RAW"); 289 290 // XXX use these to determine PAR[PM_PAR_I0] if they exist? 291 @=PS1_V3@ source->psfFlux = psMetadataLookupF32 (&status, row, "PSF_INST_FLUX"); 292 @=PS1_V3@ source->psfFluxErr= psMetadataLookupF32 (&status, row, "PSF_INST_FLUX_SIG"); 285 293 286 294 // XXX this scaling is incorrect: does not include the 2 \pi AREA factor … … 288 296 @ALL@ dPAR[PM_PAR_I0] = (isfinite(source->psfMag)) ? PAR[PM_PAR_I0] * source->psfMagErr : NAN; 289 297 290 pmPSF_AxesToModel (PAR, axes );298 pmPSF_AxesToModel (PAR, axes, modelType); 291 299 292 300 @ALL@ float peakMag = psMetadataLookupF32 (&status, row, "PEAK_FLUX_AS_MAG"); … … 353 361 } 354 362 355 bool pmSourcesWrite_CMF_ PS1_V3_XSRC (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname, psMetadata *recipe)363 bool pmSourcesWrite_CMF_@CMFMODE@_XSRC (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname, psMetadata *recipe) 356 364 { 357 365 bool status; … … 541 549 542 550 // XXX this layout is still the same as PS1_DEV_1 543 bool pmSourcesWrite_CMF_ PS1_V3_XFIT (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname)551 bool pmSourcesWrite_CMF_@CMFMODE@_XFIT (psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname) 544 552 { 545 553 … … 590 598 assert (model); 591 599 600 // pmSourceExtFitPars *extPars = source->extFitPars->data[j]; 601 // assert (extPars); 602 592 603 // skip models which were not actually fitted 593 604 if (model->flags & PM_MODEL_STATUS_BADARGS) continue; … … 600 611 yErr = dPAR[PM_PAR_YPOS]; 601 612 602 axes = pmPSF_ModelToAxes (PAR, 20.0); 613 axes = pmPSF_ModelToAxes (PAR, 20.0, model->type); 614 615 float kronFlux = source->moments ? source->moments->KronFlux : NAN; 616 float kronMag = isfinite(kronFlux) ? -2.5*log10(kronFlux) : NAN; 603 617 604 618 row = psMetadataAlloc (); … … 612 626 psMetadataAddF32 (row, PS_LIST_TAIL, "EXT_INST_MAG", 0, "EXT fit instrumental magnitude", model->mag); 613 627 psMetadataAddF32 (row, PS_LIST_TAIL, "EXT_INST_MAG_SIG", 0, "Sigma of PSF instrumental magnitude", model->magErr); 628 629 // psMetadataAddF32 (row, PS_LIST_TAIL, "MOMENTS_XX", 0, "second moment in x", extPars->Mxx); 630 // psMetadataAddF32 (row, PS_LIST_TAIL, "MOMENTS_XY", 0, "second moment in x,y", extPars->Mxy); 631 // psMetadataAddF32 (row, PS_LIST_TAIL, "MOMENTS_YY", 0, "second moment in y", extPars->Myy); 632 // psMetadataAddF32 (row, PS_LIST_TAIL, "MOMENTS_R1", 0, "first radial moment", extPars->Mrf); 633 // psMetadataAddF32 (row, PS_LIST_TAIL, "MOMENTS_RH", 0, "half radial moment", extPars->Mrh); 634 635 psMetadataAddF32 (row, PS_LIST_TAIL, "PSF_INST_MAG", 0, "PSF fit instrumental magnitude", source->psfMag); 636 psMetadataAddF32 (row, PS_LIST_TAIL, "AP_MAG", 0, "PSF-sized aperture magnitude", source->apMag); 637 psMetadataAddF32 (row, PS_LIST_TAIL, "KRON_MAG", 0, "Kron Mag", kronMag); 614 638 615 639 psMetadataAddF32 (row, PS_LIST_TAIL, "NPARAMS", 0, "number of model parameters", model->params->n); … … 673 697 } 674 698 675 bool pmSourcesWrite_CMF_ PS1_V3_XRAD(psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname, psMetadata *recipe)699 bool pmSourcesWrite_CMF_@CMFMODE@_XRAD(psFits *fits, pmReadout *readout, psArray *sources, psMetadata *imageHeader, char *extname, psMetadata *recipe) 676 700 { 677 701 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
