else: if 'Maj' in r.columns: tcopy=vstack((tcopy,r)) ra=np.mean(tcopy['RA']) dec=np.mean(tcopy['DEC']) if startra==ra and startdec==dec: break iter+=1 print iter,len(tcopy) if iter==10: break # now find the bounding box of the resulting collection ra,dec,size=find_bbox(tcopy,scale=scale) if np.isnan(size): ra=r['RA'] dec=r['DEC'] size=minsize if size>maxsize: # revert just to original ra,dec=r['RA'],r['DEC'] tcopy=Table(r) ra,dec,size=find_bbox(tcopy,scale=scale) if size>maxsize: size=maxsize if size<minsize:
dist *= 1.2 continue # all original components need to be in there tcopy = vstack([ctable, tcopy]) ra = np.mean(tcopy['RA']) dec = np.mean(tcopy['DEC']) if startra == ra and startdec == dec: break iter += 1 if iter == 10: break # now find the bounding box of the resulting collection ra, dec, size = find_bbox(tcopy) print tcopy, size if np.isnan(size): ra, dec = s.sd[sourcename]['RA'], s.sd[sourcename]['DEC'] size = 60 if size > 200: size = 200.0 ra, dec = s.sd[sourcename]['RA'], s.sd[sourcename]['DEC'] if size < 60: size = 60.0 size = (int(0.5 + size / 10)) * 10 size /= 3600.0 initfactor = 4.0
# include checktable interim=vstack((tcopy,checktable)) # de-dupe again names=list(set(interim[cname])) print 'Names are',names filt=[False]*len(interim) for n in names: pos=np.argmax(interim[cname]==n) filt[pos]=True tcopy=interim[filt] ra=np.mean(tcopy['RA']) dec=np.mean(tcopy['DEC']) newra,newdec,size=find_bbox(tcopy) print ' size is',size if startra==ra and startdec==dec: break iter+=1 if iter==10: break # now find the bounding box of the resulting collection ra,dec,size=find_bbox(tcopy) if np.isnan(size): ra=r['RA'] dec=r['DEC'] size=60
sts=st[st['Source_Name']==name] if len(sts)==0: print name,'does not exist in source table, skipping' continue r2=sts[0] # corresponding row in source table if os.path.isfile('blend/'+name+'.txt'): print name,'already has a blend file' continue id=r2['Source_id'] # unique in this field! rgt=gt[gt['Source_id']==id] print 'Contains',len(rgt),'Gaussians' mlt=rgt[~np.isnan(rgt['lr_ra_fin'])] mlt['ra']=mlt['lr_ra_fin'] mlt['dec']=mlt['lr_dec_fin'] title=name+' (%s)' % display_mode ra,dec,size=find_bbox(rgt,scale=scale) size*=1.5 size/=3600.0 print 'Lofarfile is',lofarfile lhdu=extract_subim(lofarfile,ra,dec,size*2) try: peak==r2['Peak_flux']/1000.0 except: peak=None pwg=gals[(np.abs(gals['ra']-ra)<size) & (np.abs(gals['dec']-dec)<size)] ora=r2['lr_ra_fin'] odec=r2['lr_dec_fin'] ga=GaussAssoc(rgt,ora,odec) stop=False