...
Contexte
Au cours du Datatype meeting du 22.04.2021 (voir Datatype meeting 22.04.2021), la question d’où est enregistrée l’information “bad channels” à l’issue d’une détection des mauvais canaux a été abordée.
...
Au cours du Datatype meeting, Soichi a dit qu’il faut éviter d’enregistrer un .fif à l’issue d’une App pour lequel seulement un champ d’info a été modifié, ce qui est le cas ici avec l’app-bad-channels. Le mieux serait de stocker ces informations dans un fichier channels.tsv
(Soichi a créé un datatype pour ça : neuro/meg/fif-override). Il faudrait alors penser à updater le raw.info['bads']
avec les infos contenues dans ce fichier .tsv car, par exemple, la fonction Maxwell Filter de MNE utilise ce qui est stocké dans raw.info['bads']
.
Résolution du problème pour Maxwell Filtering
Une façon de résoudre ce problème serait de combiner les application app-bad-channels et app-maxwell-filtering (ces deux étapes sont étroitement liées), tout en laissant à l’utilisateur la possibilité de seulement faire tourner le Maxwell Filtering.
MaxFilter interpole les mauvais canaux donc à la sortie de cette fonction raw.info['bads']
est vide. Mais il est conseillé de vérifier à nouveau les canaux à l’issue de MaxFilter et donc de mettre à jour le raw.info['bads']
(car c’est ce qui est pris en compte dans les fonctions MNE comme on va le voir par la suite) et le channels.tsv
.
Autres cas où le raw.info['bads'] est utilisé
Par ailleurs, il est important de noter que les fonctions de MNE où une sélection des canaux est possible utilise les informations stockées dans raw.info['bads']
. Par exemple, pour la fonction notch_filter de MNE:
...
Autre cas de figure: imaginons qu’une personne ait effectué l’étape de détection des canaux et de MaxFilter en dehors de Brainlife et les ait seulement stockées dans le channels.tsv
, cela posera problème car MNE se base sur ce qu’il y a dans info['bads']
. Il faut donc s’assurer que channels.tsv
et info['bads']
comportent les mêmes informations (l’information sera alors dupliquée ce qui peut être dangereux).
Ce qui est fait dans mne-bids-template
Dans mne-bids-template, la fonction de détection de mauvais canaux est appliquée et ces derniers sont ensuite ajoutés au raw.info['bads']
et sont également enregistrés dans un fichier bads.tsv
.
...
Contacter Richard à ce sujet ?
Informations mauvais canaux suivant BIDS
Dans BIDS, les mauvais canaux sont listés dans le fichier channels.tsv
: la colonne status précise si ce canal est mauvais (voir https://bids-specification.readthedocs.io/en/stable/04-modality-specific-files/02-magnetoencephalography.html#channels-description-_channelstsv).
...
Contexte
Discussion des points évoqués dans les commentaires.
Décision prise
Les fichiers channels.tsv
et events.tsv
doivent être créés de façon à respecter le format BIDS. Pour ce faire il va falloir extraire ces informations des fichiers .fif ou .ctf (ou autre) de data en utilsant mne-bids
et peut-être bl2bids
. Peut-être sera-t-il préférable de juste prendre En tout cas, utilisant une librairie qui tient compte des règles de précédence de bids.
Aurore jugera si elle utilise une librairie complète, ou si elle prendra plutôt des morceaux de codes à l’intérieur de mne-bids
(là où les fichiers channels.tsv
et events.tsv
sont crées).
...