Changeset 28698
- Timestamp:
- Jul 22, 2010, 3:17:49 PM (16 years ago)
- Location:
- trunk/ippToPsps
- Files:
-
- 7 added
- 1 deleted
- 1 edited
-
perl (added)
-
perl/ippToPsps (added)
-
perl/ippToPsps/Gpc1Db.pm (added)
-
perl/ippToPsps/IppToPsps.pm (added)
-
perl/ippToPsps/IppToPspsDb.pm (added)
-
perl/ippToPsps/MySQLDb.pm (added)
-
perl/ippToPsps_run.pl (added)
-
scripts/ippToPsps_run.pl (deleted)
-
src/ippToPspsBatchDetection.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/src/ippToPspsBatchDetection.c
r28589 r28698 14 14 15 15 // Gets uncalibrated instrumental flux from magnitude 16 static __inline bool ippToPsps_getFlux(const float zeroPoint, const float exposureTime, const float magnitude, float* flux) {16 static __inline bool ippToPsps_getFlux(const float exposureTime, const float magnitude, float* flux, const float magnitudeErr, float* fluxErr) { 17 17 18 18 *flux = powf(10.0, -0.4*magnitude) / exposureTime; 19 if (fluxErr) *fluxErr = (magnitudeErr * *flux)/1.085736; 20 //if (fluxErr) printf("Mag = %03.03f, Flux = %03.03f, Mag err = %03.03f, Flux Err = %03.03f\n", magnitude, *flux, magnitudeErr, *fluxErr); 19 21 return (!isfinite(*flux) || *flux < 0.000001) ? false : true; 20 22 } … … 46 48 fits_get_hdrspace(fitsIn, &nKeys, NULL, &status); 47 49 48 float zptObs, zeroPoint,exposureTime;50 float zptObs, exposureTime; 49 51 char filterType[20]; 50 52 double obsTime; … … 52 54 double expTime; 53 55 status=0; fits_read_key(fitsIn, TFLOAT, "ZPT_OBS", &zptObs, NULL, &status); 54 status=0; fits_read_key(fitsIn, TFLOAT, "ZPT_REF", &zeroPoint, NULL, &status);55 56 status=0; fits_read_key(fitsIn, TFLOAT, "EXPREQ", &exposureTime, NULL, &status); 56 57 status=0; fits_read_key(fitsIn, TSTRING, "FILTERID", filterType, NULL, &status); … … 138 139 long removeList[MAXDETECT]; 139 140 long thisObjId; 140 bool firstTimeIn = true ;141 bool firstTimeIn = true, peakFluxOk, instFluxOk; 141 142 int ippIDetNum, instMagNum, instMagErrNum, peakMagNum; 142 143 143 144 // loop round all 60 chips 144 for (int x= 0; x<8; x++) {145 for (int y= 0; y<8; y++) {145 for (int x=3; x<4; x++) { 146 for (int y=3; y<4; y++) { 146 147 147 148 // dodge the corners … … 293 294 obsTimes[s] = obsTime; 294 295 295 ippToPsps_getFlux(zeroPoint, exposureTime, instMagErr[s], &instFluxErr[s]); 296 // ippToPsps_getFlux(exposureTime, instMagErr[s], &instFluxErr[s]); 297 298 // calculate flux and flux errors from magnitudes 299 peakFluxOk = ippToPsps_getFlux(exposureTime, peakMag[s], &peakFlux[s], 0.0, NULL); 300 instFluxOk = ippToPsps_getFlux(exposureTime, instMag[s], &instFlux[s], instMagErr[s], &instFluxErr[s]); 296 301 297 302 // check for invalid flux values (if not already labelled as a duplicate) 298 if ((!ippToPsps_getFlux(zeroPoint, exposureTime, peakMag[s], &peakFlux[s]) || 299 !ippToPsps_getFlux(zeroPoint, exposureTime, instMag[s], &instFlux[s])) && !isDuplicate) { 303 if ( (!peakFluxOk || !instFluxOk) && !isDuplicate) { 300 304 removeList[numOfDuplicates+numInvalidFlux] = s+1; 301 305 numInvalidFlux++;
Note:
See TracChangeset
for help on using the changeset viewer.
