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

GitHub repository

Description to come.