Study of neural circuits and the brain 'systems' they form in the context of animal behavior.
In-vivo electrophysiology (Ephys) is a crucial technique: recording the activity of neurons in awake, behaving animals.
- Allow fast access to small chunks of data and support larger-than-memory workloads.
- Structure data/metadata at different levels.
import tables # Create hdf5 file hf5 = tables.open_file(hdf5_name[-1]+'.h5', 'w', title = hdf5_name[-1]) # Node for raw electrode data hf5.create_group('/', 'raw') # Node for digital inputs hf5.create_group('/', 'digital_in') # Node for digital outputs hf5.create_group('/', 'digital_out') hf5.close() # Create an array with data hf5.create_array('/raw', 'electrode1', electrode1_data)
The data is extracted as numpy arrays following the hierarchy of the nodes in the HDF5 file
# Extract the spike waveforms of neuron 1 data = hf5.root.sorted_units.unit001.waveforms[:]
# Define a UnitDescriptor class to be used # to add things (anything!) about the sorted # units to a pytables table class UnitDescriptor(tables.IsDescription): electrode_number = tables.Int32Col() # Is this a single neuron? single_unit = tables.Int32Col() # 2 types of single neurons regular_spiking = tables.Int32Col() fast_spiking = tables.Int32Col()
import easygui # Get name of directory with the data files dir_name = easygui.diropenbox() # Get the type of data files (.rhd or .dat) file_type = easygui.multchoicebox(msg = 'File type', choices = ('.dat', '.rhd'))
Paper in Proceedings of Scipy 2017
Katz lab website
Github: narendramukherjee/blech_clust
Email: narendra(at)brandeis(dot)edu
Space | Forward |
---|---|
Right, Down, Page Down | Next slide |
Left, Up, Page Up | Previous slide |
P | Open presenter console |
H | Toggle this help |