Skip to content

[Discussion] Improve the way we handle signals of different nature when they come in the same stream #3197

Open
@h-mayorquin

Description

@h-mayorquin

On neo the concept of a stream indicates that the underlying data has the same:

  • dtype
  • shape
  • sampling_rate

And that makes a lot of sense in neo raw io because they can be thought off as a block for IO and processing while loading and accessing data. It achieves its purpose there.

Because it is readily available we also use the concept of stream in spikeinterface to load data from spikeinterface. The reason for this is that having the same shape, sampling rate and dtype are characteristics that a buffer of data requires to be loaded as a recording. The purposes match at that level.

Where the purposes don't match is on the application purpose of recording extractors objects. Let's take a common one which is sorting and two cases to illustrate.

  • plexon: currently both wide band and filtered signals are in the same stream. See here: How to select only wideband channels in Plexon #3196
  • CED from Cambridge Electronic Design: for our test example in gin raw, LFP, mechanical and even laser recordings are stored in the same stream. See this issue on neo.

I hope that this two situations illustrate that loading a recording and then trying to run a sorter or most analysis of the data will not make sense under those cases. The data needs further separation so it can be feed to a typical spikeinterface pipeline.

This is a discussion issue that introduces context so we can make a decision:

  • Can this be improved on the spikeinterfae side?
  • Should we improve the concept of stream or come with a new concept that ensures that only electrophysiological data of the same nature is loaded when users access data through our extractors API?
  • Are those cases above rare enough that we can just document those and not do anything else?

This is also important for us in neuroconv because usually we write a whole stream as an ElectricalSeries which does not work so we need further refinements to achieve our purpose as a curators of data.

Tagging @CodyCBakerPhD and @bendichter from the neuroconv side.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionGeneral discussions and community feedbackextractorsRelated to extractors module

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions