In [4]:
import wisps
import wisps.simulations as wispsim
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import bisect, numba
from tqdm import tqdm
%matplotlib inline

In [2]:
LF=wispsim.LUMINOSITY_FUCTION
LFDES=wispsim.DES_LUMINOSITY_FUCTION
MAGLIMITS=wispsim.MAG_LIMITS
PNTS=wispsim.OBSERVED_POINTINGS
CANDS=wisps.datasets['candidates']
DIST_DATAFRAME=pd.DataFrame.from_records([x.samples for x in wispsim.OBSERVED_POINTINGS])
SIMULATED_DIST=wispsim.simulate_spts()

In [3]:
def drop_nan(x):
    x=np.array(x)
    return x[(~np.isnan(x)) & (~np.isinf(x)) ]

In [4]:
fig, ax=plt.subplots()
for idx in tqdm(np.arange(13)):
    spts=drop_nan(SIMULATED_DIST['spts'][idx][:,0])
    #ages=drop_nan(SIMULATED_DIST['ages'][idx][:,0])
    h=plt.hist(spts,  histtype='step', bins='auto')


100%|██████████| 13/13 [00:00<00:00, 50.83it/s]

In [5]:
fig, ax=plt.subplots()
for idx in tqdm(np.arange(13)):
    spts=drop_nan(SIMULATED_DIST['ages'][idx])
    #ages=drop_nan(SIMULATED_DIST['ages'][idx][:,0])
    h=plt.hist(spts,  histtype='step', bins='auto')


100%|██████████| 13/13 [00:00<00:00, 144.83it/s]

In [139]:
fig, ax=plt.subplots()
spt_dists={}

import matplotlib
from matplotlib import cm

norm = matplotlib.colors.Normalize(vmin=20., vmax=37.0)


for idx in tqdm(np.arange(20., 37.)):
    spt_dists[idx]=np.log10(np.concatenate(DIST_DATAFRAME[idx].values))
    h=ax.hist(np.log10(np.concatenate(DIST_DATAFRAME[idx].values)),color=cm.viridis(norm(idx)),\
               histtype='step',  bins='auto', alpha=0.5, 
               normed=True)


sm = plt.cm.ScalarMappable(cmap=cm.viridis, norm=norm)
sm.set_array([])
br=plt.colorbar(sm, ticks=np.arange(20., 40., 5 ))
br.set_ticklabels(['L0', 'L5', 'T0', 'T5', 'Y0'])

ax.set_xlabel('Log distance (pc)')
ax.set_ylabel('Density')
plt.minorticks_on()
plt.tight_layout()
ax.yaxis.set_ticks_position('both')
ax.xaxis.set_ticks_position('both')
plt.savefig(wisps.OUTPUT_FIGURES+'/distance_distribution.pdf')


100%|██████████| 17/17 [00:00<00:00, 30.64it/s]

In [5]:
from astropy.coordinates import SkyCoord
import astropy.units as u

In [7]:
pnts=wisps.OBSERVED_POINTINGS

In [8]:
#big_skycoord= []

In [9]:
#for p in pnts:
#    big_skycoord.append(SkyCoord(ra=p.coord.ra, dec=p.coord.dec, distance=np.concatenate([p.samples[k] for k in p.samples.keys()])*u.pc))

In [10]:
#skcoord=SkyCoord(big_skycoord)

In [11]:
#x, y, z=skcoord.galactic.cartesian.xyz

In [12]:
#r=(x**2+y**2)**0.5

In [13]:
import seaborn as sns

In [1]:
import wisps
import numpy as np
from wisps.simulations import custom_volume_correction, Pointing
from wisps import get_distance
from astropy.coordinates import SkyCoord
import astropy.units as u
import matplotlib.pyplot as plt
%matplotlib inline

In [2]:
wisps.MAG_LIMITS['wisps']


Out[2]:
{'F110W': [22.0, 18.0], 'F140W': [21.5, 16.0], 'F160W': [21.5, 16.0]}

In [3]:
coord=SkyCoord(ra=50*u.deg, dec=50*u.deg)

In [4]:
p=Pointing(coord=coord)

In [5]:
p.survey='wisps'
p.mag_limits=wisps.MAG_LIMITS['wisps']
p.compute_distance_limits()
p.computer_volume()

In [6]:
plt.hist(p.random_draw(1000, 100, 1000 ))


Out[6]:
(array([129., 122.,  90.,  75.,  69.,  55.,  49.,  39.,  29., 343.]),
 array([ 103.8488377 ,  193.46395393,  283.07907016,  372.69418639,
         462.30930262,  551.92441885,  641.53953508,  731.15465131,
         820.76976754,  910.38488377, 1000.        ]),
 <a list of 10 Patch objects>)

In [ ]:
p.cdf(100, 1000)

In [ ]: