In [68]:
import holoviews as hv
hv.notebook_extension('bokeh')
In [98]:
import numpy as np
N = 1000
N = int(1e7)
data = np.random.multivariate_normal([0,0], [[1,0],[0.,1]], N)
In [ ]:
ds = hv.Dataset(df)
hv.Points(ds, kdims['ra', 'dec'], vdims=['mag'])
In [99]:
pts = hv.Points(data)
In [102]:
%%opts RGB [width=600, height=600]
from holoviews.operation.datashader import datashade, dynspread
dynspread(datashade(pts))
Out[102]:
In [96]:
%%opts Points [tools=['hover']]
pts
Out[96]:
In [80]:
pts.opts(plot={'width':300, 'height':300})
Out[80]:
In [82]:
%%opts Points [width=600, height=600] (color='red', marker='+')
pts
Out[82]:
In [87]:
def get_points(a=0, b=0):
return hv.Points(np.random.multivariate_normal([0,0], [[1,a], [b,1]], N))
In [90]:
dmap = hv.DynamicMap(get_points, kdims=['a', 'b'])
dmap = dmap.redim.range(a=(0.,5.), b=(0,5.))
In [91]:
dmap
Out[91]:
In [ ]:
In [ ]:
In [ ]:
from lsst.daf.persistence import Butler
butler = Butler('/project/tmorton/DM-10765')
In [ ]:
exp = butler.get('deepCoadd_calexp', tract=9813, patch='4,4', filter='HSC-I')
mask = exp.mask
In [103]:
# the matplotlib way
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
def plotMaskSub(arr, title, cmap=None, vmin=None, vmax=None):
plt.imshow(arr, vmin=vmin, vmax=vmax, origin='lower', cmap=cmap, interpolation='nearest')
plt.title(title)
fig = plt.figure(figsize=(12,12))
for i, (name, bit) in enumerate(mask.getMaskPlaneDict().items()):
fig.add_subplot(4, 4, i + 1)
plotMaskSub(np.where(mask.array & 2**bit, 1, 0), name, cmap='Greys')
plt.axis('off')
In [105]:
# holoviews/datashader way
from holoviews.operation.datashader import regrid, shade
def plotMaskSub(arr, title, cmap=None, vmin=None, vmax=None):
return shade(regrid(hv.Image(arr).relabel(title), aggregator='max')).opts(plot=dict(xaxis=None, yaxis=None))
imlist = []
for name, bit in mask.getMaskPlaneDict().items():
arr = np.where(mask.array & 2**bit, 1, 0)
imlist.append(plotMaskSub(arr, name))
hv.Layout(imlist).cols(4)
Out[105]: