You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -242,7 +242,7 @@ To run code coverage locally, you can use the following command:
242
242
243
243
This will run the tests and generate a report in the :code:`htmlcov` folder. You can open the :code:`index.html` file in your browser to see the report.
244
244
245
-
Note, however, that the running time of the command above will be slow. If you want to run the tests for a specific module, you can use the following command:
245
+
Note, however, that the running time of the command above will be quite long. If you want to run the tests for a specific module, you can use the following command:
246
246
247
247
.. code-block:: bash
248
248
@@ -252,21 +252,21 @@ Implement a new extractor
252
252
-------------------------
253
253
254
254
SpikeInterface already supports over 30 file formats, but the acquisition system you use might not be among the
255
-
supported formats list (***ref***). Most of the extractors rely on the `NEO <https://github.com/NeuralEnsemble/python-neo>`_
255
+
supported formats list (****ref****). Most of the extractors rely on the `NEO <https://github.com/NeuralEnsemble/python-neo>`_
256
256
package to read information from files.
257
257
Therefore, to implement a new extractor to handle the unsupported format, we recommend making a new :code:`neo.rawio.BaseRawIO` class (see `example <https://github.com/NeuralEnsemble/python-neo/blob/master/neo/rawio/examplerawio.py#L44>`_).
258
258
Once that is done, the new class can be easily wrapped into SpikeInterface as an extension of the
(for :py:class:`~spikeinterface.core.BaseSorting` objects) or with a few lines of
263
-
code (e.g., see reader for `SpikeGLX <https://github.com/SpikeInterface/spikeinterface/blob/0.96.1/spikeinterface/extractors/neoextractors/spikeglx.py>`_
264
-
or `Neuralynx <https://github.com/SpikeInterface/spikeinterface/blob/0.96.1/spikeinterface/extractors/neoextractors/neuralynx.py>`_).
263
+
code (e.g., see reader for `SpikeGLX <https://github.com/SpikeInterface/spikeinterface/blob/main/src/spikeinterface/extractors/neoextractors/spikeglx.py>`_
264
+
or `Neuralynx <https://github.com/SpikeInterface/spikeinterface/blob/main/src/spikeinterface/extractors/neoextractors/neuralynx.py>`_).
265
265
266
-
**NOTE:** implementing a `neo.rawio` Class is not required, but recommended. Several extractors (especially) for :code:`Sorting`
266
+
**NOTE:** implementing a `neo.rawio` class is not required, but recommended. Several extractors (especially) for :code:`Sorting`
267
267
objects are implemented directly in SpikeInterface and inherit from the base classes.
268
-
As examples, see the `CompressedBinaryIblExtractor<https://github.com/SpikeInterface/spikeinterface/blob/0.96.1/spikeinterface/extractors/cbin_ibl.py>`_
269
-
for a :py:class:`~spikeinterface.core.BaseRecording` object, or the `SpykingCircusSortingExtractor <https://github.com/SpikeInterface/spikeinterface/blob/0.96.1/spikeinterface/extractors/spykingcircusextractors.py>`_
268
+
As examples, see the `IblRecordingExtractor<https://github.com/SpikeInterface/spikeinterface/blob/main/src/spikeinterface/extractors/iblextractors.py>`_
269
+
for a :py:class:`~spikeinterface.core.BaseRecording` object, or the `SpykingCircusSortingExtractor <https://github.com/SpikeInterface/spikeinterface/blob/main/src/spikeinterface/extractors/spykingcircusextractors.py>`_
270
270
for a a :py:class:`~spikeinterface.core.BaseSorting` object.
271
271
272
272
@@ -309,7 +309,7 @@ Then, you can start creating a new class:
309
309
310
310
classMySpikeSorter(BaseSorter):
311
311
"""
312
-
Brief description (optional)
312
+
Brief description
313
313
"""
314
314
315
315
sorter_name ='myspikesorter'
@@ -367,7 +367,7 @@ Now you can start filling out the required methods:
367
367
def_check_apply_filter_in_params(cls, params):
368
368
returnFalse
369
369
370
-
# optional
370
+
# optional
371
371
# can be implemented in subclass to check if the filter will be applied
372
372
373
373
@@ -388,10 +388,12 @@ Now you can start filling out the required methods:
388
388
return sorting
389
389
390
390
When your spike sorter class is implemented, you have to add it to the list of available spike sorters in the
391
-
`sorterlist.py`. Then you need to write a test in **tests/test_myspikesorter.py**. In order to be tested, you can
392
-
install the required packages by changing the **pyproject.toml**. Note that MATLAB based tests cannot be run at the moment,
393
-
but we recommend testing the implementation locally.
Then you need to write a test in **tests/test_myspikesorter.py**. In order to be tested, you can
393
+
install the required packages by changing the `pyproject.toml <https://github.com/SpikeInterface/spikeinterface/blob/main/pyproject.toml>`_.
394
+
Note that MATLAB based tests cannot be run at the moment,but we recommend testing the implementation locally.
394
395
395
-
After this you need to add a block in **doc/sorters_info.rst** to describe your sorter.
396
+
After this you need to add a block in `Install Sorters <https://github.com/SpikeInterface/spikeinterface/blob/main/doc/get_started/install_sorters.rst>`_
397
+
to describe your sorter.
396
398
397
399
Finally, make a pull request so we can review the code and incorporate into the sorters module of SpikeInterface!
0 commit comments