NeurodataWithoutBorders / nwb-schema

Data format specification schema for the NWB neurophysiology data format
http://nwb-schema.readthedocs.io
Other
53 stars 16 forks source link

Deprecate EventWaveform #580

Closed rly closed 1 day ago

rly commented 2 months ago

As discussed at the NWB meeting today. The EventWaveform neurodata type

https://github.com/NeurodataWithoutBorders/nwb-schema/blob/dev/core/nwb.ecephys.yaml#L191-L200

is a container that holds any number of SpikeEventSeries to "label"/"tag" a SpikeEventSeries as waveforms of detected events, e.g., threshold crossings of raw AP-band voltage data in extracellular electrophysiology, which are often computed during spike sorting. However, according to the doc for SpikeEventSeries, there is no other use for SpikeEventSeries and there does not seem to be a need to have more than 1 SpikeEventSeries organized in a group. EventWaveform is also not documented on PyNWB or MatNWB, and is not used on DANDI (probably in large part because it is not documented).

Perhaps EventWaveform would be useful if a user wants to store the results of setting multiple thresholds, but 1) it requires a lot of disk space to store this, 2) it is uncommon to use even a single SpikeEventSeries in the first place, 3) it is not so bad to have multiple SpikeEventSeries in an ecephys ProcessingModule with different names, and 4) since NWB 2.0, this organization of multiple SpikeEventSeries into a group has not been requested or used.

Overall, I think EventWaveform does not have a strong use case in modern usage, so to remove cruft and maintenance costs, I propose we deprecate EventWaveform.