TL;DR: I wanted to ask what is the scope and goal intended for mne-features package. And whether there are plans for adding more to the package / refactor or improving the structure? The story of why I am asking this is detailed below.
Recently, I was playing with feature extraction packages from M/EEG data for EEG/MEG data for a package I am building (coco-pipe, a package for end to end pipelines for all types of analysis involving electrophysiological data; no preprocessing involved). For the feature extraction part I used Antropy and neurokit2 as engines. The reason is that these ones are the ones mostly used in our lab. I also use specparam for 1/f related features (previously known as fooof) and mne for spectral features. The idea is for me is to have coco_pipe.descriptors as orchestrator that takes a list of features with their configs and generate them then aggregate over (channels, sensors, subjects, groups of channels…) and not to reimplement the feature extraction itself. The aim of coco-pipe in general is for generals is to come up with their cleaned data, specify the type of analysis they want to run through CLI / YAML files and get reports. The target is for minimum code written specially for neuroscientists / clinicians and/or for exploring quickly a range of potential analysis through ready to run pipelines before starting to fine-tune the analysis for a given project.
Why scrolling mne-tools GitHub repo, I came across mne-features, which I never heard off, or used.. maybe I cam across it by chance but never looked into it.. Even at out lab almost no one knew about it, and a lot of the work we do is based on extracting features from brain data, which is sad as it offers a solid foundation for feature extraction, it is already in mne ecosystem, and antropy for example used code adapted from here to start. Compared to neurokit2, mne-features has way less dependencies and is more target toward MEG/EEG. I think this lack of use is maybe due to the old website + no paper introducing the package other than the original epilepsy paper, maybe other factors also (ie, adding more features that are often used in M/EEG studies; enhancing the structure and uses of the package, maybe refactoring into families of features; adding support for corrected PSDs; clearer feature-level provenance and convention documentation …; adding the option for users to define their own feature extraction function like suggested in one of the issues; reduce the number of dependencies for exp pandas could become optional .. )
Where I am getting into ? First, with some changes men-features could serve as the sole / best engine for my package.. but also from a community/mne perspective this could be a win. A modern comprehensive package that works with the mne-ecosystem, it won’t replace other packages like specparam (could be added here as an optional dependency) and neurokit2 (has a broader use that the intention of this package) but it will offer the option for those who want to use it. In addition to the changes in package, a newer website and a paper could make people aware of it. This part is also linked to a discussion I had with @larsoner a couple of weeks ago on making mne more accessible to the community and could be useful with the lunch of mne plugins. That’s why I wanted to know if there are any future plans for mne_features.