This notebook demonstrates how to display data included in the lmatools repository.
If you haven't yet, process and view sample data included with lmatools
python ~/code/lmatools/testing/test_sklearn.py /path/to/output/files/
Then, edit the data_path in the second cell to include /path/to/output/files/
as defined above. Run all the cells prior to the "Charge Analysis" and try interacting with the plot. You should see some data.
In [1]:
import matplotlib
%matplotlib qt4
# import matplotlib
# matplotlib.use('nbagg')
#import matplotlib.pyplot as plt
from brawl4d.brawl4d import B4D_startup, redraw
import os
In [2]:
data_path = '/data/DC3/flash_sort/'
lma_file = os.path.join(data_path, 'h5_files/2012/Jun/02/LYLOUT_120602_215001_0600.dat.flash.h5')
In the cell below, note that the basedate has been set to match the dataset we specified above.
If you are not using data from the WTLMA, then you'll also need to pass ctr_lon=value
and ctr_lat=value
to B4D_startup.
In [3]:
from datetime import datetime
panels = B4D_startup(basedate=datetime(2012,6,2), ctr_lat=40.4463980, ctr_lon=-104.6368130)
In [4]:
import matplotlib.pyplot as plt; plt.show()
In [5]:
from brawl4d.LMA.controller import LMAController
lma_ctrl = LMAController()
d, post_filter_brancher, scatter_ctrl, charge_lasso = lma_ctrl.load_hdf5_to_panels(panels, lma_file)
In [7]:
h,m,s,dt = 21, 50, 0, 60
panels.panels['tz'].axis((h*3600 + m*60 + s, h*3600 + m*60 + s+dt, 1, 18))
panels.panels['xy'].axis((-150, 150, -150, 150))
Out[7]:
In [6]:
from brawl4d.LMA.widgets import LMAwidgetController
from IPython.display import display
from brawl4d.LMA.controller import LMAController
lma_tools = LMAwidgetController(panels, lma_ctrl, scatter_ctrl, charge_lasso, d)
display(lma_tools.tools_popup)
Zoom in on a few cells of interest. The smaller, western and northern cells here are anomalously electrified, while the larger cluster is normally electrified.
In [9]:
h,m,s,dt = 21, 50, 0, 60*10
panels.panels['tz'].axis((h*3600 + m*60 + s, h*3600 + m*60 + s+dt, 1, 18))
panels.panels['xy'].axis((35, 60, 45, 70))
Out[9]:
In [8]:
panels.bounds.limits()
Out[8]:
In [ ]: