Changeset 38958 for trunk/ippToPsps/jython/stackbatch.py
- Timestamp:
- Oct 24, 2015, 2:20:15 PM (11 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/stackbatch.py (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/stackbatch.py
r38956 r38958 657 657 magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME']))) 658 658 659 # XXX hard-wired platescale : 0.25 (could get this from header, but stacks have constant plate scale 660 pltscale = 0.25 661 659 662 sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + cmfTable + " AS b SET") 660 663 … … 665 668 sqlLine.group("a." + filter + model + "MagErr", "b.EXT_INST_MAG_SIG") 666 669 667 sqlLine.group("a." + filter + model + "Radius", "b.EXT_WIDTH_MAJ") 670 sqlLine.group("a." + filter + model + "Radius", "b.EXT_WIDTH_MAJ * " + str(pltscale)) 671 sqlLine.group("a." + filter + model + "RadiusErr", "b.EXT_WIDTH_MAJ_ERR * " + str(pltscale)) 672 668 673 sqlLine.group("a." + filter + model + "Ab", "b.EXT_WIDTH_MIN/b.EXT_WIDTH_MAJ") 674 sqlLine.group("a." + filter + model + "AbErr", "sqrt(b.EXT_WIDTH_MIN_ERR * b.EXT_WIDTH_MIN_ERR + pow(b.EXT_WIDTH_MAJ_ERR * b.EXT_WIDTH_MIN / b.EXT_WIDTH_MAJ, 2.0)) / b.EXT_WIDTH_MAJ") 675 669 676 sqlLine.group("a." + filter + model + "Phi", "DEGREES(b.EXT_THETA)") 670 671 sqlLine.group("a." + filter + model + "RadiusErr", "b.EXT_WIDTH_MAJ_ERR")672 sqlLine.group("a." + filter + model + "AbErr", "b.EXT_WIDTH_MIN_ERR")673 677 sqlLine.group("a." + filter + model + "PhiErr", "DEGREES(b.EXT_THETA_ERR)") 674 678 … … 676 680 677 681 # I have raExp = X_EXT 678 679 # This is tricky: RA_EXT is not defined for PS1_SV3 or PS1_V5, but X_EXT is680 # XXX EAM 20140812: for PV3, update cmf output to define RA_EXT, DEC_EXT681 ## sqlLine.group("a." + filter + model + "Ra", "b.X_EXT")682 ## sqlLine.group("a." + filter + model + "Dec", "b.Y_EXT")683 ## sqlLine.group("a." + filter + model + "RaErr", "b.X_EXT_SIG") # need to modify by platescale684 ## sqlLine.group("a." + filter + model + "DecErr", "b.Y_EXT_SIG")685 682 686 683 # EAM 20150924: PV3 output cmfs were updated to include RA_EXT, DEC_EXT … … 712 709 713 710 sqlLine.group("a." + filter + model + "Mag", "a." + filter + model + "Mag + b.zp") 714 sqlLine.group("a." + filter + model + "Radius", "a." + filter + model + "Radius * b.PLTSCALE")715 sqlLine.group("a." + filter + model + "RadiusErr", "a." + filter + model + "RadiusErr * b.PLTSCALE")716 711 717 712 sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID AND b.imageID = " + str(imageID)) … … 837 832 magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME']))) 838 833 834 # XXX hard-wired platescale : 0.25 (could get this from header, but stacks have constant plate scale 835 pltscale = 0.25 836 839 837 self.logger.infoPair("Adding", "petrosians for extended sources") 840 838 sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + cmfTable + " AS b SET") … … 842 840 sqlLine.group("a."+filter+"haveData", "'1'") 843 841 844 sqlLine.group("a." + filter + "petRadius", "b.PETRO_RADIUS")845 sqlLine.group("a." + filter + "petRadiusErr", "b.PETRO_RADIUS_ERR")846 842 sqlLine.group("a." + filter + "petMag", "b.PETRO_MAG - " + hdrZP) 847 843 sqlLine.group("a." + filter + "petMagErr", "1.0 / b.PETRO_MAG_ERR") # still inverted? (yes) 848 sqlLine.group("a." + filter + "petR50", "b.PETRO_RADIUS_50") 849 sqlLine.group("a." + filter + "petR50Err", "b.PETRO_RADIUS_50_ERR") 850 sqlLine.group("a." + filter + "petR90", "b.PETRO_RADIUS_90") 851 sqlLine.group("a." + filter + "petR90Err", "b.PETRO_RADIUS_90_ERR") 844 845 sqlLine.group("a." + filter + "petRadius", "b.PETRO_RADIUS * " + str(pltscale)) 846 sqlLine.group("a." + filter + "petRadiusErr", "b.PETRO_RADIUS_ERR * " + str(pltscale)) 847 sqlLine.group("a." + filter + "petR50", "b.PETRO_RADIUS_50 * " + str(pltscale)) 848 sqlLine.group("a." + filter + "petR50Err", "b.PETRO_RADIUS_50_ERR * " + str(pltscale)) 849 sqlLine.group("a." + filter + "petR90", "b.PETRO_RADIUS_90 * " + str(pltscale)) 850 sqlLine.group("a." + filter + "petR90Err", "b.PETRO_RADIUS_90_ERR * " + str(pltscale)) 852 851 sqlLine.group("a." + filter + "petCf", "b.PETRO_FILL") 853 852 854 853 sql = sqlLine.makeEquals("WHERE a." + filter + "ippDetectID = b.IPP_IDET ") 855 856 try: self.scratchDb.execute(sql) 857 except: 858 self.logger.error("problem with SQL: " + sql) 859 raise 854 self.scratchDb.execute(sql) 860 855 861 856 # modify petMag to apply the zero point 862 857 sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + self.scratchDb.dvoDetectionTable + " as b SET") 863 864 858 sqlLine.group("a." + filter + "petMag", "a." + filter + "petMag + b.zp") 865 866 sqlLine.group("a." + filter + "petRadius", "a." + filter + "petRadius * b.PLTSCALE")867 sqlLine.group("a." + filter + "petRadiusErr", "a." + filter + "petRadius * b.PLTSCALE")868 sqlLine.group("a." + filter + "petR50", "a." + filter + "petR50 * b.PLTSCALE")869 sqlLine.group("a." + filter + "petR50Err", "a." + filter + "petR50Err * b.PLTSCALE")870 sqlLine.group("a." + filter + "petR90", "a." + filter + "petR90 * b.PLTSCALE")871 sqlLine.group("a." + filter + "petR90Err", "a." + filter + "petR90Err * b.PLTSCALE")872 873 859 sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID AND b.imageID = " + str(imageID)) 874 860 875 try: self.scratchDb.execute(sql) 876 except: 877 self.logger.errorPair('failed sql',sql) 878 raise 861 self.scratchDb.execute(sql) 879 862 880 863 # modify petRadiusErr if it is not set correctlyu … … 884 867 sql = sqlLine.makeEquals("WHERE a." + filter + "petRadiusErr IS NULL") 885 868 886 try: self.scratchDb.execute(sql) 887 except: 888 self.logger.errorPair('failed sql',sql) 889 raise 890 869 self.scratchDb.execute(sql) 891 870 892 871 ''' … … 1171 1150 def generateRandomIDs(self): 1172 1151 sql = "UPDATE StackObjectThin set randomStackObjID = RAND("+str(self.batchID)+")" 1173 try: self.scratchDb.execute(sql) 1174 except: 1175 self.logger.errorPair('failed sql',sql) 1176 raise 1177 1152 self.scratchDb.execute(sql) 1178 1153 1179 1154 def generateStackDetectRowIDsAndPspsUniqueIDs(self): 1180 # sql = "UPDATE StackObjectThin join (select @r:=@r+1 rownum, objID from \1181 # (select @r:=0) r, StackObjectThin t) as foo using (objID) set \1182 # stackDetectRowID = ((" + str(self.batchID) + " << 32 ) + rownum), \1183 # uniquePspsSTid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)";1184 1155 sql = "UPDATE StackObjectThin set uniquePspsSTid = (("+str(self.batchID)+"*1000000000 ) + row)" 1185 1186 try: self.scratchDb.execute(sql) 1187 except: 1188 self.logger.errorPair('failed sql',sql) 1189 raise 1190 1156 self.scratchDb.execute(sql) 1191 1157 1192 1158 ''' … … 1202 1168 for filter in self.filters: 1203 1169 self.scratchDb.addColumn("StackObjectThin", filter + "haveData", "tinyint") 1204 1205 # sqlLine = sqlUtility("INSERT INTO StackObjectThin (")1206 #1207 # sqlLine.group("objID", "objID")1208 # sqlLine.group("ippObjID", "ippObjID")1209 # sqlLine.group("ippDetectID", "ippDetectID") # added ippDetectID1210 # sqlLine.group("surveyID", "'" + str(self.surveyID) + "'")1211 # sqlLine.group("tessID", "'" + str(self.tessID) + "'")1212 # sqlLine.group("projectionID", "'" + str(self.projectionID) + "'")1213 # sqlLine.group("skyCellID", "'" + str(self.skycellID) + "'")1214 # sqlLine.group("processingVersion", "'" + str(self.skychunk.processingVersion) + "'")1215 # sqlLine.group("randomStackObjID", "FLOOR(RAND()*9223372036854775807)")1216 1170 1217 1171 whereClause = " WHERE (" … … 1231 1185 sql = "insert into StackObjectThin (objID, ippDetectID, ippObjID) select distinct objID, ippDetectID, ippObjID from dvoDetectionFull " + whereClause; 1232 1186 1233 # sql = sqlLine.makeRaw(") SELECT DISTINCT ", "FROM " + self.scratchDb.dvoDetectionTable + whereClause) 1234 1235 try: self.scratchDb.execute(sql) 1236 except: 1237 self.logger.errorPair('failed sql',sql) 1238 raise 1239 1240 # ok, now add surveyID, tessID, projectionID, skycellID, dtaRelease 1187 self.scratchDb.execute(sql) 1188 1189 # ok, now add surveyID, tessID, projectionID, skycellID, dtaRelease 1241 1190 1242 1191 sql = "update StackObjectThin set surveyID = "+str(self.surveyID) +"\ … … 1246 1195 , processingVersion = '" + str(self.skychunk.processingVersion) +"'" 1247 1196 1248 try: self.scratchDb.execute(sql) 1249 except: 1250 self.logger.errorPair('failed sql',sql) 1251 raise 1252 1253 # ok, now fill g/r/i/z/yippDetectID using objID and detectID and image ID 1197 self.scratchDb.execute(sql) 1198 1199 # ok, now fill g/r/i/z/yippDetectID using objID and detectID and image ID 1254 1200 1255 1201 for filter in self.filters: 1256 1202 sql = "update StackObjectThin join "+self.scratchDb.dvoDetectionTable +" using (objID, ippDetectID) set "+filter+"ippDetectID = ippDetectID \ 1257 1203 where " + self.scratchDb.dvoDetectionTable + ".imageID = " + str(imageID) 1258 try: self.scratchDb.execute(sql) 1259 except: 1260 self.logger.errorPair('failed sql',sql) 1261 raise 1204 self.scratchDb.execute(sql) 1205 1262 1206 self.scratchDb.dropColumn("StackObjectThin", "ippDetectID") 1263 1207 … … 1277 1221 fields += filter + "ippDetectID, " 1278 1222 fields += filter + "stackDetectID, " 1279 # fields += filter + "StackDetectRowID, "1280 1223 fields += filter + "stackImageID " # careful here: do not add comma to last entry 1281 1224 if (i < len(self.filters) - 1): 1282 1225 fields += ", " 1283 1226 1284 #if (table == "StackObjectAttributes"):1285 # fields += ", stackDetectRowID "1286 1227 sql = "INSERT INTO " + table + " (" + fields + ") " 1287 1228 sql += "SELECT " + fields + " FROM " + mainTable 1288 1229 1289 try: self.scratchDb.execute(sql) 1290 except: 1291 self.logger.errorPair('failed sql',sql) 1292 raise 1293 1294 1230 self.scratchDb.execute(sql) 1295 1231 1296 1232 ''' … … 1428 1364 self.tablesLoaded.append(myTable) 1429 1365 1430 # XXX validate required tables (do we need _psf?, _xsrc? etc)1431 1432 1366 self.logger.infoPair("Done. Imported", "%d tables" % count) 1433 1367 self.indexIppTables() 1434 # return False1435 1368 return True
Note:
See TracChangeset
for help on using the changeset viewer.
