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