diff --git a/doc/development/development.rst b/doc/development/development.rst index 246a2bcb9a..a91818a271 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -192,6 +192,7 @@ Miscelleaneous Stylistic Conventions #. Avoid using abbreviations in variable names (e.g. use :code:`recording` instead of :code:`rec`). It is especially important to avoid single letter variables. #. Use index as singular and indices for plural following the NumPy convention. Avoid idx or indexes. Plus, id and ids are reserved for identifiers (i.e. channel_ids) #. We use file_path and folder_path (instead of file_name and folder_name) for clarity. +#. For the titles of documentation pages, only capitalize the first letter of the first word and classes or software packages. For example, "How to use a SortingAnalyzer in SpikeInterface". #. For creating headers to divide sections of code we use the following convention (see issue `#3019 `_): diff --git a/doc/how_to/combine_recordings.rst b/doc/how_to/combine_recordings.rst index db37e28382..4a088f01b1 100644 --- a/doc/how_to/combine_recordings.rst +++ b/doc/how_to/combine_recordings.rst @@ -1,4 +1,4 @@ -Combine Recordings in SpikeInterface +Combine recordings in SpikeInterface ==================================== In this tutorial we will walk through combining multiple recording objects. Sometimes this occurs due to hardware diff --git a/doc/how_to/load_matlab_data.rst b/doc/how_to/load_matlab_data.rst index 1f24fb66d3..eab1e0a300 100644 --- a/doc/how_to/load_matlab_data.rst +++ b/doc/how_to/load_matlab_data.rst @@ -1,4 +1,4 @@ -Export MATLAB Data to Binary & Load in SpikeInterface +Export MATLAB data to binary & load in SpikeInterface ======================================================== In this tutorial, we will walk through the process of exporting data from MATLAB in a binary format and subsequently loading it using SpikeInterface in Python. diff --git a/doc/how_to/load_your_data_into_sorting.rst b/doc/how_to/load_your_data_into_sorting.rst index 4e434ecb7a..e250cfa6e9 100644 --- a/doc/how_to/load_your_data_into_sorting.rst +++ b/doc/how_to/load_your_data_into_sorting.rst @@ -1,5 +1,5 @@ -Load Your Own Data into a Sorting -================================= +Load your own data into a Sorting object +======================================== Why make a :code:`Sorting`? diff --git a/doc/how_to/process_by_channel_group.rst b/doc/how_to/process_by_channel_group.rst index bac0de4d0c..08a87ab738 100644 --- a/doc/how_to/process_by_channel_group.rst +++ b/doc/how_to/process_by_channel_group.rst @@ -1,4 +1,4 @@ -Process a Recording by Channel Group +Process a recording by channel group ==================================== In this tutorial, we will walk through how to preprocess and sort a recording diff --git a/doc/how_to/viewers.rst b/doc/how_to/viewers.rst index c7574961bd..7bb41cadb6 100644 --- a/doc/how_to/viewers.rst +++ b/doc/how_to/viewers.rst @@ -1,4 +1,4 @@ -Visualize Data +Visualize data ============== There are several ways to plot signals (raw, preprocessed) and spikes. diff --git a/doc/releases/0.101.2.rst b/doc/releases/0.101.2.rst new file mode 100644 index 0000000000..e54546ddfb --- /dev/null +++ b/doc/releases/0.101.2.rst @@ -0,0 +1,66 @@ +.. _release0.101.2: + +SpikeInterface 0.101.2 release notes +------------------------------------ + +4th October 2024 + +Minor release with bug fixes + +core: + +* Fix `random_spikes_selection()` (#3456) +* Expose `backend_options` at the analyzer level to set `storage_options` and `saving_options` (#3446) +* Avoid warnings in `SortingAnalyzer` (#3455) +* Fix `reset_global_job_kwargs` (#3452) +* Allow to save recordingless analyzer as (#3443) +* Fix compute analyzer pipeline with tmp recording (#3433) +* Fix bug in saving zarr recordings (#3432) +* Set `run_info` to `None` for `load_waveforms` (#3430) +* Fix integer overflow in parallel computing (#3426) +* Refactor `pandas` save load and `convert_dtypes` (#3412) +* Add spike-train based lazy `SortingGenerator` (#2227) + + +extractors: + +* Improve IBL recording extractors by PID (#3449) + +sorters: + +* Get default encoding for `Popen` (#3439) + +postprocessing: + +* Add `max_threads_per_process` and `mp_context` to pca by channel computation and PCA metrics (#3434) + +widgets: + +* Fix metrics widgets for convert_dtypes (#3417) +* Fix plot motion for multi-segment (#3414) + +motion correction: + +* Auto-cast recording to float prior to interpolation (#3415) + +documentation: + +* Add docstring for `generate_unit_locations` (#3418) +* Add `get_channel_locations` to the base recording API (#3403) + +continuous integration: + +* Enable testing arm64 Mac architecture in the CI (#3422) +* Add kachery_zone secret (#3416) + +testing: + +* Relax causal filter tests (#3445) + +Contributors: + +* @alejoe91 +* @h-mayorquin +* @jiumao2 +* @samuelgarcia +* @zm711 diff --git a/doc/whatisnew.rst b/doc/whatisnew.rst index c8038387f9..2851f8ab4a 100644 --- a/doc/whatisnew.rst +++ b/doc/whatisnew.rst @@ -8,6 +8,7 @@ Release notes .. toctree:: :maxdepth: 1 + releases/0.101.2.rst releases/0.101.1.rst releases/0.101.0.rst releases/0.100.8.rst @@ -44,6 +45,11 @@ Release notes releases/0.9.1.rst +Version 0.101.2 +=============== + +* Minor release with bug fixes + Version 0.101.1 =============== diff --git a/pyproject.toml b/pyproject.toml index d246520280..b4a71bdb47 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -124,16 +124,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 = [ @@ -173,8 +173,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 = [ 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 diff --git a/src/spikeinterface/core/sortinganalyzer.py b/src/spikeinterface/core/sortinganalyzer.py index 14b4f73eaf..55cbe6070a 100644 --- a/src/spikeinterface/core/sortinganalyzer.py +++ b/src/spikeinterface/core/sortinganalyzer.py @@ -2245,9 +2245,15 @@ def _save_data(self): elif HAS_PANDAS and isinstance(ext_data, pd.DataFrame): df_group = extension_group.create_group(ext_data_name) # first we save the index - df_group.create_dataset(name="index", data=ext_data.index.to_numpy()) + indices = ext_data.index.to_numpy() + if indices.dtype.kind == "O": + indices = indices.astype(str) + df_group.create_dataset(name="index", data=indices) for col in ext_data.columns: - df_group.create_dataset(name=col, data=ext_data[col].to_numpy()) + col_data = ext_data[col].to_numpy() + if col_data.dtype.kind == "O": + col_data = col_data.astype(str) + df_group.create_dataset(name=col, data=col_data) df_group.attrs["dataframe"] = True else: # any object