sigTOOL supports waveform data that is sampled continously (e.g. extacellular spike recordings, ion channel currents, ECGs) or episodically (e.g local field potentials, single spikes). Episodes of data may be of unequal length.
Digital Filtering | FIR and IIR filter design and implementation |
Downsampling | Automatic filtering then downsampling of data by an integer factor |
Averaging | Stimulus and spike triggered averaging. Mean or median based averaging with error estimation |
Auto - and cross- correlation | Fast, FFT-based estimation of the correlations |
Power | Spectra and spectral density estmates |
Coherence | |
Independent Components Analysis | Links to the FastICA and Icasso packages for ICA |
Most standard spike-train analysis functions are supported by sigTOOL. For added speed, the computational cores have been coded in C++ and are implemented as MATLAB mex files.
sigTOOL ordinarily represents spike-trains as a vector of timestamps. Markers and metadata may be associated with each timestamp allowing mutilple spikes to be represented in a single data channel. Additionally, each timestamp may be associated with the waveform data representing the spike.
Spike-train channels can also be converted to waveform channels by binning the spike count. This allows any of the waveform processing routines to be applied to the spikes and allows combined waveform and spike-train analysis.
• Interspike interval distributions |
• Rasters |
|
• Post- and peri- stumulus time histograms |
• Joint peri-stimulus time histograms |
|
• Poincaré plots |
• Frequencygrams |
|
• Event auto- and cross- correlations |
• Spike-triggered averaging |
sigTOOL uses custom-written code, together with NeuroShare and manufacturer-supplied dynamic libraries to load data. Special thanks are due to the NeuroShare team for the Neuroshare generic libraries and MultiChannel Systems for providing non-Windows versions.
sigTOOL has built in links to several MATLAB-based software packages developed by others:
• Waveclus for spike recognition (developed by Rodrigo Quian Quiroga)
• EzyFit curve fitting (developed by Frédéric Moisy)
• FastICA and Icasso for independent components analysis (various authors, see links)
• mmread multi-media import functions (developed by Micah Richert)
sigTOOL provides single-click export of analyis results on Windows platforms. This includes data output to:
• Microsoft Excel
• SigmaPlot
• Origin
Graphical output is supported in a number of bit-mapped and vector formats(including EPS and PDF).
|
---|
sigTOOL is modular and uses object-oriented programming techniques. Custom-designed data and analysis objects are associated with easy-to-use, user-callable methods that are highly optimized for speed and memory performance.
Third-party developers who use these methods can [1] develop novel algorithms quickly, [2] take advantage of the speed and and memory performance of the methods and [3] ensure that their code will remain usable in the future as these methods provide a constant API despite improvements to the underlying 'nuts-and-bolts' code of the sigTOOL system. Among the improvements planned for the sigTOOL 1.00 release, is support for highly parallel GPGPU processing. With MATLAB's parallel computing toolboxes, sigTOOL data objects readily support distributed data networks and cloud computing.