spikeinterface icon indicating copy to clipboard operation
spikeinterface copied to clipboard

sorting error with tridesclous2

Open jonpedros opened this issue 1 year ago • 1 comments

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
}

jonpedros avatar Oct 03 '24 08:10 jonpedros

@samuelgarcia

zm711 avatar Oct 07 '24 12:10 zm711