Real time spike sorting
Real time spike sorting capabilities will greatly improve the usability of the system for acute experiments. Real time spike sorting algorithms generally fall into two categories, one that use the wave forms directly (e.g. box or vertical line method) and methods that use PCA space.
Currently, both the box method and PCA method are implemented in a new Spike Detector processor:
The box method allows to create as many units as you want. Each unit can have one or more boxes. A wave form is considered to belong to a specific unit only if it intersects all of its boxes.
The PCA shows the two largest principal components of the spike wave form covariance matrix. Units are defined as polygons in this space. Each unit can only have a single polygon.
Both techniques can be use in parallel, but the PCA method has priority. In other words, if a spike fits a pca polygon and a box unit, it will be assigned to the pca unit.
Sorted unit information (which electrode, which unique unit ID, color) are stored in the spike object that is passed on the pipeline.
Network Events
The network event module listens over the network on a specific port. Implementation is based on the widely used 0MQ library.
Special commands will be transferred to other modules (e.g. remote start/stop recording, etc).
The network event module sends incoming messages on the pipeline using the midi buffer, with a special NETWORK event code.