I was wondering why MNE still needs both events and annotations. We are clearly moving towards annotations as a more flexible container for discrete markers on the file I/O side, but it is difficult for users to understand the differences between the two structures (e.g. the events/annotations tutorial basically says that these structures are identical except for minor implementation differences).
I haven't been able to come up with a single use case that requires the old events array (other than supporting historical code). Therefore, I suggest to deprecate the old events structure and replace everything with annotations, such as mne.find_events (used to parse analog stim channels), which should return an Annotations object. For compatibility with old code, we already have mne.events_from_annotations in case anyone still needs that.
I was wondering why MNE still needs both events and annotations. We are clearly moving towards annotations as a more flexible container for discrete markers on the file I/O side, but it is difficult for users to understand the differences between the two structures (e.g. the events/annotations tutorial basically says that these structures are identical except for minor implementation differences).
I haven't been able to come up with a single use case that requires the old events array (other than supporting historical code). Therefore, I suggest to deprecate the old events structure and replace everything with annotations, such as
mne.find_events(used to parse analog stim channels), which should return anAnnotationsobject. For compatibility with old code, we already havemne.events_from_annotationsin case anyone still needs that.