Outils pour utilisateurs

Outils du site


documentation_mne

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
documentation_mne [20/01/2022 10:15]
dylan.jacquot Ajout de la partie CSP
documentation_mne [13/06/2022 13:33] (Version actuelle)
aristide.bourry
Ligne 1: Ligne 1:
-Documentation de la librairie MNE+====== Documentation de la librairie MNE ======
  
-Introduction+===== Introduction =====
  
-MNE est une librairie python open-source offrant des fonctionnalités spécialisées pour toutes sortes de traitements de données MEG, EEG, sEEG, ECoG ou encore NIRS. +MNE est une librairie python open-source offrant des fonctionnalités spécialisées pour toute sorte de traitements de données MEG, EEG, sEEG, ECoG ou encore NIRS. 
  
 Dans le cadre de notre projet, elle peut servir à traiter le signal EEG, le visualiser sous différentes formes, extraire des graphiques complexes et intéressants pour analyser le signal et classifier des essais. Dans le cadre de notre projet, elle peut servir à traiter le signal EEG, le visualiser sous différentes formes, extraire des graphiques complexes et intéressants pour analyser le signal et classifier des essais.
Ligne 9: Ligne 9:
 Dans cette documentation, nous avons utilisé le [[http://www.bbci.de/competition/iv/desc_2a.pdf|dataset BCI Competition 2a]] dont le fichier .gdf (contenant les données du signal et les annotations concernant les signaux EEG récoltés lors de la constitution du dataset) et le fichier .mat (contenant les labels) sont téléchargeables sur la [[http://www.bbci.de/competition/iv/|page web de BCI Competiton]]. Dans cette documentation, nous avons utilisé le [[http://www.bbci.de/competition/iv/desc_2a.pdf|dataset BCI Competition 2a]] dont le fichier .gdf (contenant les données du signal et les annotations concernant les signaux EEG récoltés lors de la constitution du dataset) et le fichier .mat (contenant les labels) sont téléchargeables sur la [[http://www.bbci.de/competition/iv/|page web de BCI Competiton]].
  
-Importation des données du dataset+===== Importation des données du dataset =====
  
 Les données du dataset peuvent être importées du fichier gdf en utilisant la fonction mne.io.read_raw_gdf(pathname, eog=None, misc=None, preload=True). Le paramètre pathname décrit le chemin d'accès au fichier gdf. Le paramètre preload = True est particulièrement important : il permet d'activer le chargement en mémoire des données lors de l'importation. Les données du dataset peuvent être importées du fichier gdf en utilisant la fonction mne.io.read_raw_gdf(pathname, eog=None, misc=None, preload=True). Le paramètre pathname décrit le chemin d'accès au fichier gdf. Le paramètre preload = True est particulièrement important : il permet d'activer le chargement en mémoire des données lors de l'importation.
Ligne 17: Ligne 17:
 En ce qui concerne les labels, ils peuvent être chargés dans le programme à l'aide de la fonction scipy.io.loadmat(mat_fname) où mat_fname est le chemin d'accès vers le fichier .mat fourni par BCI Competition 2008. En ce qui concerne les labels, ils peuvent être chargés dans le programme à l'aide de la fonction scipy.io.loadmat(mat_fname) où mat_fname est le chemin d'accès vers le fichier .mat fourni par BCI Competition 2008.
  
-Paramétrage de l'objet Raw+===== Paramétrage de l'objet Raw =====
  
 L'instance de Raw récupérée précédemment doit être configurée avant d'être utilisée convenablement.  L'instance de Raw récupérée précédemment doit être configurée avant d'être utilisée convenablement. 
Ligne 33: Ligne 33:
 Le montage est alors prêt à être associé au fichier raw avec la fonction raw.set_montage(montage,match_case = False). Le montage est alors prêt à être associé au fichier raw avec la fonction raw.set_montage(montage,match_case = False).
  
-Exploitation et formatage des données du fichier Raw+===== Exploitation et formatage des données du fichier Raw =====
  
 La classe Raw contient une méthode permettant de réaliser directement le filtrage numérique fréquentiel du signal via un filtre passe-bande. Ainsi, la fonction raw.filter(7.,30.,fir_design='firwin',skip_by_annotation='edge') permet de filtrer le signal EEG dans la bande de fréquence 7-30 Hz. La classe Raw contient une méthode permettant de réaliser directement le filtrage numérique fréquentiel du signal via un filtre passe-bande. Ainsi, la fonction raw.filter(7.,30.,fir_design='firwin',skip_by_annotation='edge') permet de filtrer le signal EEG dans la bande de fréquence 7-30 Hz.
Ligne 47: Ligne 47:
 Les données EEG d'un objet Epochs peuvent être récupérées en utilisant la fonction epochs.get_data(). Les données EEG d'un objet Epochs peuvent être récupérées en utilisant la fonction epochs.get_data().
  
-Affichage graphique de l'activité cérébrale+===== Affichage graphique de l'activité cérébrale =====
  
 Il est possible grâce à MNE de représenter graphiquement l'activité cérébrale d'un sujet. Pour cela, nous devons utiliser la notion d'evoked. Il s'agit du moyennage temporel des Epochs pour un sujet donné. Il est possible grâce à MNE de représenter graphiquement l'activité cérébrale d'un sujet. Pour cela, nous devons utiliser la notion d'evoked. Il s'agit du moyennage temporel des Epochs pour un sujet donné.
Ligne 62: Ligne 62:
 {{:cerveau_durant_experience.png?400|}} {{:cerveau_durant_experience.png?400|}}
  
 +===== Mise en place d'un filtre CSP =====
  
-Mise en place d'un filtre CSP +Le filtre CSP (pour Common Spatial Patterns) est un filtre dit adaptatif, c'est-à-dire qu'il va chercher à personnaliser le filtrage spatial pour chaque personne en sélectionnant les électrodes qui semblent les plus adaptées pour une personne données. En effet, bien que les activités cérébrales soient souvent concentrées dans certaines zones (par exemple le cortex moteur pour un mouvement), les électrodes pertinentes peuvent varier fortement selon les individus : il peut alors être très intéressant de sélectionner les canaux pertinents pour chaque personne.
- +
-Le filtre CSP (pour Common Spatial Patterns) est un filtre dit adaptatif, c'est à dire qu'il va chercher à personnaliser le filtrage spatial pour chaque personne en sélectionnant les électrodes qui semblent les plus adaptées pour une personne données. En effet, bien que les activités cérébrales soient souvent concentrées dans certaines zones (par exemple le cortex moteur pour un mouvement), les électrodes pertinentes peuvent varier fortement selon les individus : il peut alors être très intéressant de sélectionner les canaux pertinents pour chaque personne.+
  
 Ce type de filtre nécessite un entraînement basé sur des données. MNE permet la mise en place d'un tel filtre grâce aux Epochs. Ce type de filtre nécessite un entraînement basé sur des données. MNE permet la mise en place d'un tel filtre grâce aux Epochs.
Ligne 71: Ligne 70:
 L'initialisation d'un filtre CSP se fait grâce à la fonction CSP(n_components=4, reg=None, log=True, norm_trace=False) retournant une instance de la classe CSP. Il est alors possible d'entraîner le CSP avec la fonction csp.fit_transform(epochs_data, labels) où epochs_data est la matrice de données issues d'un objet de la classe Epochs et labels et la matrice contenant les labels pour chaque essai. L'initialisation d'un filtre CSP se fait grâce à la fonction CSP(n_components=4, reg=None, log=True, norm_trace=False) retournant une instance de la classe CSP. Il est alors possible d'entraîner le CSP avec la fonction csp.fit_transform(epochs_data, labels) où epochs_data est la matrice de données issues d'un objet de la classe Epochs et labels et la matrice contenant les labels pour chaque essai.
  
-Il peut alors être intéressant d'afficher les patternes CSP calculés après cet entraînement grâce à la fonction csp.plot_patterns(epochs.info, ch_type='eeg', units='Patterns (AU)', size=1.5).+Il peut alors être intéressant d'afficher les patternes CSP calculées après cet entraînement grâce à la fonction csp.plot_patterns(epochs.info, ch_type='eeg', units='Patterns (AU)', size=1.5).
  
 Les graphiques ci-dessous montrent les patternes CSP calculés respectivement pour les sujets A01 et A02. Les graphiques ci-dessous montrent les patternes CSP calculés respectivement pour les sujets A01 et A02.
documentation_mne.1642673739.txt.gz · Dernière modification: 20/01/2022 10:15 de dylan.jacquot