- Timestamp:
- Jul 29, 2014, 9:52:00 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20140717/ippToPsps/jython/detectionbatch.py
r37129 r37133 125 125 sqlLine = sqlUtility("INSERT INTO FrameMeta (") 126 126 127 # sqlLine.group("p1Recip", ' '); 128 # sqlLine.group("p2Recip", ' '); 129 # sqlLine.group("p3Recip", ' '); 130 127 131 sqlLine.group("frameID", str(self.expID)); 128 132 sqlLine.group("frameName", self.expName); … … 130 134 sqlLine.group("cameraConfigID", "1"); 131 135 sqlLine.group("telescopeID", "1"); 132 sqlLine.group("analysisVer", str(self.analysisVer)); 133 sqlLine.group("p1Recip", " "); 134 sqlLine.group("p2Recip", " "); 135 sqlLine.group("p3Recip", " "); 136 sqlLine.group("photoScat", "self.safeDictionaryAccess(self.header, 'ZPT_ERR')"); 137 sqlLine.group("expStart", "self.safeDictionaryAccess(self.header, 'MJD-OBS')"); 138 sqlLine.group("expTime", "self.safeDictionaryAccess(self.header, 'EXPREQ')"); 139 sqlLine.group("airmass", "self.safeDictionaryAccess(self.header, 'AIRMASS')"); 140 sqlLine.group("raBore", "self.safeDictionaryAccess(self.header, 'RA')"); 141 sqlLine.group("decBore", "self.safeDictionaryAccess(self.header, 'DEC')"); 142 sqlLine.group("ctype1", self.safeDictionaryAccess(self.header, 'CTYPE1')); 143 sqlLine.group("ctype2", self.safeDictionaryAccess(self.header, 'CTYPE2')); 144 sqlLine.group("crval1", "self.safeDictionaryAccess(self.header, 'CRVAL1')"); 145 sqlLine.group("crval2", "self.safeDictionaryAccess(self.header, 'CRVAL2')"); 146 sqlLine.group("crpix1", "self.safeDictionaryAccess(self.header, 'CRPIX1')"); 147 sqlLine.group("crpix2", "self.safeDictionaryAccess(self.header, 'CRPIX2')"); 148 sqlLine.group("cdelt1", "self.safeDictionaryAccess(self.header, 'CDELT1')"); 149 sqlLine.group("cdelt2", "self.safeDictionaryAccess(self.header, 'CDELT2')"); 150 sqlLine.group("pc001001", "self.safeDictionaryAccess(self.header, 'PC001001')"); 151 sqlLine.group("pc001002", "self.safeDictionaryAccess(self.header, 'PC001002')"); 152 sqlLine.group("pc002001", "self.safeDictionaryAccess(self.header, 'PC002001')"); 153 sqlLine.group("pc002002", "self.safeDictionaryAccess(self.header, 'PC002002')"); 154 sqlLine.group("polyOrder", "self.safeDictionaryAccess(self.header, 'NPLYTERM')"); 155 sqlLine.group("pca1x3y0", "self.safeDictionaryAccess(self.header, 'PCA1X3Y0')"); 156 sqlLine.group("pca1x2y1", "self.safeDictionaryAccess(self.header, 'PCA1X2Y1')"); 157 sqlLine.group("pca1x1y2", "self.safeDictionaryAccess(self.header, 'PCA1X1Y2')"); 158 sqlLine.group("pca1x0y3", "self.safeDictionaryAccess(self.header, 'PCA1X0Y3')"); 159 sqlLine.group("pca1x2y0", "self.safeDictionaryAccess(self.header, 'PCA1X2Y0')"); 160 sqlLine.group("pca1x1y1", "self.safeDictionaryAccess(self.header, 'PCA1X1Y1')"); 161 sqlLine.group("pca1x0y2", "self.safeDictionaryAccess(self.header, 'PCA1X0Y2')"); 162 sqlLine.group("pca2x3y0", "self.safeDictionaryAccess(self.header, 'PCA2X3Y0')"); 163 sqlLine.group("pca2x2y1", "self.safeDictionaryAccess(self.header, 'PCA2X2Y1')"); 164 sqlLine.group("pca2x1y2", "self.safeDictionaryAccess(self.header, 'PCA2X1Y2')"); 165 sqlLine.group("pca2x0y3", "self.safeDictionaryAccess(self.header, 'PCA2X0Y3')"); 166 sqlLine.group("pca2x2y0", "self.safeDictionaryAccess(self.header, 'PCA2X2Y0')"); 167 sqlLine.group("pca2x1y1", "self.safeDictionaryAccess(self.header, 'PCA2X1Y1')"); 168 sqlLine.group("pca2x0y2", "self.safeDictionaryAccess(self.header, 'PCA2X0Y2')"); 136 sqlLine.group("analysisVer", self.analysisVer); 137 sqlLine.group("photoScat", self.getKeyValue(self.header, 'ZPT_ERR')); 138 sqlLine.group("expStart", self.getKeyValue(self.header, 'MJD-OBS')); 139 sqlLine.group("expTime", self.getKeyValue(self.header, 'EXPREQ')); 140 sqlLine.group("airmass", self.getKeyValue(self.header, 'AIRMASS')); 141 sqlLine.group("raBore", self.getKeyValue(self.header, 'RA')); 142 sqlLine.group("decBore", self.getKeyValue(self.header, 'DEC')); 143 sqlLine.group("ctype1", self.getKeyValue(self.header, 'CTYPE1')); 144 sqlLine.group("ctype2", self.getKeyValue(self.header, 'CTYPE2')); 145 sqlLine.group("crval1", self.getKeyValue(self.header, 'CRVAL1')); 146 sqlLine.group("crval2", self.getKeyValue(self.header, 'CRVAL2')); 147 sqlLine.group("crpix1", self.getKeyValue(self.header, 'CRPIX1')); 148 sqlLine.group("crpix2", self.getKeyValue(self.header, 'CRPIX2')); 149 sqlLine.group("cdelt1", self.getKeyValue(self.header, 'CDELT1')); 150 sqlLine.group("cdelt2", self.getKeyValue(self.header, 'CDELT2')); 151 sqlLine.group("pc001001", self.getKeyValue(self.header, 'PC001001')); 152 sqlLine.group("pc001002", self.getKeyValue(self.header, 'PC001002')); 153 sqlLine.group("pc002001", self.getKeyValue(self.header, 'PC002001')); 154 sqlLine.group("pc002002", self.getKeyValue(self.header, 'PC002002')); 155 sqlLine.group("polyOrder", self.getKeyValue(self.header, 'NPLYTERM')); 156 sqlLine.group("pca1x3y0", self.getKeyValue(self.header, 'PCA1X3Y0')); 157 sqlLine.group("pca1x2y1", self.getKeyValue(self.header, 'PCA1X2Y1')); 158 sqlLine.group("pca1x1y2", self.getKeyValue(self.header, 'PCA1X1Y2')); 159 sqlLine.group("pca1x0y3", self.getKeyValue(self.header, 'PCA1X0Y3')); 160 sqlLine.group("pca1x2y0", self.getKeyValue(self.header, 'PCA1X2Y0')); 161 sqlLine.group("pca1x1y1", self.getKeyValue(self.header, 'PCA1X1Y1')); 162 sqlLine.group("pca1x0y2", self.getKeyValue(self.header, 'PCA1X0Y2')); 163 sqlLine.group("pca2x3y0", self.getKeyValue(self.header, 'PCA2X3Y0')); 164 sqlLine.group("pca2x2y1", self.getKeyValue(self.header, 'PCA2X2Y1')); 165 sqlLine.group("pca2x1y2", self.getKeyValue(self.header, 'PCA2X1Y2')); 166 sqlLine.group("pca2x0y3", self.getKeyValue(self.header, 'PCA2X0Y3')); 167 sqlLine.group("pca2x2y0", self.getKeyValue(self.header, 'PCA2X2Y0')); 168 sqlLine.group("pca2x1y1", self.getKeyValue(self.header, 'PCA2X1Y1')); 169 sqlLine.group("pca2x0y2", self.getKeyValue(self.header, 'PCA2X0Y2')); 169 170 170 171 sql = sqlLine.make(") VALUES ( ", ")") … … 193 194 else: ccdID = 0 194 195 195 psfFwhm = 0.5*(self.safeDictionaryAccess(header, 'FWHM_MAJ') + self.safeDictionaryAccess(header, 'FWHM_MIN')) 196 psfFwhmMajor = self.getKeyValue(header, 'FWHM_MAJ') 197 psfFwhmMinor = self.getKeyValue(header, 'FWHM_MIN') 198 if ((psfFwhmMajor == "NULL") or (psfFwhmMajor == "NULL")): 199 psfFwhm = "NULL" 200 else: 201 psfFwhm = 0.5*(psfFwhmMajor + psfFwhmMinor) 196 202 197 203 # insert image metadata into table … … 202 208 sqlLine.group("bias", str(self.bias)) 203 209 sqlLine.group("biasScat", str(self.biasScat)) 204 sqlLine.group("sky", "self.safeDictionaryAccess(header, 'MSKY_MN')")205 sqlLine.group("skyScat", "self.safeDictionaryAccess(header, 'MSKY_SIG')")206 sqlLine.group("magSat", "self.safeDictionaryAccess(header, 'FSATUR')")207 sqlLine.group("completMag", "self.safeDictionaryAccess(header, 'FLIMIT')")208 sqlLine.group("astroScat", "self.safeDictionaryAccess(header, 'CERROR')")209 sqlLine.group("photoScat", "self.safeDictionaryAccess(self.header, 'ZPT_OBS')")210 sqlLine.group("numAstroRef", "self.safeDictionaryAccess(header, 'NASTRO')")211 sqlLine.group("numPhotoRef", "self.safeDictionaryAccess(header, 'NASTRO')")212 sqlLine.group("nx", "self.safeDictionaryAccess(header, 'CNAXIS1')")213 sqlLine.group("ny", "self.safeDictionaryAccess(header, 'CNAXIS2')")210 sqlLine.group("sky", self.getKeyValue(header, 'MSKY_MN')) 211 sqlLine.group("skyScat", self.getKeyValue(header, 'MSKY_SIG')) 212 sqlLine.group("magSat", self.getKeyValue(header, 'FSATUR')) 213 sqlLine.group("completMag", self.getKeyValue(header, 'FLIMIT')) 214 sqlLine.group("astroScat", self.getKeyValue(header, 'CERROR')) 215 sqlLine.group("photoScat", self.getKeyValue(self.header, 'ZPT_OBS')) 216 sqlLine.group("numAstroRef", self.getKeyValue(header, 'NASTRO')) 217 sqlLine.group("numPhotoRef", self.getKeyValue(header, 'NASTRO')) 218 sqlLine.group("nx", self.getKeyValue(header, 'CNAXIS1')) 219 sqlLine.group("ny", self.getKeyValue(header, 'CNAXIS2')) 214 220 sqlLine.group("psfFwhm", str(psfFwhm)) 215 sqlLine.group("psfWidMajor", "self.safeDictionaryAccess(header, 'FWHM_MAJ')")216 sqlLine.group("psfWidMinor", "self.safeDictionaryAccess(header, 'FWHM_MIN')")217 sqlLine.group("psfTheta", "self.safeDictionaryAccess(header, 'ANGLE')")221 sqlLine.group("psfWidMajor", str(psfFwhmMajor)) 222 sqlLine.group("psfWidMinor", str(psfFwhmMinor)) 223 sqlLine.group("psfTheta", self.getKeyValue(header, 'ANGLE')) 218 224 sqlLine.group("momentXX", "-999") 219 225 sqlLine.group("momentXY", "-999") … … 225 231 sqlLine.group("momentR1", "-999") 226 232 sqlLine.group("momentRH", "-999") 227 sqlLine.group("apResid", "self.safeDictionaryAccess(header, 'APMIFIT')")228 sqlLine.group("dapResid", "self.safeDictionaryAccess(header, 'DAPMIFIT')")229 sqlLine.group("detectorID", self. safeDictionaryAccess(header, 'DETECTOR'))233 sqlLine.group("apResid", self.getKeyValue(header, 'APMIFIT')) 234 sqlLine.group("dapResid", self.getKeyValue(header, 'DAPMIFIT')) 235 sqlLine.group("detectorID", self.getKeyValue(header, 'DETECTOR')) 230 236 sqlLine.group("qaFlags", str(self.scratchDb.getDvoImageFlags(header['IMAGEID']))) 231 sqlLine.group("detrend1", self. safeDictionaryAccess(header, 'DETREND.MASK'))232 sqlLine.group("detrend2", self. safeDictionaryAccess(header, 'DETREND.DARK'))233 sqlLine.group("detrend3", self. safeDictionaryAccess(header, 'DETREND.FLAT'))234 sqlLine.group("detrend4", " ")235 sqlLine.group("detrend5", " ")236 sqlLine.group("detrend6", " ")237 sqlLine.group("detrend7", " ")238 sqlLine.group("detrend8", " ")239 sqlLine.group("photoZero", "self.safeDictionaryAccess(self.header, 'ZPT_OBS')")240 sqlLine.group("ctype1", "self.safeDictionaryAccess(header, 'CTYPE1')")241 sqlLine.group("ctype2", "self.safeDictionaryAccess(header, 'CTYPE2')")242 sqlLine.group("crval1", "self.safeDictionaryAccess(header, 'CRVAL1')")243 sqlLine.group("crval2", "self.safeDictionaryAccess(header, 'CRVAL2')")244 sqlLine.group("crpix1", "self.safeDictionaryAccess(header, 'CRPIX1')")245 sqlLine.group("crpix2", "self.safeDictionaryAccess(header, 'CRPIX2')")246 sqlLine.group("cdelt1", "self.safeDictionaryAccess(header, 'CDELT1')")247 sqlLine.group("cdelt2", "self.safeDictionaryAccess(header, 'CDELT2')")248 sqlLine.group("pc001001", "self.safeDictionaryAccess(header, 'PC001001')")249 sqlLine.group("pc001002", "self.safeDictionaryAccess(header, 'PC001002')")250 sqlLine.group("pc002001", "self.safeDictionaryAccess(header, 'PC002001')")251 sqlLine.group("pc002002", "self.safeDictionaryAccess(header, 'PC002002')")252 sqlLine.group("polyOrder", "self.safeDictionaryAccess(header, 'NPLYTERM')")253 sqlLine.group("pca1x3y0", "self.safeDictionaryAccess(header, 'PCA1X3Y0')")254 sqlLine.group("pca1x2y1", "self.safeDictionaryAccess(header, 'PCA1X2Y1')")255 sqlLine.group("pca1x1y2", "self.safeDictionaryAccess(header, 'PCA1X1Y2')")256 sqlLine.group("pca1x0y3", "self.safeDictionaryAccess(header, 'PCA1X0Y3')")257 sqlLine.group("pca1x2y0", "self.safeDictionaryAccess(header, 'PCA1X2Y0')")258 sqlLine.group("pca1x1y1", "self.safeDictionaryAccess(header, 'PCA1X1Y1')")259 sqlLine.group("pca1x0y2", "self.safeDictionaryAccess(header, 'PCA1X0Y2')")260 sqlLine.group("pca2x3y0", "self.safeDictionaryAccess(header, 'PCA2X3Y0')")261 sqlLine.group("pca2x2y1", "self.safeDictionaryAccess(header, 'PCA2X2Y1')")262 sqlLine.group("pca2x1y2", "self.safeDictionaryAccess(header, 'PCA2X1Y2')")263 sqlLine.group("pca2x0y3", "self.safeDictionaryAccess(header, 'PCA2X0Y3')")264 sqlLine.group("pca2x2y0", "self.safeDictionaryAccess(header, 'PCA2X2Y0')")265 sqlLine.group("pca2x1y1", "self.safeDictionaryAccess(header, 'PCA2X1Y1')")266 sqlLine.group("pca2x0y2", "self.safeDictionaryAccess(header, 'PCA2X0Y2')")237 sqlLine.group("detrend1", self.getKeyValue(header, 'DETREND.MASK')) 238 sqlLine.group("detrend2", self.getKeyValue(header, 'DETREND.DARK')) 239 sqlLine.group("detrend3", self.getKeyValue(header, 'DETREND.FLAT')) 240 # sqlLine.group("detrend4", " ") 241 # sqlLine.group("detrend5", " ") 242 # sqlLine.group("detrend6", " ") 243 # sqlLine.group("detrend7", " ") 244 # sqlLine.group("detrend8", " ") 245 sqlLine.group("photoZero", self.getKeyValue(self.header, 'ZPT_OBS')) 246 sqlLine.group("ctype1", self.getKeyValue(header, 'CTYPE1')) 247 sqlLine.group("ctype2", self.getKeyValue(header, 'CTYPE2')) 248 sqlLine.group("crval1", self.getKeyValue(header, 'CRVAL1')) 249 sqlLine.group("crval2", self.getKeyValue(header, 'CRVAL2')) 250 sqlLine.group("crpix1", self.getKeyValue(header, 'CRPIX1')) 251 sqlLine.group("crpix2", self.getKeyValue(header, 'CRPIX2')) 252 sqlLine.group("cdelt1", self.getKeyValue(header, 'CDELT1')) 253 sqlLine.group("cdelt2", self.getKeyValue(header, 'CDELT2')) 254 sqlLine.group("pc001001", self.getKeyValue(header, 'PC001001')) 255 sqlLine.group("pc001002", self.getKeyValue(header, 'PC001002')) 256 sqlLine.group("pc002001", self.getKeyValue(header, 'PC002001')) 257 sqlLine.group("pc002002", self.getKeyValue(header, 'PC002002')) 258 sqlLine.group("polyOrder", self.getKeyValue(header, 'NPLYTERM')) 259 sqlLine.group("pca1x3y0", self.getKeyValue(header, 'PCA1X3Y0')) 260 sqlLine.group("pca1x2y1", self.getKeyValue(header, 'PCA1X2Y1')) 261 sqlLine.group("pca1x1y2", self.getKeyValue(header, 'PCA1X1Y2')) 262 sqlLine.group("pca1x0y3", self.getKeyValue(header, 'PCA1X0Y3')) 263 sqlLine.group("pca1x2y0", self.getKeyValue(header, 'PCA1X2Y0')) 264 sqlLine.group("pca1x1y1", self.getKeyValue(header, 'PCA1X1Y1')) 265 sqlLine.group("pca1x0y2", self.getKeyValue(header, 'PCA1X0Y2')) 266 sqlLine.group("pca2x3y0", self.getKeyValue(header, 'PCA2X3Y0')) 267 sqlLine.group("pca2x2y1", self.getKeyValue(header, 'PCA2X2Y1')) 268 sqlLine.group("pca2x1y2", self.getKeyValue(header, 'PCA2X1Y2')) 269 sqlLine.group("pca2x0y3", self.getKeyValue(header, 'PCA2X0Y3')) 270 sqlLine.group("pca2x2y0", self.getKeyValue(header, 'PCA2X2Y0')) 271 sqlLine.group("pca2x1y1", self.getKeyValue(header, 'PCA2X1Y1')) 272 sqlLine.group("pca2x0y2", self.getKeyValue(header, 'PCA2X0Y2')) 267 273 268 274 sql = sqlLine.make(") VALUES ( ", ")") … … 340 346 sqlLine.group("apFlux", "AP_FLUX / " + extTimeString) 341 347 sqlLine.group("apFluxErr", "AP_FLUX_SIG / " + extTimeString) 342 sqlLine.group("apFluxNpix", "AP_NPIX") 348 sqlLine.group("apFillF", "AP_NPIX / (3.1416 * AP_MAG_RADIUS * AP_MAG_RADIUS)") 349 sqlLine.group("apRadius", "AP_MAG_RADIUS") 343 350 sqlLine.group("kronFlux", "KRON_FLUX / " + extTimeString) 344 351 sqlLine.group("kronFluxErr", "KRON_FLUX_ERR / " + extTimeString) … … 350 357 sqlLine.group("dataRelease", str(self.skychunk.dataRelease)) 351 358 352 sqlLine.make(") SELECT ", " FROM " + ippTableName) 353 359 sql = sqlLine.makeRaw(") SELECT ", " FROM " + ippTableName) 354 360 print "sql: " + sql 355 361 … … 450 456 451 457 # check we have valid sourceID/imageID pair from the header 452 if self. safeDictionaryAccess(header, 'SOURCEID') == "NULL": return False453 if self. safeDictionaryAccess(header, 'IMAGEID') == "NULL": return False458 if self.getKeyValue(header, 'SOURCEID') == "NULL": return False 459 if self.getKeyValue(header, 'IMAGEID') == "NULL": return False 454 460 455 # store sourceID/imageID combo in Db so DVO can look up later 456 self.scratchDb.insertNewDvoExternID(header['SOURCEID'], header['IMAGEID'])461 # store sourceID/imageID combo in Db so DVO can look up later (XXX deprecated?) 462 # self.scratchDb.insertNewDvoExternID(header['SOURCEID'], header['IMAGEID']) 457 463 458 464 # store these for later … … 501 507 self.alterPspsTablesChip("Chip", "Chip.hdr", 0, 0) 502 508 503 # now run DVO code to get all IDs 504 if not self.getIDsFromDVO(): return False509 # now run DVO code to get all IDs ( XXX deprecated, uses dvograbber) 510 # if not self.getIDsFromDVO(): return False 505 511 506 512 # dec is reserved in MySQL, so STILTS replaces if with dec_, which is not the name of … … 547 553 a.ippObjID = b.ippObjID, \ 548 554 a.ra = b.ra, \ 549 a.dec _= b.dec_, \555 a.dec = b.dec_, \ 550 556 a.raErr = b.raErr, \ 551 557 a.decErr = b.decErr, \ … … 791 797 # columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG PSF_INST_MAG PSF_INST_MAG_SIG PSF_INST_FLUX PSF_INST_FLUX_SIG PEAK_FLUX_AS_MAG PSF_MAJOR PSF_MINOR PSF_THETA EXT_NSIGMA PSF_QF MOMENTS_XX MOMENTS_XY MOMENTS_YY AP_MAG AP_FLUX KRON_FLUX KRON_FLUX_ERR FLAGS FLAGS2 SKY SKY_SIGMA EXT_NSIGMA PSF_QF_PERFECT PSF_CHISQ" 792 798 793 # XXX EAM NOTE : this is fragile : requires PS1_V 4794 columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG P SF_INST_MAG PSF_INST_MAG_SIG PSF_INST_FLUX PSF_INST_FLUX_SIG PEAK_FLUX_AS_MAG PSF_MAJOR PSF_MINOR PSF_THETA EXT_NSIGMA PSF_QF MOMENTS_XX MOMENTS_XY MOMENTS_YY MOMENTS_R1 MOMENTS_RH MOMENTS_M3C MOMENTS_M3S MOMENTS_M4C MOMENTS_M4S AP_MAG KRON_FLUX KRON_FLUX_ERR FLAGS FLAGS2 SKY SKY_SIGMA EXT_NSIGMA PSF_QF_PERFECT PSF_CHISQ POSANGLE PLTSCALE"799 # XXX EAM NOTE : this is fragile : requires PS1_V5 800 columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG POSANGLE PLTSCALE PSF_INST_FLUX PSF_INST_FLUX_SIG PSF_FWHM_MAJ PSF_FWHM_MIN PSF_THETA PSF_CORE PSF_QF PSF_QF_PERFECT PSF_CHISQ EXT_NSIGMA MOMENTS_XX MOMENTS_XY MOMENTS_YY MOMENTS_R1 MOMENTS_RH MOMENTS_M3C MOMENTS_M3S MOMENTS_M4C MOMENTS_M4S AP_FLUX AP_FLUX_SIG AP_NPIX AP_MAG_RADIUS KRON_FLUX KRON_FLUX_ERR SKY SKY_SIGMA FLAGS FLAGS2" 795 801 796 802 return super(DetectionBatch, self).importIppTables(columns, regex)
Note:
See TracChangeset
for help on using the changeset viewer.
