Skip to content

Error reading maxwell data (version 20160704) #1658

@michaelhadler

Description

@michaelhadler

Hi everyone,

I want to use SpikeInterface on my MaxOne data (recorded using the "Network" recording assay in MaxLab, version 20160704). For starters, I want to create a bin and probe file to give it a go in Kilosort 4. However, apparently the data can't be loaded when calling it with the maxwell extractor. My impression is that there is a discrepancy between the actual .h5 file structure and the expectations in init. The file is unchanged from the initial recording, so I'm not quite sure what's amiss. Any ideas?

#Performed on Windows 10, python 3.9.21, neo 0.14.0, numpy 1.26.4.
from spikeinterface.extractors import read_maxwell

recording = read_maxwell(file_path) #file_path refers to a previously selected .h5 file recorded in MaxLab "Network" assay

Here's the error traceback:
Error loading data: could not assign tuple of length 2 to structure with 3 fields.

(kilosort) D:\HD-MEA\250116_Mouse-Ca12\Slice_6\Recording\002_Baseline2>python run_kilosort.py
Error loading data: could not assign tuple of length 2 to structure with 3 fields.
Traceback (most recent call last):
  File "D:\HD-MEA\250116_Mouse-Ca12\Slice_6\Recording\002_Baseline2\run_kilosort.py", line 24, in <module>
    recording = read_maxwell(file_path)
  File "C:\Users\analyzer\anaconda3\envs\kilosort\lib\site-packages\spikeinterface\extractors\neoextractors\maxwell.py", line 62, in __init__
    NeoBaseRecordingExtractor.__init__(
  File "C:\Users\analyzer\anaconda3\envs\kilosort\lib\site-packages\spikeinterface\extractors\neoextractors\neobaseextractor.py", line 188, in __init__
    _NeoBaseExtractor.__init__(self, block_index, **neo_kwargs)
  File "C:\Users\analyzer\anaconda3\envs\kilosort\lib\site-packages\spikeinterface\extractors\neoextractors\neobaseextractor.py", line 27, in __init__
    self.neo_reader = self.get_neo_io_reader(self.NeoRawIOClass, **neo_kwargs)
  File "C:\Users\analyzer\anaconda3\envs\kilosort\lib\site-packages\spikeinterface\extractors\neoextractors\neobaseextractor.py", line 66, in get_neo_io_reader
    neo_reader.parse_header()
  File "C:\Users\analyzer\anaconda3\envs\kilosort\lib\site-packages\neo\rawio\baserawio.py", line 211, in parse_header
    self._parse_header()
  File "C:\Users\analyzer\anaconda3\envs\kilosort\lib\site-packages\neo\rawio\maxwellrawio.py", line 113, in _parse_header
    signal_streams = np.array(signal_streams, dtype=_signal_stream_dtype)
ValueError: could not assign tuple of length 2 to structure with 3 fields.

As the exemplary files are all > 1GB, I'm happy to share one privately if anyone can help me out :)

Thanks, and best,

Michael

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions