GitHub account + Other repositories in the Leifer Lab GitHub organization.
Real-time neuron segmentation for closed loop neuroscience experiments
Repository on GitHub (wormneuronsegmentation-c). Description coming soon. Stay tuned!
Fast pointset registration for closed loop neuroscience + handling of small brains
Repository on GitHub (wormbrain). Description coming soon. Stay tuned!
Neural functional connectivity software
Repositories on Github: worm-functional-connectivity and pummprobe. Descriptions coming soon. Stay tuned!
Data model for 3D image recordings
Repository on GitHub (wormdatamodel). Description coming soon. Stay tuned!
LabView library for neuroscience pump-probe experiments and volumetric imaging
Repository on GitHub (pump-probe-acquisition, README is after a long list of files which are actually well organized inside the LabView project file pump-probe.lvprj). Description coming soon.
Hyperstack
Currently in my mistofrutta repository.
4D+ image viewer, similar to the ImageJ hyperstack mode but that can be run from a Python script and that is based on matplotlib. It can be used not only to view the images, but also to annotate them, and the annotations are accessible from the calling python script, without intermediate storage to a separate file. It can be controlled both via GUI and keyboard-shortcut controls, and supports callback functions for various events, that make it easy to integrate the viewer with existing code.
Can be currently used via mistofrutta.plt.hyperstack2(), but I'm in the process of moving the code for the hyperstack viewer to its own repository and of adding
- selection of lines, rectangles, and polygons (that I wrote/adapted from previous code before writing the hyperstack and that currently live in mistofrutta.geometry.draw)
- code to use the python/matplotlib hyperstack from C code, and therefore from anything that can use C DLLs, like LabView.
Irregular arrays
Currently in my mistofrutta repository.
Extension of the numpy array that supports irregular strides. An irrarray (irregular array) behaves as a numpy array with anything that interacts with it as a numpy array, but has the added functionality of returning array slices of irregular lengths upon call. Originally, I wrote the irrarray extension to be able to store coordinates of neurons extracted from many volumetric images into a single numpy array (and, e.g., scale them all at once with coord *= 2.0), but still be able to obtain the neurons corresponding to a specific volumetric image (with coord(vol=3) instead of coord[i0[3]:i0[4]]). Irrarrays help making this type of code more readable, but can also be passed, for example, to functions like scipy.optimize.minimize as parameters: optimize will see it as a numpy array, but the function that is minimized can use its additional functionalities.
Currently mistofrutta.struct.irrarray.
Library for spectroscopic data
Description to come.