In [1]:
# This changes the current directory to the base saga directory - make sure to run this first!
# This is necessary to be able to import the py files and use the right directories,
# while keeping all the notebooks in their own directory.
import os
import sys
from astropy import coordinates
if 'saga_base_dir' not in locals():
saga_base_dir = os.path.abspath('..')
if saga_base_dir not in sys.path:
os.chdir(saga_base_dir)
In [2]:
import targeting
from masterlist import masterlist
reload(masterlist)
Out[2]:
In [5]:
outfn=None#'newmasterlist_wrisaedit.csv'
mainvars = masterlist.main(outfn, catalogdir='masterlist')
print mainvars.keys()
locals().update(mainvars) # this brings everything in `mainvars` into the notebook's namespace
In [4]:
res = masterlist.remove_from_list(mastercatprerem, 'master')
In [7]:
import requests
In [10]:
print requests.get(masterlist.REMOVE_LIST_URLS['master']).content
In [44]:
s1=set(mastercatprerem['NSAID']).difference(mastercat['NSAID'])
In [74]:
mastercat = masterlist.filter_catalog(mastercat2, vcut=4000*u.km/u.s)
print len(mastercat)
res=masterlist.x_match_tests(mastercat, basedir='masterlist')
In [67]:
inedd = ~mastercat0['Dist_edd'].mask
inkk = ~mastercat0['Dist_kk'].mask
sum(inedd), sum(inkk), sum(inedd&inkk)
Out[67]:
In [111]:
meths = list(np.unique(kknearby['Meth']))
meths = dict(zip(meths, range(len(meths))))
plt.scatter(kknearby['Dist'], [meths[m] for m in kknearby['Meth']],lw=0,alpha=.1)
plt.yticks(meths.values(), meths.keys());
plt.xlim(0,50)
Out[111]:
In [112]:
sos = list(np.unique(edd['So']))
sos = dict(zip(sos, range(len(sos))))
plt.scatter(edd['Dist'], [sos[m] for m in edd['So']],lw=0,alpha=.1)
plt.yticks(sos.values(), sos.keys());
plt.xlim(0,50)
Out[112]:
In [53]:
from sys import stdout
ntotswpgc, npgcs, ndups = [], [], []
matchtols = [1,3,5,10,15,20,25,30,40,50,60,120,180]*u.arcsec
for matchtol in matchtols:
print 'on matchtol',matchtol
stdout.flush()
tempcat = masterlist.add_nsa(mastercat0nonsa, nsa=None, removeduplicatepgcson=None, matchtolerance=matchtol)
ntotswpgc.append(np.sum(tempcat['pgc']>0))
npgcs.append(len(np.unique(tempcat['pgc']))-1)
ndups.append(ntotswpgc[-1]-npgcs[-1])
In [71]:
plt.semilogy(matchtols.value, [.1 if v==0 else v for v in ndups],'o-b')
plt.semilogy(matchtols.value, ntotswpgc,'o-r')
plt.xlabel('asec');
#plt.xlim(0,60)
ndups
Out[71]:
In [30]:
testcat = masterlist.add_nsa(mastercat0nonsa, removeduplicatepgcson=None, matchtolerance=60*u.arcsec)
pgc = testcat['pgc'].copy()
pgc[pgc<0]=0
print 'NDUPS=',np.sum(pgc>0)-len(np.unique(pgc)-1)
np.sum(pgc>0),len(np.unique(pgc)-1)
Out[30]:
In [31]:
#show the duplicates and various bits of possibly useful information
ras, decs, pgcs, dds, nsas, magrs = [], [], [], [], [],[]
multipgcs = np.where(np.bincount(pgc) > 1)[0]
for i,n in enumerate(multipgcs):
if i%50==0:
print 'on',i,'of',len(multipgcs)
if n!=0:
subcat = testcat[pgc==n]
for row in subcat[np.argsort(subcat['pgc_match_dist_asec'])]:
ras.append(row['RA'])
decs.append(row['DEC'])
pgcs.append(n)
dds.append(row['pgc_match_dist_asec'])
magrs.append(row['ABSMAG_r'])
nsas.append(row['NSAID'])
res = targeting.sampled_imagelist(ras,decs,len(ras),['PGC#{1}:NSA#{2}:d={0:.2f}:r={3:.1f}'.format(ddi, pgci, nsai, magri) for
ddi,pgci,nsai,magri in zip(dds,pgcs,nsas,magrs)])
In [292]:
#note that this may need to be run a few times to get it to actually work
reload(masterlist)
res = masterlist.cross_id_w_sdss(mastercat, chunk=1000, nretrychunk=2, qryfields=['objid', 'ra', 'dec', 'type','up_ra', 'up_dec'])
In [293]:
matched_mastercat = mastercat[res['mastercat_idx']]
In [343]:
msk = res['type']=='STAR'
msk = msk & ~matched_mastercat['r'].mask # only NSA objects
print np.sum(msk)
targeting.sampled_imagelist(res[msk], None, 100, names=matched_mastercat['NSAID'][msk]);
In [347]:
mastercatcoo = coo.ICRS(mastercat['RA'].view(np.ndarray)*u.deg, mastercat['Dec'].view(np.ndarray)*u.deg)
idx, d2d, d3d = mastercatcoo.match_to_catalog_sky(mastercatcoo, 2)
In [433]:
plt.hist(d2d.arcsec,bins=np.linspace(0,60, 100),histtype='step');
In [369]:
msk = (d2d.arcmin>)&(d2d.arcmin<3)&(~mastercat['RA'].mask)&(~mastercat['Dec'].mask)
targeting.sampled_imagelist(mastercat[msk]['RA'],mastercat[msk]['Dec'],200);
In [387]:
#close pairs *and* type=star
matchedd2d = d2d[res['mastercat_idx']]
matchedidx = idx[res['mastercat_idx']]
msk = (res['type']=='STAR')&(matchedd2d.arcmin>3)
print np.sum(msk)
targeting.sampled_imagelist(matched_mastercat[msk]['RA'],matched_mastercat[msk]['Dec'],25,names=matched_mastercat['NSAID'][msk]);
In [445]:
#close pairs *and* type=star
matchedd2d = d2d[res['mastercat_idx']]
matchedidx = idx[res['mastercat_idx']]
msk = (res['type']=='STAR')&(matchedd2d.arcmin>0.5)&(matchedd2d.arcmin<1)
print 'N=',np.sum(msk)
print 'name ra dec'
i=0
for row1, row2 in zip(matched_mastercat[msk], mastercat[matchedidx[msk]]):
print row1['NSAID'], row1['RA'],row1['Dec']
print '+'+str(row2['NSAID']), row2['RA'],row2['Dec']
i += 1
if i>50:
break
In [18]:
twomassbright = twomassxsc[twomassxsc['k_m_ext'] < 11.75]
tmcoo = coordinates.ICRS(np.array(twomassbright['ra'])*u.deg, np.array(twomassbright['dec'])*u.deg)
macoo = coordinates.ICRS(np.array(mastercat['RA'])*u.deg, np.array(mastercat['Dec'])*u.deg)
In [19]:
idxtm, d2dtm, d3dtm = tmcoo.match_to_catalog_sky(macoo)
idxmt, d2dmt, d3dmt = macoo.match_to_catalog_sky(tmcoo)
In [20]:
np.sum(d2dtm < 10*u.arcsec)/len(idxtm)
Out[20]:
In [21]:
tmcoo[d2dtm>10*u.arcsec]
Out[21]:
In [22]:
msk = d2dtm>10*u.arcsec
targeting.sampled_imagelist(tmcoo[msk], None, 100, names=twomassbright[msk]['k_m_ext'])
Out[22]:
Visual inspection and x-matching w/NED reveals that most have redshifts, but not all, esp. in the South
In [11]:
nedd = table.Table.read('masterlist/NED24.8.1-D-9.3.0-20140905.csv', header_start=12, data_start=13)
print(nedd.colnames, len(nedd))
In [12]:
nedd['Galaxy ID']
Out[12]:
In [ ]: