Changeset 34381
- Timestamp:
- Sep 4, 2012, 6:01:04 AM (14 years ago)
- Location:
- branches/eam_branches/ipp-20120805/psModules/src/objects
- Files:
-
- 4 edited
-
Makefile.am (modified) (1 diff)
-
mksource.pl (modified) (6 diffs)
-
pmSourceIO_CMF.c.in (modified) (12 diffs)
-
pmSourceOutputs.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20120805/psModules/src/objects/Makefile.am
r34375 r34381 162 162 mksource.pl pmSourceIO_CMF.c.in PS1_SV1 pmSourceIO_CMF_PS1_SV1.c 163 163 164 pmSourceIO_CMF_PS1_SV2.c : pmSourceIO_CMF.c.in mksource.pl 165 mksource.pl pmSourceIO_CMF.c.in PS1_SV2 pmSourceIO_CMF_PS1_SV2.c 166 164 167 # EXTRA_DIST = pmErrorCodes.h.in pmErrorCodes.dat pmErrorCodes.c.in -
branches/eam_branches/ipp-20120805/psModules/src/objects/mksource.pl
r34259 r34381 14 14 # validate the cmfmode 15 15 16 # see if we can add in PS1_DV* and PS1_SV* as well... 17 %cmfmodes = ("PS1_V1", 1, 18 "PS1_V2", 2, 19 "PS1_V3", 3, 20 "PS1_V4", 4, 16 # keep the series (V1,SV1,DV1) separate) 17 %cmfmodes_v = ("PS1_V1", 1, 18 "PS1_V2", 2, 19 "PS1_V3", 3, 20 "PS1_V4", 4, 21 ); 22 %cmfmodes_dv = ("PS1_DV1", 1, 23 "PS1_DV2", 2, 24 "PS1_DV3", 3, 25 ); 26 %cmfmodes_sv = ("PS1_SV1", 1, 27 "PS1_SV2", 2, 21 28 ); 22 29 … … 118 125 if ($rule =~ m|^>=|) { 119 126 print ">= rule: $rule\n" if $DEBUG; 120 if ($cmfmodes{$cmfmode} == 0) { next; }127 # find the cmfmode series (v, dv, sv) 121 128 $realrule = substr($rule,2); 122 $thisLevel = $cmfmodes{$realrule}; 123 $myLevel = $cmfmodes{$cmfmode}; 129 %series = &cmf_series ($realrule); 130 if (! %series) { next; } 131 if ($series{$cmfmode} == 0) { next; } 132 $thisLevel = $series{$realrule}; 133 $myLevel = $series{$cmfmode}; 124 134 print "levels: $cmfmode, $realrule, $myLevel, $thisLevel\n" if $DEBUG; 125 135 if ($myLevel >= $thisLevel) { $keepLine = 1; } … … 130 140 if ($rule =~ m|^>|) { 131 141 print "> rule: $rule\n" if $DEBUG; 132 if ($cmfmodes{$cmfmode} == 0) { next; }142 # find the cmfmode series (v, dv, sv) 133 143 $realrule = substr($rule,1); 134 $thisLevel = $cmfmodes{$realrule}; 135 $myLevel = $cmfmodes{$cmfmode}; 144 %series = &cmf_series ($realrule); 145 if (! %series) { next; } 146 if ($series{$cmfmode} == 0) { next; } 147 $thisLevel = $series{$realrule}; 148 $myLevel = $series{$cmfmode}; 136 149 print "levels: $cmfmode, $realrule, $myLevel, $thisLevel\n" if $DEBUG; 137 150 if ($myLevel > $thisLevel) { $keepLine = 1; } … … 142 155 if ($rule =~ m|^<=|) { 143 156 print "<= rule: $rule\n" if $DEBUG; 144 if ($cmfmodes{$cmfmode} == 0) { next; }157 # find the cmfmode series (v, dv, sv) 145 158 $realrule = substr($rule,2); 146 $thisLevel = $cmfmodes{$realrule}; 147 $myLevel = $cmfmodes{$cmfmode}; 159 %series = &cmf_series ($realrule); 160 if (! %series) { next; } 161 if ($series{$cmfmode} == 0) { next; } 162 $thisLevel = $series{$realrule}; 163 $myLevel = $series{$cmfmode}; 148 164 print "levels: $cmfmode, $realrule, $myLevel, $thisLevel\n" if $DEBUG; 149 165 if ($myLevel <= $thisLevel) { $keepLine = 1; } … … 154 170 if ($rule =~ m|^<|) { 155 171 print "< rule: $rule\n" if $DEBUG; 156 if ($cmfmodes{$cmfmode} == 0) { next; }172 # find the cmfmode series (v, dv, sv) 157 173 $realrule = substr($rule,1); 158 $thisLevel = $cmfmodes{$realrule}; 159 $myLevel = $cmfmodes{$cmfmode}; 174 %series = &cmf_series ($realrule); 175 if (! %series) { next; } 176 if ($series{$cmfmode} == 0) { next; } 177 $thisLevel = $series{$realrule}; 178 $myLevel = $series{$cmfmode}; 160 179 print "levels: $cmfmode, $realrule, $myLevel, $thisLevel\n" if $DEBUG; 161 180 if ($myLevel < $thisLevel) { $keepLine = 1; } … … 174 193 175 194 exit 0; 195 196 sub cmf_series { 197 198 my ($rule) = $_[0]; 199 200 if ($cmfmodes_v{$rule}) { return %cmfmodes_v; } 201 if ($cmfmodes_sv{$rule}) { return %cmfmodes_sv; } 202 if ($cmfmodes_dv{$rule}) { return %cmfmodes_dv; } 203 return 0; 204 } -
branches/eam_branches/ipp-20120805/psModules/src/objects/pmSourceIO_CMF.c.in
r34379 r34381 136 136 @ALL,!PS1_V1,!PS1_V2@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_INST_FLUX_SIG",PS_DATA_F32, "Sigma of PSF instrumental flux", source->psfFluxErr); 137 137 138 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG", PS_DATA_F32, "magnitude in standard aperture", source->apMag);139 @>PS1_V2,PS1_SV 1,PS1_DV2@psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RAW", PS_DATA_F32, "magnitude in reported aperture", source->apMagRaw);140 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RADIUS", PS_DATA_F32, "radius used for aperture mags", outputs.apRadius);141 @ PS1_DV2@psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX", PS_DATA_F32, "instrumental flux in standard aperture", source->apFlux);142 @ PS1_DV2@psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX_SIG", PS_DATA_F32, "aperture flux error", source->apFluxErr);143 144 @<PS1_V3,PS1_SV 1,PS1_DV?@ psMetadataAdd (row, PS_LIST_TAIL, "PEAK_FLUX_AS_MAG", PS_DATA_F32, "Peak flux expressed as magnitude", outputs.peakMag);138 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG", PS_DATA_F32, "magnitude in standard aperture", source->apMag); 139 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RAW", PS_DATA_F32, "magnitude in reported aperture", source->apMagRaw); 140 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "AP_MAG_RADIUS", PS_DATA_F32, "radius used for aperture mags", outputs.apRadius); 141 @>PS1_DV1,>PS1_V3,>PS1_SV1@ psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX", PS_DATA_F32, "instrumental flux in standard aperture", source->apFlux); 142 @>PS1_DV1,>PS1_V3,>PS1_SV1@ psMetadataAdd (row, PS_LIST_TAIL, "AP_FLUX_SIG", PS_DATA_F32, "aperture flux error", source->apFluxErr); 143 144 @<PS1_V3,PS1_SV?,PS1_DV?@ psMetadataAdd (row, PS_LIST_TAIL, "PEAK_FLUX_AS_MAG", PS_DATA_F32, "Peak flux expressed as magnitude", outputs.peakMag); 145 145 146 146 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "CAL_PSF_MAG", PS_DATA_F32, "PSF Magnitude using supplied calibration", outputs.calMag); … … 163 163 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_THETA", PS_DATA_F32, "PSF orientation angle", outputs.psfTheta); 164 164 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_QF", PS_DATA_F32, "PSF coverage/quality factor (bad)", source->pixWeightNotBad); 165 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_QF_PERFECT", PS_DATA_F32, "PSF coverage/quality factor (poor)", source->pixWeightNotPoor);165 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_QF_PERFECT", PS_DATA_F32, "PSF coverage/quality factor (poor)", source->pixWeightNotPoor); 166 166 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_NDOF", PS_DATA_S32, "degrees of freedom", outputs.nDOF); 167 167 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "PSF_NPIX", PS_DATA_S32, "number of pixels in fit", outputs.nPix); … … 171 171 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_YY", PS_DATA_F32, "second moments (Y*Y)", moments.Myy); 172 172 173 @>PS1_V2,PS1_SV 1@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M3C", PS_DATA_F32, "third momemt cos theta", moments.M_c3);174 @>PS1_V2,PS1_SV 1@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M3S", PS_DATA_F32, "third momemt sin theta", moments.M_s3);175 @>PS1_V2,PS1_SV 1@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M4C", PS_DATA_F32, "fourth momemt cos theta", moments.M_c4);176 @>PS1_V2,PS1_SV 1@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M4S", PS_DATA_F32, "fourth momemt sin theta", moments.M_s4);177 178 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_R1", PS_DATA_F32, "first radial moment", moments.Mrf);179 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_RH", PS_DATA_F32, "half radial moment", moments.Mrh);180 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX", PS_DATA_F32, "Kron Flux (in 2.5 R1)", moments.Krf);181 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_ERR", PS_DATA_F32, "Kron Flux Error", moments.dKrf);182 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_INNER", PS_DATA_F32, "Kron Flux (in 1.0 R1)", moments.Kinner);183 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_OUTER", PS_DATA_F32, "Kron Flux (in 4.0 R1)", moments.Kouter);173 @>PS1_V2,PS1_SV?@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M3C", PS_DATA_F32, "third momemt cos theta", moments.M_c3); 174 @>PS1_V2,PS1_SV?@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M3S", PS_DATA_F32, "third momemt sin theta", moments.M_s3); 175 @>PS1_V2,PS1_SV?@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M4C", PS_DATA_F32, "fourth momemt cos theta", moments.M_c4); 176 @>PS1_V2,PS1_SV?@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_M4S", PS_DATA_F32, "fourth momemt sin theta", moments.M_s4); 177 178 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_R1", PS_DATA_F32, "first radial moment", moments.Mrf); 179 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "MOMENTS_RH", PS_DATA_F32, "half radial moment", moments.Mrh); 180 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX", PS_DATA_F32, "Kron Flux (in 2.5 R1)", moments.Krf); 181 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_ERR", PS_DATA_F32, "Kron Flux Error", moments.dKrf); 182 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_INNER", PS_DATA_F32, "Kron Flux (in 1.0 R1)", moments.Kinner); 183 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "KRON_FLUX_OUTER", PS_DATA_F32, "Kron Flux (in 4.0 R1)", moments.Kouter); 184 184 185 185 @>PS1_V3@ psMetadataAdd (row, PS_LIST_TAIL, "SKY_LIMIT_RAD", PS_DATA_F32, "Radius where object hits sky", source->skyRadius); … … 198 198 @PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "DIFF_SN_M", PS_DATA_F32, "signal-to-noise of neg match src", diffStats.SNm); 199 199 200 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "FLAGS", PS_DATA_U32, "psphot analysis flags", source->mode);201 @>PS1_V2,PS1_SV 1,PS1_DV2@ psMetadataAdd (row, PS_LIST_TAIL, "FLAGS2", PS_DATA_U32, "psphot analysis flags", source->mode2);202 @>PS1_V2@ psMetadataAdd (row, PS_LIST_TAIL, "PADDING2", PS_DATA_S32, "more padding", 0);203 @PS1_SV 1@200 @ALL@ psMetadataAdd (row, PS_LIST_TAIL, "FLAGS", PS_DATA_U32, "psphot analysis flags", source->mode); 201 @>PS1_V2,PS1_SV?,>PS1_DV1@ psMetadataAdd (row, PS_LIST_TAIL, "FLAGS2", PS_DATA_U32, "psphot analysis flags", source->mode2); 202 @>PS1_V2@ psMetadataAdd (row, PS_LIST_TAIL, "PADDING2", PS_DATA_S32, "more padding", 0); 203 @PS1_SV?@ 204 204 205 205 // note that this definition is inconsistent with the definition in … … 316 316 @ALL@ source->psfMagErr = psMetadataLookupF32 (&status, row, "PSF_INST_MAG_SIG"); 317 317 @ALL@ source->apMag = psMetadataLookupF32 (&status, row, "AP_MAG"); 318 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->apMagRaw = psMetadataLookupF32 (&status, row, "AP_MAG_RAW");318 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->apMagRaw = psMetadataLookupF32 (&status, row, "AP_MAG_RAW"); 319 319 320 320 // XXX use these to determine PAR[PM_PAR_I0] if they exist? 321 321 // XXX add these to PS1_SV1? 322 @>PS1_V2,PS1_SV 1,PS1_DV?@ source->psfFlux = psMetadataLookupF32 (&status, row, "PSF_INST_FLUX");323 @>PS1_V2,PS1_SV 1,PS1_DV?@ source->psfFluxErr= psMetadataLookupF32 (&status, row, "PSF_INST_FLUX_SIG");322 @>PS1_V2,PS1_SV?,PS1_DV?@ source->psfFlux = psMetadataLookupF32 (&status, row, "PSF_INST_FLUX"); 323 @>PS1_V2,PS1_SV?,PS1_DV?@ source->psfFluxErr= psMetadataLookupF32 (&status, row, "PSF_INST_FLUX_SIG"); 324 324 325 325 // XXX this scaling is incorrect: does not include the 2 \pi AREA factor … … 342 342 343 343 @ALL@ source->pixWeightNotBad = psMetadataLookupF32 (&status, row, "PSF_QF"); 344 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->pixWeightNotPoor = psMetadataLookupF32 (&status, row, "PSF_QF_PERFECT");344 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->pixWeightNotPoor = psMetadataLookupF32 (&status, row, "PSF_QF_PERFECT"); 345 345 @ALL@ source->crNsigma = psMetadataLookupF32 (&status, row, "CR_NSIGMA"); 346 346 @ALL@ source->extNsigma = psMetadataLookupF32 (&status, row, "EXT_NSIGMA"); … … 362 362 // XXX we do not save all of the 3rd and 4th moment parameters. when we load in data, 363 363 // we are storing enough information so the output will be consistent with the input 364 @>PS1_V2,PS1_SV 1@ source->moments->Mxxx = +1.0 * psMetadataLookupF32 (&status, row, "MOMENTS_M3C");365 @>PS1_V2,PS1_SV 1@ source->moments->Mxxy = 0.0;366 @>PS1_V2,PS1_SV 1@ source->moments->Mxyy = 0.0;367 @>PS1_V2,PS1_SV 1@ source->moments->Myyy = -1.0 * psMetadataLookupF32 (&status, row, "MOMENTS_M3S");368 369 @>PS1_V2,PS1_SV 1@ source->moments->Mxxxx = +1.00 * psMetadataLookupF32 (&status, row, "MOMENTS_M4C");370 @>PS1_V2,PS1_SV 1@ source->moments->Mxxxy = 0.0;371 @>PS1_V2,PS1_SV 1@ source->moments->Mxxyy = 0.0;372 @>PS1_V2,PS1_SV 1@ source->moments->Mxyyy = -0.25 * psMetadataLookupF32 (&status, row, "MOMENTS_M4S");373 @>PS1_V2,PS1_SV 1@ source->moments->Myyyy = 0.0;374 375 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->moments->Mrf = psMetadataLookupF32 (&status, row, "MOMENTS_R1");376 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->moments->Mrh = psMetadataLookupF32 (&status, row, "MOMENTS_RH");377 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->moments->KronFlux = psMetadataLookupF32 (&status, row, "KRON_FLUX");378 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->moments->KronFluxErr = psMetadataLookupF32 (&status, row, "KRON_FLUX_ERR");379 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->moments->KronFinner = psMetadataLookupF32 (&status, row, "KRON_FLUX_INNER");380 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->moments->KronFouter = psMetadataLookupF32 (&status, row, "KRON_FLUX_OUTER");364 @>PS1_V2,PS1_SV?@ source->moments->Mxxx = +1.0 * psMetadataLookupF32 (&status, row, "MOMENTS_M3C"); 365 @>PS1_V2,PS1_SV?@ source->moments->Mxxy = 0.0; 366 @>PS1_V2,PS1_SV?@ source->moments->Mxyy = 0.0; 367 @>PS1_V2,PS1_SV?@ source->moments->Myyy = -1.0 * psMetadataLookupF32 (&status, row, "MOMENTS_M3S"); 368 369 @>PS1_V2,PS1_SV?@ source->moments->Mxxxx = +1.00 * psMetadataLookupF32 (&status, row, "MOMENTS_M4C"); 370 @>PS1_V2,PS1_SV?@ source->moments->Mxxxy = 0.0; 371 @>PS1_V2,PS1_SV?@ source->moments->Mxxyy = 0.0; 372 @>PS1_V2,PS1_SV?@ source->moments->Mxyyy = -0.25 * psMetadataLookupF32 (&status, row, "MOMENTS_M4S"); 373 @>PS1_V2,PS1_SV?@ source->moments->Myyyy = 0.0; 374 375 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->moments->Mrf = psMetadataLookupF32 (&status, row, "MOMENTS_R1"); 376 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->moments->Mrh = psMetadataLookupF32 (&status, row, "MOMENTS_RH"); 377 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->moments->KronFlux = psMetadataLookupF32 (&status, row, "KRON_FLUX"); 378 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->moments->KronFluxErr = psMetadataLookupF32 (&status, row, "KRON_FLUX_ERR"); 379 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->moments->KronFinner = psMetadataLookupF32 (&status, row, "KRON_FLUX_INNER"); 380 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->moments->KronFouter = psMetadataLookupF32 (&status, row, "KRON_FLUX_OUTER"); 381 381 382 382 @>PS1_V3@ source->skyRadius = psMetadataLookupF32 (&status, row, "SKY_LIMIT_RAD"); … … 393 393 @PS1_DV?@ source->diffStats->nRatioAll = psMetadataLookupF32 (&status, row, "DIFF_NRATIO_ALL"); 394 394 395 @ PS1_DV2@ source->diffStats->Rp = psMetadataLookupF32 (&status, row, "DIFF_R_P");396 @ PS1_DV2@ source->diffStats->SNp = psMetadataLookupF32 (&status, row, "DIFF_SN_P");397 @ PS1_DV2@ source->diffStats->Rm = psMetadataLookupF32 (&status, row, "DIFF_R_M");398 @ PS1_DV2@ source->diffStats->SNm = psMetadataLookupF32 (&status, row, "DIFF_SN_M");395 @>PS1_DV1@ source->diffStats->Rp = psMetadataLookupF32 (&status, row, "DIFF_R_P"); 396 @>PS1_DV1@ source->diffStats->SNp = psMetadataLookupF32 (&status, row, "DIFF_SN_P"); 397 @>PS1_DV1@ source->diffStats->Rm = psMetadataLookupF32 (&status, row, "DIFF_R_M"); 398 @>PS1_DV1@ source->diffStats->SNm = psMetadataLookupF32 (&status, row, "DIFF_SN_M"); 399 399 @PS1_DV?@ } 400 400 401 401 @ALL@ source->mode = psMetadataLookupU32 (&status, row, "FLAGS"); 402 @>PS1_V2,PS1_SV 1,PS1_DV2@ source->mode2 = psMetadataLookupU32 (&status, row, "FLAGS2");402 @>PS1_V2,PS1_SV?,>PS1_DV1@ source->mode2 = psMetadataLookupU32 (&status, row, "FLAGS2"); 403 403 assert (status); 404 404 … … 734 734 } 735 735 736 @ PS1_DV3@ pmChip *chip = readout->parent->parent;736 @>PS1_DV2@ pmChip *chip = readout->parent->parent; 737 737 738 738 table = psArrayAllocEmpty (sources->n); … … 769 769 yErr = dPAR[PM_PAR_YPOS]; 770 770 771 @ PS1_DV3@ psSphere ptSky = {0.0, 0.0, 0.0, 0.0};772 @ PS1_DV3@ float posAngle = 0.0;773 @ PS1_DV3@ float pltScale = 0.0;774 @ PS1_DV3@ pmSourceLocalAstrometry (&ptSky, &posAngle, &pltScale, chip, xPos, yPos);775 @ PS1_DV3@ double raPos = ptSky.r*PS_DEG_RAD;776 @ PS1_DV3@ double decPos = ptSky.d*PS_DEG_RAD;771 @>PS1_DV2@ psSphere ptSky = {0.0, 0.0, 0.0, 0.0}; 772 @>PS1_DV2@ float posAngle = 0.0; 773 @>PS1_DV2@ float pltScale = 0.0; 774 @>PS1_DV2@ pmSourceLocalAstrometry (&ptSky, &posAngle, &pltScale, chip, xPos, yPos); 775 @>PS1_DV2@ double raPos = ptSky.r*PS_DEG_RAD; 776 @>PS1_DV2@ double decPos = ptSky.d*PS_DEG_RAD; 777 777 778 778 float kronFlux = source->moments ? source->moments->KronFlux : NAN; … … 787 787 psMetadataAddF32 (row, PS_LIST_TAIL, "X_EXT_SIG", 0, "Sigma in EXT x coordinate", xErr); 788 788 psMetadataAddF32 (row, PS_LIST_TAIL, "Y_EXT_SIG", 0, "Sigma in EXT y coordinate", yErr); 789 @ PS1_DV3@ psMetadataAddF32 (row, PS_LIST_TAIL, "RA_EXT", 0, "EXT model ra coordinate", raPos);790 @ PS1_DV3@ psMetadataAddF32 (row, PS_LIST_TAIL, "DEC_EXT", 0, "EXT model dec coordinate", decPos);789 @>PS1_DV2@ psMetadataAddF32 (row, PS_LIST_TAIL, "RA_EXT", 0, "EXT model ra coordinate", raPos); 790 @>PS1_DV2@ psMetadataAddF32 (row, PS_LIST_TAIL, "DEC_EXT", 0, "EXT model dec coordinate", decPos); 791 791 psMetadataAddF32 (row, PS_LIST_TAIL, "EXT_INST_MAG", 0, "EXT fit instrumental magnitude", model->mag); 792 792 psMetadataAddF32 (row, PS_LIST_TAIL, "EXT_INST_MAG_SIG", 0, "Sigma of PSF instrumental magnitude", model->magErr); 793 794 @>PS1_DV2@ psMetadataAddF32 (row, PS_LIST_TAIL, "POSANGLE", 0, "position angle at source (degrees)", posAngle); 795 @>PS1_DV2@ psMetadataAddF32 (row, PS_LIST_TAIL, "PLTSCALE", 0, "plate scale at source (arcsec/pixel)", pltScale); 793 796 794 797 // psMetadataAddF32 (row, PS_LIST_TAIL, "MOMENTS_XX", 0, "second moment in x", extPars->Mxx); … … 802 805 psMetadataAddF32 (row, PS_LIST_TAIL, "KRON_MAG", 0, "Kron Mag", kronMag); 803 806 804 @ALL, !PS1_DV3@ psMetadataAddF32 (row, PS_LIST_TAIL, "NPARAMS", 0, "number of model parameters", model->params->n);805 @ PS1_DV3@ psMetadataAddS32 (row, PS_LIST_TAIL, "NPARAMS", 0, "number of model parameters", model->params->n);807 @ALL, <PS1_DV3@ psMetadataAddF32 (row, PS_LIST_TAIL, "NPARAMS", 0, "number of model parameters", model->params->n); 808 @>PS1_DV2@ psMetadataAddS32 (row, PS_LIST_TAIL, "NPARAMS", 0, "number of model parameters", model->params->n); 806 809 psMetadataAddStr (row, PS_LIST_TAIL, "MODEL_TYPE", 0, "name of model", pmModelClassGetName (model->type)); 807 810 -
branches/eam_branches/ipp-20120805/psModules/src/objects/pmSourceOutputs.c
r34376 r34381 227 227 *pltScale = 0.5*(pltScale_x + pltScale_y); 228 228 229 float crossProduct = dTPx_dCHx * dTPy_dCHy - dTPx_dCHy * dTPy_dCHx; 230 if (crossProduct > 0.) { 231 *pltScale *= -1.0; 232 } 233 229 234 float posAngle_x = atan2 (+dTPy_dCHx, +dTPx_dCHx); 230 235 float posAngle_y = atan2 (-dTPy_dCHy, +dTPx_dCHy);
Note:
See TracChangeset
for help on using the changeset viewer.
