Skip to content

SpikeInterface fails with spykingcircus2 spike sorting tetrode data #3908

Open
@dervinism

Description

@dervinism

This is the full error output:

Exception has occurred: SpikeSortingError
Spike sorting error trace:
Traceback (most recent call last):
  File "/home/m329786/anaconda3/envs/si_env/lib/python3.11/site-packages/spikeinterface/sorters/basesorter.py", line 270, in run_from_folder
    SorterClass._run_from_folder(sorter_output_folder, sorter_params, verbose)
  File "/home/m329786/anaconda3/envs/si_env/lib/python3.11/site-packages/spikeinterface/sorters/internal/spyking_circus2.py", line 199, in _run_from_folder
    prototype, waveforms, _ = get_prototype_and_waveforms_from_recording(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/m329786/anaconda3/envs/si_env/lib/python3.11/site-packages/spikeinterface/sortingcomponents/tools.py", line 191, in get_prototype_and_waveforms_from_recording
    prototype = np.nanmedian(waveforms[:, :, 0] / (np.abs(waveforms[:, nbefore, 0][:, np.newaxis])), axis=0)
                                                          ~~~~~~~~~^^^^^^^^^^^^^^^
IndexError: index 0 is out of bounds for axis 1 with size 0

Spike sorting failed. You can inspect the runtime trace in /mnt/c/Users/m329786/Data/spikeinterface_output/spykingcircus2/sorter_output/sub-MSEL02698_ses-stim01_task-none_ieeg/spikeinterface_log.json.
  File "/mnt/c/Users/m329786/code_repositories/nwb2spikesort/master_file.py", line 93, in <module>
    folder=si_output_folder_specific, \

                        docker_image=docker_image, verbose=True, \

                        remove_existing_folder=True, **params)

print(sorting)
spikeinterface.sorters.utils.misc.SpikeSortingError: Spike sorting error trace:
Traceback (most recent call last):
  File "/home/m329786/anaconda3/envs/si_env/lib/python3.11/site-packages/spikeinterface/sorters/basesorter.py", line 270, in run_from_folder
    SorterClass._run_from_folder(sorter_output_folder, sorter_params, verbose)
  File "/home/m329786/anaconda3/envs/si_env/lib/python3.11/site-packages/spikeinterface/sorters/internal/spyking_circus2.py", line 199, in _run_from_folder
    prototype, waveforms, _ = get_prototype_and_waveforms_from_recording(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/m329786/anaconda3/envs/si_env/lib/python3.11/site-packages/spikeinterface/sortingcomponents/tools.py", line 191, in get_prototype_and_waveforms_from_recording
    prototype = np.nanmedian(waveforms[:, :, 0] / (np.abs(waveforms[:, nbefore, 0][:, np.newaxis])), axis=0)
                                                          ~~~~~~~~~^^^^^^^^^^^^^^^
IndexError: index 0 is out of bounds for axis 1 with size 0

Spike sorting failed. You can inspect the runtime trace in /mnt/c/Users/m329786/Data/spikeinterface_output/spykingcircus2/sorter_output/sub-MSEL02698_ses-stim01_task-none_ieeg/spikeinterface_log.json.

The parameters I am using are given below:

{'apply_motion_correction': (False,),
 'apply_preprocessing': True,
 'cache_preprocessing': {'delete_cache': True,
                         'memory_limit': 0.5,
                         'mode': 'memory'},
 'clustering': {'legacy': True},
 'debug': False,
 'detection': {'detect_threshold': 5, 'peak_sign': 'neg'},
 'filtering': {'filter_order': 2,
               'freq_max': 7000,
               'freq_min': 150,
               'ftype': 'bessel',
               'margin_ms': 10},
 'general': {'ms_after': 0.001, 'ms_before': 0.001, 'radius_um': 70.0},
 'job_kwargs': {'n_jobs': 0.5},
 'matched_filtering': True,
 'matching': {'method': 'circus-omp-svd'},
 'merging': {'max_distance_um': 50},
 'motion_correction': {'preset': 'dredge_fast'},
 'multi_units_only': False,
 'seed': 42,
 'selection': {'method': 'uniform',
               'min_n_peaks': 100000,
               'n_peaks_per_channel': 5000,
               'seed': 42,
               'select_per_channel': False},
 'sparsity': {'amplitude_mode': 'peak_to_peak',
              'method': 'snr',
              'threshold': 1},
 'whitening': {'mode': 'local', 'regularize': False}}

I attach a probegroup to the recording based on the attached kilosort4 probe file.

probe_ks4.json

Do you have any suggestions on how to address this issue? I can provide the binary or NWB file that I use to produce the error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    sortersRelated to sorters module

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions