def alignImage(self, srcDir, imgName, tmplParms): starttime = datetime.now() files = tmplParms[1] templateImg = files[0][0] #self.tmplAlignDir isSuccess = False imgpre = imgName.split(".")[0] os.system("rm -rf %s/*" % (self.tmpAlign)) objectImg = 'oi.fit' objectCat = 'oi.cat' ttmplCat = 'ti.cat' oImgf = "%s/%s.fit" % (srcDir, imgpre) oImgfz = "%s/%s.fit.fz" % (srcDir, imgpre) if os.path.exists(oImgf): os.system("cp %s/%s.fit %s/%s" % (srcDir, imgpre, self.tmpAlign, objectImg)) elif os.path.exists(oImgfz): os.system("cp %s/%s.fit.fz %s/%s.fz" % (srcDir, imgpre, self.tmpAlign, objectImg)) os.system("%s %s/%s.fz" % (self.funpackProgram, self.tmpAlign, objectImg)) else: self.log.warning("%s not exist" % (oImgf)) #skyName, ra,dec = self.tools.removeHeaderAndOverScan(self.tmpAlign,objectImg) skyName, ra, dec = 'sky001', 0, 0 #if templateImg==imgName: os.system("cp %s/%s.cat %s/%s" % (self.catDir, imgpre, self.tmpAlign, objectCat)) os.system("cp %s/%s.cat %s/%s" % (self.tmplAlignDir, templateImg.split(".")[0], self.tmpAlign, ttmplCat)) alignRst = doAll(self.tmpAlign, ttmplCat, self.tmpAlign, objectCat, self.tmpAlign, objectImg, self.alignDir, imgName, templateImg) if alignRst[0] > 0: #print("totalMatchNum, xshift,yshift, xrotation, yrotation, blindStarNum, mchRatios") totalMatchNum, xshift, yshift, xrotation, yrotation, blindStarNum, mchRatios = alignRst print("alignImage: %s, xshift=%f,yshift=%f" % (imgName, xshift, yshift)) self.log.info(alignRst) isSuccess = True endtime = datetime.now() runTime = (endtime - starttime).seconds self.log.info("********** alignImage %s use %d seconds" % (imgName, runTime)) return isSuccess
def alignImage(self, srcDir, imgName, tmplParms): starttime = datetime.now() files = tmplParms[1] templateImg = files[0][0] #self.tmplAlignDir isSuccess = False imgpre = imgName.split(".")[0] os.system("rm -rf %s/*" % (self.tmpAlign)) objectImg = 'oi.fit' objectCat = 'oi.cat' ttmplCat = 'ti.cat' oImgf = "%s/%s.fit" % (srcDir, imgpre) oImgfz = "%s/%s.fit.fz" % (srcDir, imgpre) if os.path.exists(oImgf): os.system("cp %s/%s.fit %s/%s" % (srcDir, imgpre, self.tmpAlign, objectImg)) elif os.path.exists(oImgfz): os.system("cp %s/%s.fit.fz %s/%s.fz" % (srcDir, imgpre, self.tmpAlign, objectImg)) os.system("%s %s/%s.fz" % (self.funpackProgram, self.tmpAlign, objectImg)) else: self.log.warning("%s not exist" % (oImgf)) skyName, ra, dec = self.tools.removeHeaderAndOverScan( self.tmpAlign, objectImg) #if templateImg==imgName: os.system("cp %s/%s.cat %s/%s" % (self.catDir, imgpre, self.tmpAlign, objectCat)) os.system("cp %s/%s.cat %s/%s" % (self.tmplAlignDir, templateImg.split(".")[0], self.tmpAlign, ttmplCat)) alignRst = doAll(self.tmpAlign, ttmplCat, self.tmpAlign, objectCat, self.tmpAlign, objectImg, self.alignDir, imgName, templateImg) alignImgName = "%s_align.fit" % (imgpre) t2oX, t2oY = [], [] if alignRst[0] > 0: #print("totalMatchNum, xshift,yshift, xrotation, yrotation, blindStarNum, mchRatios") totalMatchNum, xshift,yshift, xrotation, yrotation, blindStarNum, mchRatios, \ oiStarJoinNum,tiStarJoinNum, otMchNum, xshift2,yshift2, xrms2, yrms2, t2oX, t2oY= alignRst print("alignImage: %s, xshift=%f,yshift=%f" % (imgName, xshift, yshift)) alignRst = alignRst[:-2].copy() alignRst.append(imgName) alignRst.append(templateImg) alignRst.append('imageAlignParmsForDebug') self.log.info(alignRst) if mchRatios > 80.0: isSuccess = True sexConf = [ '-DETECT_MINAREA', '3', '-DETECT_THRESH', '2.5', '-ANALYSIS_THRESH', '2.5' ] fpar = 'sex_diff.par' self.tools.runSextractor(alignImgName, self.alignDir, self.alignDir, fpar, sexConf) if not isSuccess: alignImgName = "%s/%s_align.fit" % (self.alignDir, imgpre) os.system("rm -rf %s" % (alignImgName)) alignImgName = "%s/%s.cat" % (self.catDir, imgpre) os.system("rm -rf %s" % (alignImgName)) endtime = datetime.now() runTime = (endtime - starttime).seconds self.log.info("********** alignImage %s use %d seconds" % (imgName, runTime)) return isSuccess, t2oX, t2oY