SpikeInterface 0.95.0 release notes¶
2nd September 2022
Main changes:
Add BaseSnippets object to handle waveform cutouts (https://github.com/SpikeInterface/spikeinterface/pull/764)
Sacrificed toolkit in favor of: preprocessing, postprocessing, qualitymetrics, and curation modules (https://github.com/SpikeInterface/spikeinterface/pull/745)
Major refactoring widget module to allow for multiple backends (https://github.com/SpikeInterface/spikeinterface/pull/686 / https://github.com/SpikeInterface/spikeinterface/pull/786 / ) * matplotlib * ipywidgets * sortingview
First implementations of (experimental) sortingcomponents-based sorters: * spykingcircus2 (https://github.com/SpikeInterface/spikeinterface/pull/787) * tridesclous2 (https://github.com/SpikeInterface/spikeinterface/pull/800)
core:
Add ZARR storage_options argument to enable cloud read/write (https://github.com/SpikeInterface/spikeinterface/pull/622)
Add seed for sampling waveforms (https://github.com/SpikeInterface/spikeinterface/pull/629)
Allow for unconnected contacts when setting probe (https://github.com/SpikeInterface/spikeinterface/pull/646)
Refactor nested recursive functions (https://github.com/SpikeInterface/spikeinterface/pull/651 / https://github.com/SpikeInterface/spikeinterface/pull/774)
Switch to packaging (https://github.com/SpikeInterface/spikeinterface/pull/697)
Add BinaryFolderRecording and is_binary_compatible() (https://github.com/SpikeInterface/spikeinterface/pull/726)
Fixed SharedMemory buffer (https://github.com/SpikeInterface/spikeinterface/pull/741)
Improve handling of unitless NEO extractors (https://github.com/SpikeInterface/spikeinterface/pull/758)
Add mp_context arg to control multiprocessing (https://github.com/SpikeInterface/spikeinterface/pull/781)
Option to automatically cast unsigned dtypes in get_traces (https://github.com/SpikeInterface/spikeinterface/pull/798)
Add mode=”memory” for WaveformExtractor (https://github.com/SpikeInterface/spikeinterface/pull/832)
Patch memory leak when saving to Zarr (https://github.com/SpikeInterface/spikeinterface/pull/915)
Add return_scaled in write_to_h5 format (https://github.com/SpikeInterface/spikeinterface/pull/908)
Improved NEO wrapper to handle multi-blocks and return number of blocks and stream info (https://github.com/SpikeInterface/spikeinterface/pull/909)
Update OpenEphys and SpikeGLX for NEO and ProbeInterface releases (https://github.com/SpikeInterface/spikeinterface/pull/916)
extractors:
Fix 1D kilosort/phy spiketrains (https://github.com/SpikeInterface/spikeinterface/pull/617)
Propagate NEO annotations to SI objects (https://github.com/SpikeInterface/spikeinterface/pull/627)
Add AlphaOmega support (https://github.com/SpikeInterface/spikeinterface/pull/637)
Improve BIDS reader (https://github.com/SpikeInterface/spikeinterface/pull/647)
Add ros3` support for NWB (https://github.com/SpikeInterface/spikeinterface/pull/658)
Fix neo kwargs propagation (https://github.com/SpikeInterface/spikeinterface/pull/723)
Load ADC sample shifts for Open Ephys and SpikeGLX (Neuropixels) (https://github.com/SpikeInterface/spikeinterface/pull/734 / https://github.com/SpikeInterface/spikeinterface/pull/759)
Load gain for MEArec (https://github.com/SpikeInterface/spikeinterface/pull/791)
Added functions to get extractors from name (https://github.com/SpikeInterface/spikeinterface/pull/835)
Update nwb recording extractor to use offsets (https://github.com/SpikeInterface/spikeinterface/pull/846)
Add EDFRecordingExtractor, NeuralynxSortingExtractor, BlackrockSortngExtractor (https://github.com/SpikeInterface/spikeinterface/pull/853 / https://github.com/SpikeInterface/spikeinterface/pull/854 / https://github.com/SpikeInterface/spikeinterface/pull/856)
Fix IBL cbin kwargs (https://github.com/SpikeInterface/spikeinterface/pull/873)
Add snippets extractors: MClust (https://github.com/SpikeInterface/spikeinterface/pull/879) - WaveClus (https://github.com/SpikeInterface/spikeinterface/pull/764)
Fix Phy reading when unit groups are excluded (https://github.com/SpikeInterface/spikeinterface/pull/876)
sorters:
Allow to propagate local SI installation to docker/singularity container (https://github.com/SpikeInterface/spikeinterface/pull/630)
Refactor MATLAB-based sorters to allow compiled versions (https://github.com/SpikeInterface/spikeinterface/pull/631 / https://github.com/SpikeInterface/spikeinterface/pull/660 / https://github.com/SpikeInterface/spikeinterface/pull/649 / https://github.com/SpikeInterface/spikeinterface/pull/684)
Fix docker mechanisms for Windows (https://github.com/SpikeInterface/spikeinterface/pull/635)
Remove unused mdaio from IronClust (https://github.com/SpikeInterface/spikeinterface/pull/638)
Add wave_length param to kilosort (https://github.com/SpikeInterface/spikeinterface/pull/655)
Better handling of GPU requirements (https://github.com/SpikeInterface/spikeinterface/pull/674)
Add default container map (https://github.com/SpikeInterface/spikeinterface/pull/685)
Add extra_requirements mechanism to install required packages in container (https://github.com/SpikeInterface/spikeinterface/pull/689)
Unify handling of job_kwargs across sorters (https://github.com/SpikeInterface/spikeinterface/pull/706)
Optional motion correction for KS2.5 and KS3 (https://github.com/SpikeInterface/spikeinterface/pull/709)
Dump npz sorting in container (https://github.com/SpikeInterface/spikeinterface/pull/779)
Add tmpdir parameter to MS4 (https://github.com/SpikeInterface/spikeinterface/pull/827)
Add SLURM launcher (https://github.com/SpikeInterface/spikeinterface/pull/828)
Add WaveClus from snippets implementation (https://github.com/SpikeInterface/spikeinterface/pull/764)
Extend docker map to HerdingSpikes and Combinato (https://github.com/SpikeInterface/spikeinterface/pull/891 / https://github.com/SpikeInterface/spikeinterface/pull/889)
Fixes to pykilosort (https://github.com/SpikeInterface/spikeinterface/pull/890)
preprocessing:
Allow artifact removal of single sample when ms_before=ms_after=None (https://github.com/SpikeInterface/spikeinterface/pull/618)
Add operator to CMR kwargs (https://github.com/SpikeInterface/spikeinterface/pull/634/files)
Add DeepInterpolationRecording (https://github.com/SpikeInterface/spikeinterface/pull/661)
Add zscore preprocessing (https://github.com/SpikeInterface/spikeinterface/pull/679)
Enable specification of dtype for whitening (https://github.com/SpikeInterface/spikeinterface/pull/881)
postprocessing:
Fix template metrics return values (https://github.com/SpikeInterface/spikeinterface/pull/620)
Add sparsity option for template metrics (https://github.com/SpikeInterface/spikeinterface/pull/629)
Added SpikeLocationsCalculator as WaveformExtension (https://github.com/SpikeInterface/spikeinterface/pull/735)
Improve efficiency and verbosity of PCA (https://github.com/SpikeInterface/spikeinterface/pull/739)
Add ISI histograms (https://github.com/SpikeInterface/spikeinterface/pull/760)
Refactor ISI histograms, CrossCorrelograms, TemplateSimilarity, and UnitLocations extensions (https://github.com/SpikeInterface/spikeinterface/pull/778)
Fix fancy indexing for arrays (https://github.com/SpikeInterface/spikeinterface/pull/816)
qualitymetrics:
Improved tests (https://github.com/SpikeInterface/spikeinterface/pull/692)
Add sparsity to quality metrics computation (https://github.com/SpikeInterface/spikeinterface/pull/739)
- curation:
Add CurationSortingExtractor class (https://github.com/SpikeInterface/spikeinterface/pull/612)
Add deduplication of spike trains (https://github.com/SpikeInterface/spikeinterface/pull/776 / https://github.com/SpikeInterface/spikeinterface/pull/817)
comparison:
Fix multicomparison duplicate removal (https://github.com/SpikeInterface/spikeinterface/pull/620)
Add option to remove sorters folder in GTStudy (https://github.com/SpikeInterface/spikeinterface/pull/629)
Better internal handling of comparison objects in multicomparison (https://github.com/SpikeInterface/spikeinterface/pull/732)
widgets:
Improved similarity widget (https://github.com/SpikeInterface/spikeinterface/pull/665)
Allow selection of waveforms to plot (https://github.com/SpikeInterface/spikeinterface/pull/672/files)
Add Tiled plot (https://github.com/SpikeInterface/spikeinterface/pull/693 / https://github.com/SpikeInterface/spikeinterface/pull/821)
Refactor multiple widgets (https://github.com/SpikeInterface/spikeinterface/pull/762 / https://github.com/SpikeInterface/spikeinterface/pull/820)
Multi-layer timeseries (https://github.com/SpikeInterface/spikeinterface/pull/783)
Add sorting_summary widget for sortingview (https://github.com/SpikeInterface/spikeinterface/pull/795)
Fix generation of docstrings for plot_ functions (https://github.com/SpikeInterface/spikeinterface/pull/920)
Unify generation of 2d axes in MPL (https://github.com/SpikeInterface/spikeinterface/pull/921)
sortingcomponents:
Component-specific benchmarks (https://github.com/SpikeInterface/spikeinterface/pull/667 / https://github.com/SpikeInterface/spikeinterface/pull/678 / https://github.com/SpikeInterface/spikeinterface/pull/839)
Restructure matching module (https://github.com/SpikeInterface/spikeinterface/pull/668)
Refactor motion correction (https://github.com/SpikeInterface/spikeinterface/pull/669)
Add numba isocut implementation (https://github.com/SpikeInterface/spikeinterface/pull/688)
Add nearest neighbor NN triaging (https://github.com/SpikeInterface/spikeinterface/pull/694/files)
Add compute features from peaks (https://github.com/SpikeInterface/spikeinterface/pull/754)
Implement “peak pipeline” (https://github.com/SpikeInterface/spikeinterface/pull/845)
docs:
Documentation updates for quality_metrics (https://github.com/SpikeInterface/spikeinterface/pull/666)
Automatic generation of function from classes (https://github.com/SpikeInterface/spikeinterface/pull/673)
Add intersphinx for neo readers (https://github.com/SpikeInterface/spikeinterface/pull/677)
Improve API documentation (https://github.com/SpikeInterface/spikeinterface/pull/691)
Improve documentation of containerized sorters (https://github.com/SpikeInterface/spikeinterface/pull/765 / https://github.com/SpikeInterface/spikeinterface/pull/777)
Expose classes in the API docs (https://github.com/SpikeInterface/spikeinterface/pull/863)
CI:
Add NWB ros3 test
Add code coverage (https://github.com/SpikeInterface/spikeinterface/pull/675)
Create automatic issue when a MATLAB file is changes – might require docker image update (https://github.com/SpikeInterface/spikeinterface/pull/756)