IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 24, 2015, 2:20:15 PM (11 years ago)
Author:
eugene
Message:

adjust md5sum code to put options into single location; test for AP_NPIX before trying to use in diffbatch; apply static plate scale in stackbatch; add FW source X,Y, ccdID

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/jython/stackbatch.py

    r38956 r38958  
    657657        magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME'])))
    658658
     659        # XXX hard-wired platescale : 0.25 (could get this from header, but stacks have constant plate scale
     660        pltscale = 0.25
     661
    659662        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + cmfTable + " AS b SET")
    660663
     
    665668        sqlLine.group("a." + filter + model + "MagErr",    "b.EXT_INST_MAG_SIG")
    666669                     
    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
    668673        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
    669676        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")
    673677        sqlLine.group("a." + filter + model + "PhiErr",    "DEGREES(b.EXT_THETA_ERR)")
    674678
     
    676680
    677681        # I have raExp = X_EXT
    678 
    679         # This is tricky: RA_EXT is not defined for PS1_SV3 or PS1_V5, but X_EXT is
    680         # XXX EAM 20140812: for PV3, update cmf output to define RA_EXT, DEC_EXT
    681         ## 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 platescale
    684         ## sqlLine.group("a." + filter + model + "DecErr",    "b.Y_EXT_SIG")
    685682
    686683        # EAM 20150924: PV3 output cmfs were updated to include RA_EXT, DEC_EXT
     
    712709
    713710        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")
    716711
    717712        sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID AND b.imageID = " + str(imageID))
     
    837832        magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME'])))
    838833
     834        # XXX hard-wired platescale : 0.25 (could get this from header, but stacks have constant plate scale
     835        pltscale = 0.25
     836
    839837        self.logger.infoPair("Adding", "petrosians for extended sources")
    840838        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + cmfTable + " AS b SET")
     
    842840        sqlLine.group("a."+filter+"haveData",         "'1'")
    843841
    844         sqlLine.group("a." + filter + "petRadius",    "b.PETRO_RADIUS")
    845         sqlLine.group("a." + filter + "petRadiusErr", "b.PETRO_RADIUS_ERR")
    846842        sqlLine.group("a." + filter + "petMag",       "b.PETRO_MAG - " + hdrZP) 
    847843        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))
    852851        sqlLine.group("a." + filter + "petCf",        "b.PETRO_FILL")
    853852
    854853        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)
    860855
    861856        # modify petMag to apply the zero point
    862857        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + self.scratchDb.dvoDetectionTable + " as b SET")
    863 
    864858        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 
    873859        sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID AND b.imageID = " + str(imageID))
    874860
    875         try: self.scratchDb.execute(sql)
    876         except:
    877             self.logger.errorPair('failed sql',sql)
    878             raise
     861        self.scratchDb.execute(sql)
    879862
    880863        # modify petRadiusErr if it is not set correctlyu
     
    884867        sql = sqlLine.makeEquals("WHERE a." + filter + "petRadiusErr IS NULL")
    885868
    886         try: self.scratchDb.execute(sql)
    887         except:
    888             self.logger.errorPair('failed sql',sql)
    889             raise
    890 
     869        self.scratchDb.execute(sql)
    891870
    892871    '''
     
    11711150    def generateRandomIDs(self):
    11721151        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)
    11781153
    11791154    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)";
    11841155        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)
    11911157
    11921158    '''
     
    12021168        for filter in self.filters:
    12031169            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 ippDetectID
    1210  #       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)")
    12161170
    12171171        whereClause = " WHERE ("
     
    12311185        sql = "insert into StackObjectThin (objID, ippDetectID, ippObjID) select distinct objID, ippDetectID, ippObjID from dvoDetectionFull " + whereClause;
    12321186
    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
    12411190
    12421191        sql = "update StackObjectThin set surveyID = "+str(self.surveyID) +"\
     
    12461195              , processingVersion = '" + str(self.skychunk.processingVersion)  +"'"
    12471196             
    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
    12541200
    12551201        for filter in self.filters:
    12561202            sql = "update StackObjectThin join "+self.scratchDb.dvoDetectionTable +" using (objID, ippDetectID) set "+filter+"ippDetectID = ippDetectID \
    12571203                  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
    12621206        self.scratchDb.dropColumn("StackObjectThin", "ippDetectID")
    12631207
     
    12771221            fields += filter + "ippDetectID, "
    12781222            fields += filter + "stackDetectID, "
    1279 #            fields += filter + "StackDetectRowID, "
    12801223            fields += filter + "stackImageID " # careful here: do not add comma to last entry
    12811224            if (i < len(self.filters) - 1):
    12821225                fields += ", "
    12831226
    1284         #if (table == "StackObjectAttributes"):
    1285         #    fields += ", stackDetectRowID "
    12861227        sql  = "INSERT INTO " + table + " (" + fields + ") "
    12871228        sql += "SELECT " + fields + " FROM " + mainTable
    12881229
    1289         try: self.scratchDb.execute(sql)
    1290         except:
    1291             self.logger.errorPair('failed sql',sql)
    1292             raise
    1293 
    1294 
     1230        self.scratchDb.execute(sql)
    12951231       
    12961232    '''
     
    14281364                self.tablesLoaded.append(myTable)
    14291365
    1430         # XXX validate required tables (do we need _psf?, _xsrc? etc)
    1431 
    14321366        self.logger.infoPair("Done. Imported", "%d tables" % count)
    14331367        self.indexIppTables()
    1434 #        return False
    14351368        return True
Note: See TracChangeset for help on using the changeset viewer.