Open
Description
Title: Support for Neuropixels Ultra (NP1110) in SpikeInterface and DREDge
Description:
I am using Neuropixels Ultra (NP1110) probes for neural recordings and encountered issues when processing the data using SpikeInterface and DREDge. The current implementation appears to lack explicit support for NP Ultra probes. Below are the specific issues identified and proposed modifications:
Issues Identified:
-
IMRO Table Parsing (SpikeInterface)
- The
.meta
file for NP1110 uses a differentimroTbl
format:(channel_id, bank, mux_group)
compared to NP1/NP2. - Global parameters (AP/LF gains, reference, filter) are stored in the header rather than per-channel values.
- The
_read_imro_string()
function currently expects per-channel gain/filter fields, leading to a failure when processing NP1110 data.
Proposed Fix:
- Modify
_read_imro_string()
to handle NP1110-specific parsing. - Extract global parameters directly from the IMRO header and adjust the data structure to use
("channel_ids", "banks", "mux_groups")
.
- The
-
Channel Index Mismatch (SpikeInterface)
- After slicing the probe to match
snsSaveChanSubset
, thedevice_channel_indices
are reset usingnp.arange()
, causingset_probe(inplace=True)
to fail. - The original channel indices need to be preserved for accurate mapping.
Proposed Fix:
-
Update the slicing procedure to retain original channel indices:
probe.set_device_channel_indices(saved_chans) # Preserve instead of using np.arange()
- After slicing the probe to match
-
Global Parameters Handling (SpikeInterface)
- NP1110 AP/LF gains and filters are defined once in the IMRO header (e.g.,
(1110,2,0,500,250,1)
), while the current code assumes per-channel values.
Proposed Fix:
- Modify the
.meta
file reader to annotate the global parameters directly, e.g.,probe.annotate(global_ap_gain=500)
.
- NP1110 AP/LF gains and filters are defined once in the IMRO header (e.g.,
-
NP Ultra Compatibility in DREDge
- The
read_spikeglx()
function in DREDge currently supports NP0.0, NP1.0, NP2.0, and NP1.0-NHP but not NP Ultra (1.0 HD). - Despite this, the demo code
ap_registration.ipynb
and the published paper demonstrate results using NP Ultra data.
Proposed Questions/Clarifications:
- How was NP Ultra compatibility enabled for DREDge in the published paper?
- The