.. _release0.102.0: SpikeInterface 0.102.0 release notes ------------------------------------ 7th February 2025 Main changes: * Added auto-label functions in curation module (#2918) * Refactored and improved auto-merge functions in curation module (#3435, #3601) * Added `spikeinterface.load()` function to load any SpikeInterface object (#3613, #3651) * Improved handling of time in base recording (#3509, #3623) * Multi-segment handling of motion interpolation (#3659) * Support for Numpy 2.0 and Zarr<3.0 (#3481,#3598) core: * Extend si.load capabilities (#3651) * Use process as default in global job kwargs (#3648) * Fix node pipeline when multiple retrievers (#3642) * Add `get_start_time`/`get_end_time` functions and use them in `get_duration` (#3623) * Fix dataframe index dtype due to csv in quality metrics (#3622) * Replace `load_extractor` with `load_function` from `loading.py` (#3613) * Adding SharedMemoryTemplates (#3580) * Implement engine="thread" in ChunkRecordingExecutor (#3526) * Add `shift start time` function. (#3509) * recording_slices in run_node_pipeline() (#3506) * Template loading average or median (#3495) * Refactor matching with nodepiepeline (#3447) * Improve noise level machinery (#3359) * nodepipeline : skip chunks when no peaks inside and skip_after_n_peaks (#3356) extractors: * Pin `pyedflib` version after breaking change in annotations (#3644) * Add experiment_name annotation to open ephys (#3624) * Add `NwbTimeSeriesExtractor` to load non-electrical series data from NWB (#3587) * Add `stream_mode` as extra_requirements for NWB when streaming (#3548) * Fix cbin_file_path (#3524) * Expose reading attempts in Plexon2 (#3401) * Add neuronexus allego recording Extractor (#3235) preprocessing: * Check for channel_indices is None (#3636) * Fix silence periods (#3557) * Extend whitening tests (#3531) * Don't let decimate mess with times and skim tests (#3519) * Whitening fix - compute covariance matrix in float (#3505) sorters: * Change to default value `use_binary_file=True` for KS4 (#3614) * Remove Non-Serializable writing of json (#3482) * Sc2 fixes (#3250, #3518) postprocessing: * Add a fast correlogram merge (#3607) * Unify template and quality metrics (#3537) * Only load `template_metrics` extension on compute if keeping some metrics (#3478) * Unit localization (#3476) * Optimizations for template_similarity (numba and dependencies) (#3405) qualitymetrics: * Hard code `synchony_sizes` (#3559) * Unify template and quality metrics (#3537) * Fix dtype of quality metrics before and after merging (#3497) curation: * Small fixes in curation format and `apply_curation()` (#3601) * Refactoring auto_merge (#3435) * Automatic curation with metrics (#2918) widgets: * Make `time_range` conversion to array dtype `float64` (#3638) * Fix `plot_sorting_summary` widget (#3627) * Changes for spikeinterface-gui (#3616) * Patch to allow ipywidget plot_unit_templates to work with sparse templates (instead of analyzer) (#3575) * Allow `export_report` to run without waveforms (#3493) * Add vspacing_factor as a param for TracesWidget (#3461) generators: * Use strings as ids in generators (#3588) sortingcomponents: * Split PCA (#3610) * Adding Hanning filtering (#3604) * Fix use of keep during run_sorter benchmark (#3556) * Clustering components api (#3533) * Kilosort-matching in SpikeInterface (#3488) * Matched filtering with both peak signs simultaneously (#2914) motion correction: * Multi-segment handling in motion interpolation (#3659) * MotionEstimationStudy : plot drift with the scatter plot (#3553) * Fix a cross-band interpolation bug, and allow time_vector in interpolate_motion (#3517) documentation: * Fix plot_1_automated_curation.py (#3674) * Extend templates extension docs (#3663) * Use SpikeInterface-ported pre-trained models in doc (#3652) * Dev Doc touchup (#3641) * Fix precision/recall in hybrid example (#3635) * Improve docstring of `get_neuropixels_sample_shifts` (#3620) * Switch RTD build to fail on gallery example failure (#3619) * Fix sphinx doc build (#3612) * Convert generated unit_ids in docs to strings (#3600) * Correct method default in docstring (#3570) * Add custom tutorials index page. (#3504) * Add error messaging around use of get data in templates (#3501) * Fix a few typos in the curation docs (#3496) * Improve error message for `set_probegroup`/`set_probe` (#3479) continuous integration: * Fix codecov tests (#3569) * Add python 313 to CI test (#3481) packaging: * Support numpy 2.0 (#3640) * Force latest hdmf-zarr version (#3639) * Update zarr version (#3598) testing: * Add python Numpy2.0 to CI test (#3481) Contributors: * @522848942 * @JoeZiminski * @OlivierPeron * @alejoe91 * @anoushkajain * @chrishalcrow * @cwindolf * @guptadivyansh * @h-mayorquin * @jakeswann1 * @RobertoDF * @samuelgarcia * @yger * @zm711