From c5fc74983cb1b8801a5e4e65ad91fd019c6770d5 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 5 Sep 2024 11:49:57 +0200 Subject: [PATCH 01/16] (wip) 0.101.1 --- doc/releases/0.101.0.rst | 2 +- doc/releases/0.101.1.rst | 113 +++++++++++++++++++++++++++++++++ doc/whatisnew.rst | 7 ++ pyproject.toml | 16 ++--- src/spikeinterface/__init__.py | 4 +- 5 files changed, 131 insertions(+), 11 deletions(-) create mode 100644 doc/releases/0.101.1.rst diff --git a/doc/releases/0.101.0.rst b/doc/releases/0.101.0.rst index c34cd0dc8e..0e686cca1a 100644 --- a/doc/releases/0.101.0.rst +++ b/doc/releases/0.101.0.rst @@ -3,7 +3,7 @@ SpikeInterface 0.101.0 release notes ------------------------------------ -Estimated: 19th July 2024 +19th July 2024 Main changes: diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst new file mode 100644 index 0000000000..41f76d4815 --- /dev/null +++ b/doc/releases/0.101.1.rst @@ -0,0 +1,113 @@ +.. _release0.101.0: + +SpikeInterface 0.101.0 release notes +------------------------------------ + +6th September 2024 + +Main changes: + +* + +core: + +* Add `BaseRecording.reset_times()` function (#3363) +* Add `load_sorting_analyzer_or_waveforms` function (#3352) +* Propagate storage_options to load_sorting_analyzer (#3351) +* Fix zarr folder suffix handling (#3349) +* Lazy loading of zarr timestamps (#3318) +* Enable cloud-loading for analyzer Zarr (#3314) +* Refactor `set_property` in base (#3287) +* Job kwargs fix (#3259) +* Add check for None in 'NoiseGeneratorRecordingSegment' get_traces(). (#3230) + +extractors: + +* "quality" property to be read as string instead of object in `BasePhyKilosortSortingExtractor` (#3365) +* Test IBL skip when the setting up the one client fails (#3289) + +preprocessing: + +* Update doc handle drift + better preset (#3232) +* Add causal filtering to filter.py (#3172) + +sorters: + +* fix: download apptainer images without docker client (#3335) +* Expose save preprocessing in ks4 (#3276) +* Fix KS2/2.5/3 skip_kilosort_preprocessing (#3265) +* added lowpass parameter, fixed verbose option (#3262) +* Now exclusive support for HS v0.4 (Lightning) (#3210) +* Add kilosort4 wrapper tests (#3085) + +postprocessing: + +* Protect median against nans in get_prototype_spike (#3270) +* Fix docstring and error for spike_amplitudes (#3269) + + +curation: + +* Clean-up identity merges in `get_potential_auto_merges` (#3346) +* Fix sortingview curation no merge case (#3309) +* Start apply_curation() (#3208) + +widgets: + +* Fix widgets tests and add test on unit_table_properties (#3354) +* Allow quality and template metrics in sortingview's unit table (#3299) +* Fix #3236 (#3238) + +sortingcomponents: + +* Update doc handle drift + better preset (#3232) + +motion correction: + +* Make InterpolateMotionRecording not JSON-serializable (#3341) + +documentation: + +* Clarify meaning of `delta_time` in `compare_sorter_to_ground_truth` (#3360) +* Added sphinxcontrib-jquery (#3307) +* Adding return type annotations (#3304) +* More docstring updates for multiple modules (#3298) +* Fix sampling frequency repr (#3294) +* Proposal for adding Examples to docstrings (#3279) +* More numpydoc fixes (#3275) +* Fix docstring and error for spike_amplitudes (#3269) +* Fix postprocessing docs (#3268) +* Fix name of principal_components ext in qm docs (take 2) (#3261) +* Update doc handle drift + better preset (#3232) +* Add `int` type to `num_samples` on `InjectTemplatesRecording`. (#3229) + +continuous integration: + +* Fix streaming extractor condition in the CI (#3362) + +packaging: + +* Drop python 3.8 in pyproject.toml (#3267) + +testing: + +* Fix streaming extractor condition in the CI (#3362) +* Test IBL skip when the setting up the one client fails (#3289) +* Refactor `set_property` in base (#3287) +* Add kilosort4 wrapper tests (#3085) + +Contributors: + +* @Djoels +* @JoeZiminski +* @JuanPimientoCaicedo +* @alejoe91 +* @app/pre-commit-ci +* @chrishalcrow +* @h-mayorquin +* @jonahpearl +* @mhhennig +* @rkim48 +* @samuelgarcia +* @tabedzki +* @zm711 diff --git a/doc/whatisnew.rst b/doc/whatisnew.rst index 94da5d15fb..56d38ce85b 100644 --- a/doc/whatisnew.rst +++ b/doc/whatisnew.rst @@ -8,6 +8,7 @@ Release notes .. toctree:: :maxdepth: 1 + releases/0.101.1.rst releases/0.101.0.rst releases/0.100.8.rst releases/0.100.7.rst @@ -43,6 +44,12 @@ Release notes releases/0.9.1.rst +Version 0.101.1 +=============== + + + + Version 0.101.0 =============== diff --git a/pyproject.toml b/pyproject.toml index 8309ca89fe..db435998a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -125,16 +125,16 @@ test_core = [ # for github test : probeinterface and neo from master # for release we need pypi, so this need to be commented - "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", - "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", + # "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", + # "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", ] test_extractors = [ # Functions to download data in neo test suite "pooch>=1.8.2", "datalad>=1.0.2", - "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", - "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", + # "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", + # "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", ] test_preprocessing = [ @@ -175,8 +175,8 @@ test = [ # for github test : probeinterface and neo from master # for release we need pypi, so this need to be commented - "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", - "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", + # "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", + # "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", ] docs = [ @@ -200,8 +200,8 @@ docs = [ "datalad>=1.0.2", # for release we need pypi, so this needs to be commented - "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", # We always build from the latest version - "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", # We always build from the latest version + # "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", # We always build from the latest version + # "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", # We always build from the latest version ] diff --git a/src/spikeinterface/__init__.py b/src/spikeinterface/__init__.py index 306c12d516..97fb95b623 100644 --- a/src/spikeinterface/__init__.py +++ b/src/spikeinterface/__init__.py @@ -30,5 +30,5 @@ # This flag must be set to False for release # This avoids using versioning that contains ".dev0" (and this is a better choice) # This is mainly useful when using run_sorter in a container and spikeinterface install -DEV_MODE = True -# DEV_MODE = False +# DEV_MODE = True +DEV_MODE = False From f73acfe73a8f052bce5d36c07c4e9606d0b8aeab Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 5 Sep 2024 11:58:20 +0200 Subject: [PATCH 02/16] Add date format in auto-release-notes --- doc/scripts/auto-release-notes.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/scripts/auto-release-notes.sh b/doc/scripts/auto-release-notes.sh index 14bee3dad0..f3818e1e18 100644 --- a/doc/scripts/auto-release-notes.sh +++ b/doc/scripts/auto-release-notes.sh @@ -1,6 +1,6 @@ #!/bin/bash if [ $# -eq 0 ]; then - echo "Usage: $0 START_DATE END_DATE [LABEL] [BRANCH1,BRANCH2] [LIMIT]" + echo "Usage: $0 START_DATE (format: YEAR-MM-DD) END_DATE [LABEL] [BRANCH1,BRANCH2] [LIMIT]" exit 1 fi From 71a5b09a49522a06e69e59bd0777056f8bf6ab17 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 5 Sep 2024 13:51:10 +0200 Subject: [PATCH 03/16] Apply suggestions from code review Co-authored-by: Zach McKenzie <92116279+zm711@users.noreply.github.com> --- doc/releases/0.101.1.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index 41f76d4815..d2b0d35020 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -1,6 +1,6 @@ -.. _release0.101.0: +.. _release0.101.1: -SpikeInterface 0.101.0 release notes +SpikeInterface 0.101.1 release notes ------------------------------------ 6th September 2024 From 992716fa01d44724d83a7cb749bb2a1524d5af26 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 12 Sep 2024 17:30:53 +0200 Subject: [PATCH 04/16] Update release notes --- doc/releases/0.101.1.rst | 52 +++++++++++++++++++++++++++++----------- doc/whatisnew.rst | 5 ++++ 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index d2b0d35020..d8c8dffddd 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -3,28 +3,35 @@ SpikeInterface 0.101.1 release notes ------------------------------------ -6th September 2024 +13th September 2024 Main changes: -* +* Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) +* Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) +* Skip recomputation of quality and template metrics if already computed (#3292) +* Dropped support for Python<3.9 (#3267) core: -* Add `BaseRecording.reset_times()` function (#3363) +* Fix proposal for channel location when probegroup (#3392) +* Fix time handling test memory (#3379) +* Add `BaseRecording.reset_times()` function (#3363, #3380, #3391) +* Extend `estimate_sparsity` methods and fix from_ptp (#3369) * Add `load_sorting_analyzer_or_waveforms` function (#3352) -* Propagate storage_options to load_sorting_analyzer (#3351) * Fix zarr folder suffix handling (#3349) +* Analyzer extension exit status (#3347) * Lazy loading of zarr timestamps (#3318) -* Enable cloud-loading for analyzer Zarr (#3314) +* Enable cloud-loading for analyzer Zarr (#3314, #3351, #3378) * Refactor `set_property` in base (#3287) * Job kwargs fix (#3259) -* Add check for None in 'NoiseGeneratorRecordingSegment' get_traces(). (#3230) +* Add `is_filtered` to annotations in `binary.json` (#3245) +* Add check for None in `NoiseGeneratorRecordingSegment`` get_traces() (#3230) extractors: +* Load phy channel_group as group (#3368) * "quality" property to be read as string instead of object in `BasePhyKilosortSortingExtractor` (#3365) -* Test IBL skip when the setting up the one client fails (#3289) preprocessing: @@ -33,18 +40,25 @@ preprocessing: sorters: -* fix: download apptainer images without docker client (#3335) +* Updates to kilosort 4: version >= 4.0.16, `bad_channels`, `clear_cache`, `use_binary_file` (#3339) +* Download apptainer images without docker client (#3335) * Expose save preprocessing in ks4 (#3276) * Fix KS2/2.5/3 skip_kilosort_preprocessing (#3265) -* added lowpass parameter, fixed verbose option (#3262) +* HS: Added lowpass parameter, fixed verbose option (#3262) * Now exclusive support for HS v0.4 (Lightning) (#3210) * Add kilosort4 wrapper tests (#3085) postprocessing: +* Add extra protection for template metrics (#3364) * Protect median against nans in get_prototype_spike (#3270) * Fix docstring and error for spike_amplitudes (#3269) +qualitymetrics: + +* Do not delete quality and template metrics on recompute (#3292) +* Refactor quality metrics tests to use fixture (#3249) + curation: @@ -56,15 +70,17 @@ widgets: * Fix widgets tests and add test on unit_table_properties (#3354) * Allow quality and template metrics in sortingview's unit table (#3299) -* Fix #3236 (#3238) +* Add subwidget parameters for UnitSummaryWidget (#3242) +* Fix `ipympl`/`widget` backend check (#3238) -sortingcomponents: +generators: -* Update doc handle drift + better preset (#3232) +* Handle case where channel count changes from probeA to probeB (#3237) -motion correction: +sortingcomponents: -* Make InterpolateMotionRecording not JSON-serializable (#3341) +* Update doc handle drift + better preset (#3232) +* Make `InterpolateMotionRecording`` not JSON-serializable (#3341) documentation: @@ -87,14 +103,19 @@ continuous integration: packaging: +* Minor typing fixes (#3374) * Drop python 3.8 in pyproject.toml (#3267) testing: +* Fix time handling test memory (#3379) * Fix streaming extractor condition in the CI (#3362) * Test IBL skip when the setting up the one client fails (#3289) * Refactor `set_property` in base (#3287) +* Refactor quality metrics tests to use fixture (#3249) * Add kilosort4 wrapper tests (#3085) +* Test IBL skip when the setting up the one client fails (#3289) + Contributors: @@ -104,7 +125,10 @@ Contributors: * @alejoe91 * @app/pre-commit-ci * @chrishalcrow +* @cwindolf +* @florian6973 * @h-mayorquin +* @jiumao2 * @jonahpearl * @mhhennig * @rkim48 diff --git a/doc/whatisnew.rst b/doc/whatisnew.rst index 56d38ce85b..330f72f215 100644 --- a/doc/whatisnew.rst +++ b/doc/whatisnew.rst @@ -47,7 +47,12 @@ Release notes Version 0.101.1 =============== +Minor release with bug fixes and minor improvements: +* Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) +* Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) +* Skip recomputation of quality and template metrics if already computed (#3292) +* Dropped support for Python<3.9 (#3267) Version 0.101.0 From 82093448e6cf0b3675e280cfe61331bd7ba4b3a9 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 12 Sep 2024 19:33:59 +0200 Subject: [PATCH 05/16] Update version to 0.102.0 --- doc/releases/{0.101.1.rst => 0.102.0.rst} | 7 ++++--- doc/whatisnew.rst | 6 +++--- pyproject.toml | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) rename doc/releases/{0.101.1.rst => 0.102.0.rst} (95%) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.102.0.rst similarity index 95% rename from doc/releases/0.101.1.rst rename to doc/releases/0.102.0.rst index d8c8dffddd..1ae1c44a09 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.102.0.rst @@ -1,6 +1,6 @@ -.. _release0.101.1: +.. _release0.102.0: -SpikeInterface 0.101.1 release notes +SpikeInterface 0.102.0 release notes ------------------------------------ 13th September 2024 @@ -10,6 +10,7 @@ Main changes: * Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) * Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) * Skip recomputation of quality and template metrics if already computed (#3292) +* Modified and improved `estimate_sparsity` and refactored `from_ptp` option (#3369) * Dropped support for Python<3.9 (#3267) core: @@ -17,7 +18,7 @@ core: * Fix proposal for channel location when probegroup (#3392) * Fix time handling test memory (#3379) * Add `BaseRecording.reset_times()` function (#3363, #3380, #3391) -* Extend `estimate_sparsity` methods and fix from_ptp (#3369) +* Extend `estimate_sparsity` methods and update `from_ptp`` (#3369) * Add `load_sorting_analyzer_or_waveforms` function (#3352) * Fix zarr folder suffix handling (#3349) * Analyzer extension exit status (#3347) diff --git a/doc/whatisnew.rst b/doc/whatisnew.rst index 330f72f215..090722e27b 100644 --- a/doc/whatisnew.rst +++ b/doc/whatisnew.rst @@ -8,7 +8,7 @@ Release notes .. toctree:: :maxdepth: 1 - releases/0.101.1.rst + releases/0.102.0.rst releases/0.101.0.rst releases/0.100.8.rst releases/0.100.7.rst @@ -44,14 +44,14 @@ Release notes releases/0.9.1.rst -Version 0.101.1 +Version 0.102.0 =============== -Minor release with bug fixes and minor improvements: * Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) * Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) * Skip recomputation of quality and template metrics if already computed (#3292) +* Modified and improved `estimate_sparsity` and refactored `from_ptp` option (#3369) * Dropped support for Python<3.9 (#3267) diff --git a/pyproject.toml b/pyproject.toml index db435998a1..1bdf3c303b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "spikeinterface" -version = "0.101.1" +version = "0.102.0" authors = [ { name="Alessio Buccino", email="alessiop.buccino@gmail.com" }, { name="Samuel Garcia", email="sam.garcia.die@gmail.com" }, From c769f5457d3173377c5906e755ec32411e9a978f Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Fri, 13 Sep 2024 12:49:09 +0200 Subject: [PATCH 06/16] Revert back to 0.101.1 --- doc/releases/{0.102.0.rst => 0.101.1.rst} | 10 +++++----- doc/whatisnew.rst | 7 +++---- pyproject.toml | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) rename doc/releases/{0.102.0.rst => 0.101.1.rst} (95%) diff --git a/doc/releases/0.102.0.rst b/doc/releases/0.101.1.rst similarity index 95% rename from doc/releases/0.102.0.rst rename to doc/releases/0.101.1.rst index 1ae1c44a09..38522f0819 100644 --- a/doc/releases/0.102.0.rst +++ b/doc/releases/0.101.1.rst @@ -1,6 +1,6 @@ -.. _release0.102.0: +.. _release0.101.1: -SpikeInterface 0.102.0 release notes +SpikeInterface 0.101.1 release notes ------------------------------------ 13th September 2024 @@ -10,7 +10,7 @@ Main changes: * Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) * Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) * Skip recomputation of quality and template metrics if already computed (#3292) -* Modified and improved `estimate_sparsity` and refactored `from_ptp` option (#3369) +* Improved `estimate_sparsity` with new `amplitude` method and and deprecated `from_ptp` option (#3369) * Dropped support for Python<3.9 (#3267) core: @@ -47,7 +47,6 @@ sorters: * Fix KS2/2.5/3 skip_kilosort_preprocessing (#3265) * HS: Added lowpass parameter, fixed verbose option (#3262) * Now exclusive support for HS v0.4 (Lightning) (#3210) -* Add kilosort4 wrapper tests (#3085) postprocessing: @@ -69,6 +68,7 @@ curation: widgets: +* Sortingview: only round float properties (#3406) * Fix widgets tests and add test on unit_table_properties (#3354) * Allow quality and template metrics in sortingview's unit table (#3299) * Add subwidget parameters for UnitSummaryWidget (#3242) @@ -116,7 +116,7 @@ testing: * Refactor quality metrics tests to use fixture (#3249) * Add kilosort4 wrapper tests (#3085) * Test IBL skip when the setting up the one client fails (#3289) - +* Add kilosort4 wrapper tests (#3085) Contributors: diff --git a/doc/whatisnew.rst b/doc/whatisnew.rst index 090722e27b..442876ff94 100644 --- a/doc/whatisnew.rst +++ b/doc/whatisnew.rst @@ -8,7 +8,7 @@ Release notes .. toctree:: :maxdepth: 1 - releases/0.102.0.rst + releases/0.101.1.rst releases/0.101.0.rst releases/0.100.8.rst releases/0.100.7.rst @@ -44,14 +44,13 @@ Release notes releases/0.9.1.rst -Version 0.102.0 +Version 0.101.1 =============== - * Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) * Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) * Skip recomputation of quality and template metrics if already computed (#3292) -* Modified and improved `estimate_sparsity` and refactored `from_ptp` option (#3369) +* Improved `estimate_sparsity` with new `amplitude` method and and deprecated `from_ptp` option (#3369) * Dropped support for Python<3.9 (#3267) diff --git a/pyproject.toml b/pyproject.toml index 1bdf3c303b..db435998a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "spikeinterface" -version = "0.102.0" +version = "0.101.1" authors = [ { name="Alessio Buccino", email="alessiop.buccino@gmail.com" }, { name="Samuel Garcia", email="sam.garcia.die@gmail.com" }, From 2cb4f7c4332ff4b76b9449edf3a606c7c8a08dc9 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Sun, 15 Sep 2024 18:29:20 +0200 Subject: [PATCH 07/16] Update release notes --- doc/releases/0.101.1.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index 38522f0819..5879dcc6a2 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -15,6 +15,9 @@ Main changes: core: +* Refactor pandas save load and convert dtypes (#3412) +* Check run info completed only if it exists (back-compatibility) (#3407) +* Fix argument spelling in check for binary compatibility (#3409) * Fix proposal for channel location when probegroup (#3392) * Fix time handling test memory (#3379) * Add `BaseRecording.reset_times()` function (#3363, #3380, #3391) From f2d1f078d368d4d0543eeef9663159b1b9684c00 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 11:35:59 +0200 Subject: [PATCH 08/16] Add #3414 PR --- doc/releases/0.101.1.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index 5879dcc6a2..46ae6b64c0 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -71,6 +71,7 @@ curation: widgets: +* Fix plot motion for multi-segment (#3414) * Sortingview: only round float properties (#3406) * Fix widgets tests and add test on unit_table_properties (#3354) * Allow quality and template metrics in sortingview's unit table (#3299) From 9456e0577767311bd45363ad33e26ab76dca3188 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 11:52:44 +0200 Subject: [PATCH 09/16] Add PR #3415 --- doc/releases/0.101.1.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index 46ae6b64c0..8f58ba0359 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -39,6 +39,7 @@ extractors: preprocessing: +* Auto-cast recording to float prior to interpolation (#3415) * Update doc handle drift + better preset (#3232) * Add causal filtering to filter.py (#3172) From 9cc8c2d07717d24dcf483ffe9acc331f77e33075 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 12:32:53 +0200 Subject: [PATCH 10/16] Fix plot_sorting_summary after #3412 with to_numpy() --- src/spikeinterface/widgets/utils_sortingview.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/spikeinterface/widgets/utils_sortingview.py b/src/spikeinterface/widgets/utils_sortingview.py index d18c581b6b..554f8d221d 100644 --- a/src/spikeinterface/widgets/utils_sortingview.py +++ b/src/spikeinterface/widgets/utils_sortingview.py @@ -137,9 +137,9 @@ def generate_unit_table_view( if prop_name in sorting_props: property_values = sorting.get_property(prop_name) elif prop_name in qm_props: - property_values = qm_data[prop_name].values + property_values = qm_data[prop_name].to_numpy() elif prop_name in tm_props: - property_values = tm_data[prop_name].values + property_values = tm_data[prop_name].to_numpy() # Check for NaN values and round floats val0 = np.array(property_values[0]) From 81e53ab64b1fdafa9f7c67344502b2cf3e769512 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 12:35:58 +0200 Subject: [PATCH 11/16] Fix plot_sorting_summary after #3412 with to_numpy() 2 --- src/spikeinterface/widgets/utils_sortingview.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/spikeinterface/widgets/utils_sortingview.py b/src/spikeinterface/widgets/utils_sortingview.py index 554f8d221d..a6cc562ba2 100644 --- a/src/spikeinterface/widgets/utils_sortingview.py +++ b/src/spikeinterface/widgets/utils_sortingview.py @@ -106,9 +106,9 @@ def generate_unit_table_view( if prop_name in sorting_props: property_values = sorting.get_property(prop_name) elif prop_name in qm_props: - property_values = qm_data[prop_name].values + property_values = qm_data[prop_name].to_numpy() elif prop_name in tm_props: - property_values = tm_data[prop_name].values + property_values = tm_data[prop_name].to_numpy() else: warn(f"Property '{prop_name}' not found in sorting, quality_metrics, or template_metrics") continue From 2a1ecceeaa7a8d38462546feee1434b88d99836a Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 13:23:00 +0200 Subject: [PATCH 12/16] Fix plot_sorting_summary after #3412 with to_numpy() 3 --- src/spikeinterface/widgets/metrics.py | 3 +++ src/spikeinterface/widgets/tests/test_widgets.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/spikeinterface/widgets/metrics.py b/src/spikeinterface/widgets/metrics.py index 2fbd0e31eb..813e7d7b63 100644 --- a/src/spikeinterface/widgets/metrics.py +++ b/src/spikeinterface/widgets/metrics.py @@ -235,6 +235,9 @@ def plot_sortingview(self, data_plot, **backend_kwargs): values = check_json(metrics.loc[unit_id].to_dict()) values_skip_nans = {} for k, v in values.items(): + # convert_dypes returns NaN as None or np.nan (for float) + if v is None: + continue if np.isnan(v): continue values_skip_nans[k] = v diff --git a/src/spikeinterface/widgets/tests/test_widgets.py b/src/spikeinterface/widgets/tests/test_widgets.py index debcd52085..80f58f5ad9 100644 --- a/src/spikeinterface/widgets/tests/test_widgets.py +++ b/src/spikeinterface/widgets/tests/test_widgets.py @@ -73,7 +73,7 @@ def setUpClass(cls): spike_amplitudes=dict(), unit_locations=dict(), spike_locations=dict(), - quality_metrics=dict(metric_names=["snr", "isi_violation", "num_spikes"]), + quality_metrics=dict(metric_names=["snr", "isi_violation", "num_spikes", "amplitude_cutoff"]), template_metrics=dict(), correlograms=dict(), template_similarity=dict(), From 6fb9fe650429cc07236bd572915a709cafa0fb40 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 16:25:00 +0200 Subject: [PATCH 13/16] Update doc/releases/0.101.1.rst Co-authored-by: Zach McKenzie <92116279+zm711@users.noreply.github.com> --- doc/releases/0.101.1.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index 8f58ba0359..591321fcd4 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -129,7 +129,6 @@ Contributors: * @JoeZiminski * @JuanPimientoCaicedo * @alejoe91 -* @app/pre-commit-ci * @chrishalcrow * @cwindolf * @florian6973 From 7917a5532b7176389d4f40aee13967a58998e6fd Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 16:25:50 +0200 Subject: [PATCH 14/16] Apply suggestions from code review Co-authored-by: Zach McKenzie <92116279+zm711@users.noreply.github.com> --- doc/releases/0.101.1.rst | 4 ++-- doc/whatisnew.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index 591321fcd4..c24372868c 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -3,14 +3,14 @@ SpikeInterface 0.101.1 release notes ------------------------------------ -13th September 2024 +16th September 2024 Main changes: * Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) * Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) * Skip recomputation of quality and template metrics if already computed (#3292) -* Improved `estimate_sparsity` with new `amplitude` method and and deprecated `from_ptp` option (#3369) +* Improved `estimate_sparsity` with new `amplitude` method and deprecated `from_ptp` option (#3369) * Dropped support for Python<3.9 (#3267) core: diff --git a/doc/whatisnew.rst b/doc/whatisnew.rst index 442876ff94..c8038387f9 100644 --- a/doc/whatisnew.rst +++ b/doc/whatisnew.rst @@ -50,7 +50,7 @@ Version 0.101.1 * Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351) * Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276) * Skip recomputation of quality and template metrics if already computed (#3292) -* Improved `estimate_sparsity` with new `amplitude` method and and deprecated `from_ptp` option (#3369) +* Improved `estimate_sparsity` with new `amplitude` method and deprecated `from_ptp` option (#3369) * Dropped support for Python<3.9 (#3267) From ca0d99c64535067965fe73777bc0b3ccf31fe840 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 18:38:17 +0200 Subject: [PATCH 15/16] Add #3417 --- doc/releases/0.101.1.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index c24372868c..f68cd65e46 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -72,6 +72,7 @@ curation: widgets: +* Fix metrics widgets for convert_dtypes (#3417) * Fix plot motion for multi-segment (#3414) * Sortingview: only round float properties (#3406) * Fix widgets tests and add test on unit_table_properties (#3354) From 12f089b15a9d12cbafde1442dca2aa0c5cafa71b Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Mon, 16 Sep 2024 19:10:44 +0200 Subject: [PATCH 16/16] Add #3408 --- doc/releases/0.101.1.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/releases/0.101.1.rst b/doc/releases/0.101.1.rst index f68cd65e46..eeb54566a6 100644 --- a/doc/releases/0.101.1.rst +++ b/doc/releases/0.101.1.rst @@ -15,6 +15,7 @@ Main changes: core: +* Update the method of creating an empty file with right size when saving binary files (#3408) * Refactor pandas save load and convert dtypes (#3412) * Check run info completed only if it exists (back-compatibility) (#3407) * Fix argument spelling in check for binary compatibility (#3409)