Page tree
Skip to end of metadata
Go to start of metadata

The aim of the plugin architecture is to ease the process of creating and sharing different tools between researchers. We thus encourage plugin developers to share their work with the community. We plan to create an easy to use tool to publish and find plugins but in the meanwhile, any developer can edit this page to add links to their source repositories and binary plugin distributions, if so they wish. If you're a developer, please feel free to add your plugins below.

In case of links to binary plugins, we advise to add a description stating which version of the GUI were they built for, so in case the API changes users can know which binary releases work with with versions.

Frame Grabber


Description: A simple video4linux2-based video frame grabber plugin. It retrieves frames from any device supported by v4l2 and displays them using opencv. Moreover, frames can be saved to disk (in jpg format) together with open-ephys hardware time stamps making it easy to synchronize frames and recorded data later on. Depending on your camera this approach should be useful for most (behavioral) tracking experiments. In case the experiment requires very precise time stamps, e.g., high-speed whisker tracking, it might be a good idea to use a camera that can send TTL pulses for each frame.

Source code: https://github.com/arnefmeyer/FrameGrabberPlugin

 

Dynamic Threshold for Spike Detection


Description: This is a modification of the standard SpikeDetector plugin where instead of using a fixed amplitude threshold, we compute a dynamic threshold as described by Quiroga et al.. The plugin remains compatible with the standard SpikeViewer plugin.

Source code: https://github.com/camigord/DynamicSpikeDetectorPlugin

 

Virtual Reference

Description: Implements a virtual reference matrix that is a bit more flexible than open-ephys' channel mapper.

Source code: https://github.com/arnefmeyer/VirtualReferencePlugin


Python Integration


Description: enables the insertion of Processor code written in Cython (compiled Python code) in the signal chain. The plugin can be written in essentially pure Python (all required Cython peculiarities are taken care of in the wrapper code). Basic GUI elements are provided to provide editing possibilities for a few parameters in an Editor sub window. These may be directly controlled from the Python interface and do not require any Python coding. Some examples of plugin code are provided for e.g. Sharp wave/ripple detection and suppression. 

NOTE: Currently the code is ported to Linux and MacOS. If somebody wishes to port it to Windows, please contact me (email address in my Github page) and I will give you all the necessary information. 

Source code: https://github.com/fpbattaglia/PythonPlugin 


ZeroMQ interface


Description: This plugin (a Filter) broadcasts all recorded data and events via a ZeroMQ protocol. External applications can register to the stream and receive all data. Applications can also introduce events in the Open Ephys recording. The Plugin keeps track of which applications are register to the stream and which one are still connected (via a heartbeat) mechanism. This plugin is meant to provide a way to extend the Open-Ephys interface with GUI elements (e.g. advanced online analysis/visualization) while not interfering with the signal chain. Because the application runs in a separate process, the use of libraries not compatible with the JUCE framework is possible. A crash of the extension will not jeopardize recording (but will be signaled by the plugin). 

NOTE: Currently the code is ported to Linux and MacOS. If somebody wishes to port it to Windows, please contact me (email address in my Github page) and I will give you all the necessary information. 

Source code: https://github.com/fpbattaglia/ZMQInterface 

Real-Time Statistics


Description: This module calculates real-time statistics from spike object timestamps for each sorted neuron. The plugin displays statistics and a histogram once user set requirement of time and number of spikes is met. Can be set to broadcast TTL events in response to an instantaneous firing rate being outside of a standard deviation (can be scaled with a factor) from the mean. Detailed documentation of use can be found with the source code. 

Source code: https://github.com/Claybarn/RT-Stat


pelletDispenser

Description: This module allows for an interface with an Arduino connected via USB to control the pellet dispenser featured on this site. In response to a TTL event, the Arduino will be triggered to dispense a sugar pellet. Both the sketch uploaded to the Arduino and the module can be found on the github page.

Source code: https://github.com/Claybarn/pelletDispenserOutput

  • No labels