spikeinterface
spikeinterface copied to clipboard
sorting error with tridesclous2
I've run into different errors when running tridesclous2 in bandpassed, re-referenced tetrode data. Sorting works as expected with grouped data when using tridesclous or mountainsort5.
When running it on non-grouped data:
{
"sorter_name": "tridesclous2",
"sorter_version": "2.0",
"datetime": "2024-10-03T16:11:25.259044",
"runtime_trace": [],
"error": true,
"error_trace": [
"Traceback (most recent call last):",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\sorters\\basesorter.py\", line 261, in run_from_folder",
" SorterClass._run_from_folder(sorter_output_folder, sorter_params, verbose)",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\sorters\\internal\\tridesclous2.py\", line 214, in _run_from_folder",
" probe=recording_for_peeler.get_probe(),",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\core\\baserecordingsnippets.py\", line 255, in get_probe",
" assert len(probes) == 1, \"there are several probe use .get_probes() or get_probegroup()\"",
" ^^^^^^^^^^^^^^^^",
" AssertionError: there are several probe use .get_probes() or get_probegroup()"
],
"run_time": null
}
And with grouped data:
{
"sorter_name": "tridesclous2",
"sorter_version": "2.0",
"datetime": "2024-10-03T17:19:07.364313",
"runtime_trace": [],
"error": true,
"error_trace": [
"Traceback (most recent call last):",
" \"\"\"",
" Traceback (most recent call last):",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\process.py\", line 261, in _process_worker",
" r = call_item.fn(*call_item.args, **call_item.kwargs)",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\process.py\", line 210, in _process_chunk",
" return [fn(*args) for args in chunk]",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\process.py\", line 210, in <listcomp>",
" return [fn(*args) for args in chunk]",
" ^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\core\\job_tools.py\", line 463, in function_wrapper",
" return _func(segment_index, start_frame, end_frame, _worker_ctx)",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\sortingcomponents\\matching\\main.py\", line 115, in _find_spikes_chunk",
" spikes = function(traces, method_kwargs)",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\sortingcomponents\\matching\\wobble.py\", line 463, in main_function",
" assert traces.dtype == np.float32, \"traces must be specified as np.float32\"",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^",
" AssertionError: traces must be specified as np.float32",
" \"\"\"",
" ",
" The above exception was the direct cause of the following exception:",
" ",
" Traceback (most recent call last):",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\sorters\\basesorter.py\", line 261, in run_from_folder",
" SorterClass._run_from_folder(sorter_output_folder, sorter_params, verbose)",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\sorters\\internal\\tridesclous2.py\", line 230, in _run_from_folder",
" spikes = find_spikes_from_templates(",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\sortingcomponents\\matching\\main.py\", line 69, in find_spikes_from_templates",
" spikes = processor.run()",
" ^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\spikeinterface\\core\\job_tools.py\", line 425, in run",
" for res in results:",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\tqdm\\notebook.py\", line 250, in __iter__",
" for obj in it:",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\site-packages\\tqdm\\std.py\", line 1181, in __iter__",
" for obj in iterable:",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\process.py\", line 620, in _chain_from_iterable_of_lists",
" for element in iterable:",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\_base.py\", line 619, in result_iterator",
" yield _result_or_cancel(fs.pop())",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\_base.py\", line 317, in _result_or_cancel",
" return fut.result(timeout)",
" ^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\_base.py\", line 449, in result",
" return self.__get_result()",
" ^^^^^^^^^^^^^^^^^^^",
" File \"c:\\Users\\systemses\\Anaconda3\\envs\\si_env\\Lib\\concurrent\\futures\\_base.py\", line 401, in __get_result",
" raise self._exception",
" AssertionError: traces must be specified as np.float32"
],
"run_time": null
}
@samuelgarcia