Changeset 27431 for trunk/ippToPsps/src/ippToPspsBatchDetection.c
- Timestamp:
- Mar 24, 2010, 11:15:44 AM (16 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/src/ippToPspsBatchDetection.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/src/ippToPspsBatchDetection.c
r27345 r27431 7 7 */ 8 8 9 # include <limits.h>9 #include <limits.h> 10 10 #include "ippToPsps.h" 11 11 #include "ippToPspsConfig.h" 12 #include "ippToPspsDetEnums.h" 12 13 #include "fitsio.h" 13 14 … … 61 62 62 63 // FrameMeta values 63 fits_write_col(this->fitsOut, TLONG, 1, 1, 1, 1, &this->expId, &status);64 fits_write_col(this->fitsOut, TLONG, FRAMEMETA_FRAMEID, 1, 1, 1, &this->expId, &status); 64 65 65 66 int8_t surveyID = 0; // TODO 66 fits_write_col(this->fitsOut, TBYTE, 2, 1, 1, 1, &surveyID, &status);67 fits_write_col(this->fitsOut, TBYTE, FRAMEMETA_SURVEYID, 1, 1, 1, &surveyID, &status); 67 68 68 69 int8_t filterID = -1; 69 70 ippToPspsConfig_getFilterId(this->config, filterType, &filterID); 70 fits_write_col(this->fitsOut, TBYTE, 3, 1, 1, 1, &filterID, &status);71 fits_write_col(this->fitsOut, TBYTE, FRAMEMETA_FILTERID, 1, 1, 1, &filterID, &status); 71 72 72 73 int16_t cameraID = 1; // TODO 73 fits_write_col(this->fitsOut, TSHORT, 4, 1, 1, 1, &cameraID, &status);74 fits_write_col(this->fitsOut, TSHORT, FRAMEMETA_CAMERAID, 1, 1, 1, &cameraID, &status); 74 75 75 76 int16_t cameraConfigID = 1; // TODO 76 fits_write_col(this->fitsOut, TSHORT, 5, 1, 1, 1, &cameraConfigID, &status);77 fits_write_col(this->fitsOut, TSHORT, FRAMEMETA_CAMERACONFIGID, 1, 1, 1, &cameraConfigID, &status); 77 78 78 79 int16_t telescopeID = 1; // TODO 79 fits_write_col(this->fitsOut, TSHORT, 6, 1, 1, 1, &telescopeID, &status);80 fits_write_col(this->fitsOut, TSHORT, FRAMEMETA_TELESCOPEID, 1, 1, 1, &telescopeID, &status); 80 81 81 82 // stuff to keep from psf.hdr header … … 200 201 201 202 202 // TODO check n umSmfDetections< MAXDETECT203 // TODO check nDet < MAXDETECT 203 204 204 205 // create ImageMeta 205 206 ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, 1, "ImageMeta", true); 206 207 psfFwhm = (fwhmMaj+fwhmMin)/2; 207 fits_write_col(this->fitsOut, TLONGLONG, 1, 1, 1, 1, &pspsImageId, &status); // TODO enums for thse col numbers208 fits_write_col(this->fitsOut, TLONG, 2, 1, 1, 1, &this->expId, &status);209 fits_write_col(this->fitsOut, TSHORT, 3, 1, 1, 1, &pImage->ccdnum, &status);210 // fits_write_col(this->fitsOut, TLONG, 4, 1, 1, 1, &pImage->photcode, &status); TODO208 fits_write_col(this->fitsOut, TLONGLONG, IMAGEMETA_IMAGEID, 1, 1, 1, &pspsImageId, &status); // TODO enums for thse col numbers 209 fits_write_col(this->fitsOut, TLONG, IMAGEMETA_FRAMEID, 1, 1, 1, &this->expId, &status); 210 fits_write_col(this->fitsOut, TSHORT, IMAGEMETA_CCDID, 1, 1, 1, &pImage->ccdnum, &status); 211 // fits_write_col(this->fitsOut, TLONG, IMAGEMETA_PHOTOCALID, 1, 1, 1, &pImage->photcode, &status); TODO 211 212 psLogMsg("ippToPsps", PS_LOG_INFO, "photocode %d", pImage->photcode); 212 fits_write_col(this->fitsOut, TBYTE, 5, 1, 1, 1, &filterID, &status);213 fits_write_col(this->fitsOut, TFLOAT, 14, 1, 1, 1, &zptObs, &status);214 fits_write_col(this->fitsOut, TFLOAT, 19, 1, 1, 1, &psfFwhm, &status);215 fits_write_col(this->fitsOut, TFLOAT, 38, 1, 1, 1, &zptObs, &status);213 fits_write_col(this->fitsOut, TBYTE, IMAGEMETA_FILTERID, 1, 1, 1, &filterID, &status); 214 fits_write_col(this->fitsOut, TFLOAT, IMAGEMETA_PHOTOSCAT, 1, 1, 1, &zptObs, &status); 215 fits_write_col(this->fitsOut, TFLOAT, IMAGEMETA_PSFFWHM, 1, 1, 1, &psfFwhm, &status); 216 fits_write_col(this->fitsOut, TFLOAT, IMAGEMETA_PHOTOZERO, 1, 1, 1, &zptObs, &status); 216 217 217 218 // move to detections table in smf … … 223 224 } 224 225 225 long n umSmfDetections= 0;226 if (fits_get_num_rows(fitsIn, &n umSmfDetections, &status)) {226 long nDet = 0; 227 if (fits_get_num_rows(fitsIn, &nDet, &status)) { 227 228 fits_report_error(stderr, status); 228 229 } … … 232 233 233 234 anynull = 0; 234 fits_read_col(fitsIn, TLONG, 1, 1, 1, n umSmfDetections, &longnull, ippIDet, &anynull, &status);235 fits_read_col(fitsIn, TFLOAT, 8, 1, 1, n umSmfDetections, &floatnull, instMag, &anynull, &status);236 fits_read_col(fitsIn, TFLOAT, 9, 1, 1, n umSmfDetections, &floatnull, instMagErr, &anynull, &status);237 fits_read_col(fitsIn, TFLOAT, 12, 1, 1, n umSmfDetections, &floatnull, peakMag, &anynull, &status);235 fits_read_col(fitsIn, TLONG, 1, 1, 1, nDet, &longnull, ippIDet, &anynull, &status); 236 fits_read_col(fitsIn, TFLOAT, 8, 1, 1, nDet, &floatnull, instMag, &anynull, &status); 237 fits_read_col(fitsIn, TFLOAT, 9, 1, 1, nDet, &floatnull, instMagErr, &anynull, &status); 238 fits_read_col(fitsIn, TFLOAT, 12, 1, 1, nDet, &floatnull, peakMag, &anynull, &status); 238 239 239 240 // DVO detections are ordered by IPP_IDET, which increments from 0 in SMF table 240 241 // both DVO detections and smf detections should increment. however, there may be gaps in smf and 'invalid' rows in dvo 241 242 numOfDuplicates = 0; 242 for (long s = 0; s<n umSmfDetections; s++) {243 for (long s = 0; s<nDet; s++) { 243 244 244 245 // count jumps in smf file … … 296 297 297 298 // detections 298 ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, n umSmfDetections, "Detection", false);299 fits_write_col(this->fitsOut, TLONGLONG, 1, 1, 1, numSmfDetections, objID, &status);300 fits_write_col(this->fitsOut, TLONGLONG, 2, 1, 1, numSmfDetections, detectID, &status);301 fits_write_col(this->fitsOut, TLONGLONG, 3, 1, 1, numSmfDetections, ippObjID, &status);302 fits_write_col(this->fitsOut, TLONGLONG, 4, 1, 1, numSmfDetections, ippDetectID, &status);303 fits_write_col(this->fitsOut, TBYTE, 5, 1, 1, numSmfDetections, filterIDs, &status);304 fits_write_col(this->fitsOut, TBYTE, 6, 1, 1, numSmfDetections, surveyIDs, &status);305 fits_write_col(this->fitsOut, TLONGLONG, 7, 1, 1, numSmfDetections, imageID, &status);306 fits_write_col(this->fitsOut, TFLOAT, 8, 1, 1, numSmfDetections, obsTimes, &status);307 fits_write_col(this->fitsOut, TFLOAT, 13, 1, 1, numSmfDetections, instFlux, &status);308 fits_write_col(this->fitsOut, TFLOAT, 14, 1, 1, numSmfDetections, instFluxErr, &status);309 fits_write_col(this->fitsOut, TFLOAT, 15, 1, 1, numSmfDetections, peakFlux, &status);310 fits_write_col(this->fitsOut, TSTRING, 26, 1, 1, numSmfDetections, assocDate, &status);299 ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, nDet, "Detection", false); 300 fits_write_col(this->fitsOut, TLONGLONG, DETECTION_OBJID, 1, 1, nDet, objID, &status); 301 fits_write_col(this->fitsOut, TLONGLONG, DETECTION_DETECTID, 1, 1, nDet, detectID, &status); 302 fits_write_col(this->fitsOut, TLONGLONG, DETECTION_IPPOBJID, 1, 1, nDet, ippObjID, &status); 303 fits_write_col(this->fitsOut, TLONGLONG, DETECTION_IPPDETECTID, 1, 1, nDet, ippDetectID, &status); 304 fits_write_col(this->fitsOut, TBYTE, DETECTION_FILTERID, 1, 1, nDet, filterIDs, &status); 305 fits_write_col(this->fitsOut, TBYTE, DETECTION_SURVEYID, 1, 1, nDet, surveyIDs, &status); 306 fits_write_col(this->fitsOut, TLONGLONG, DETECTION_IMAGEID, 1, 1, nDet, imageID, &status); 307 fits_write_col(this->fitsOut, TFLOAT, DETECTION_OBSTIME, 1, 1, nDet, obsTimes, &status); 308 fits_write_col(this->fitsOut, TFLOAT, DETECTION_INSTFLUX, 1, 1, nDet, instFlux, &status); 309 fits_write_col(this->fitsOut, TFLOAT, DETECTION_INSTFLUXERR, 1, 1, nDet, instFluxErr, &status); 310 fits_write_col(this->fitsOut, TFLOAT, DETECTION_PEAKFLUX, 1, 1, nDet, peakFlux, &status); 311 fits_write_col(this->fitsOut, TSTRING, DETECTION_ASSOCDATE, 1, 1, nDet, assocDate, &status); 311 312 if (numOfDuplicates) fits_delete_rowlist(this->fitsOut, duplicateList, numOfDuplicates, &status); 312 313 313 314 // skinny object 314 ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, n umSmfDetections, "SkinnyObject", false);315 fits_write_col(this->fitsOut, TLONGLONG, 1, 1, 1, numSmfDetections, objID, &status);316 fits_write_col(this->fitsOut, TLONGLONG, 2, 1, 1, numSmfDetections, ippObjID, &status);315 ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, nDet, "SkinnyObject", false); 316 fits_write_col(this->fitsOut, TLONGLONG, SKINNYOBJECT_OBJID, 1, 1, nDet, objID, &status); 317 fits_write_col(this->fitsOut, TLONGLONG, SKINNYOBJECT_IPPOBJID, 1, 1, nDet, ippObjID, &status); 317 318 if (numOfDuplicates) fits_delete_rowlist(this->fitsOut, duplicateList, numOfDuplicates, &status); 318 319 319 320 // object calibration color 320 ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, n umSmfDetections, "ObjectCalColor", false);321 fits_write_col(this->fitsOut, TLONGLONG, 1, 1, 1, numSmfDetections, objID, &status);322 fits_write_col(this->fitsOut, TLONGLONG, 2, 1, 1, numSmfDetections, ippObjID, &status);323 fits_write_col(this->fitsOut, TBYTE, 3, 1, 1, numSmfDetections, filterIDs, &status);321 ippToPspsConfig_writeTable(this->config, fitsIn, this->fitsOut, nDet, "ObjectCalColor", false); 322 fits_write_col(this->fitsOut, TLONGLONG, OBJECTCALCOLOR_OBJID, 1, 1, nDet, objID, &status); 323 fits_write_col(this->fitsOut, TLONGLONG, OBJECTCALCOLOR_IPPOBJID, 1, 1, nDet, ippObjID, &status); 324 fits_write_col(this->fitsOut, TBYTE, OBJECTCALCOLOR_FILTERID, 1, 1, nDet, filterIDs, &status); 324 325 if (numOfDuplicates) fits_delete_rowlist(this->fitsOut, duplicateList, numOfDuplicates, &status); 325 326 … … 329 330 "| %s | %5ld | %5ld | %5d | %5d |\n" 330 331 "|___________|_________|__________|__________________|_______________|\n", 331 extensionName, n umSmfDetections, numDetectionsOut, unmatched, numOfDuplicates);332 extensionName, nDet, numDetectionsOut, unmatched, numOfDuplicates); 332 333 333 334 if (dvoDetections!= NULL) dvoFree(dvoDetections);
Note:
See TracChangeset
for help on using the changeset viewer.
