Étude sur l'application de bureau avec intégration EEG
Contenu :
Aperçu
L'objectif de ce guide est de démontrer comment configurer une étude simple avec intégration EEG en utilisant l'application de bureau.
Note : Pour plus d'informations sur l'application de bureau, y compris un guide d'installation et un aperçu des fonctionnalités de l'application - référez-vous à cette page.
Note : Pour plus d'informations sur l'application de bureau, y compris un guide d'installation et un aperçu des fonctionnalités de l'application, référez-vous à cette page.
Paramètres
Dans l'onglet Paramètres, sous la colonne Fonctionnalités spéciales, faites défiler jusqu'à l'option Lab-Streaming-Layer et activez-la. Pour plus d'informations sur ces paramètres, visitez cette page.
Ensuite, un champ de texte apparaîtra où vous pourrez nommer le flux de sortie. Ici, nous avons créé un seul flux et conservé le nom et les options par défaut.
Typiquement, vous souhaitez configurer un flux de sortie pour les événements générés dans Labvanced et l'envoyer comme flux de marqueurs à vos enregistrements EEG pour marquer des événements afin de pouvoir effectuer une analyse des données EEG liées aux événements. Après cela, vous pouvez envoyer des marqueurs individuels sur ce flux, ce qui est assez simple en utilisant le système d'événements Labvanced.
Configuration d'une étude simple
Pour les besoins de ce guide, nous allons rapidement configurer une étude pour le bouba-kiki effect afin d'avoir une base de discussion et une fondation pour configurer les événements liés à l'EEG pour envoyer des marqueurs basés sur :
- Quelle catégorie de stimuli est affichée (c'est-à-dire, bouba catégorie = formes rondes ; kiki catégorie = formes épineuses / aiguisées)
- Quand l'image a été cliquée
Pour voir comment nous avons configuré les stimuli (pour le contexte), référez-vous à la minute 04:19 dans cette vidéo :
Description rapide du processus de téléchargement des stimuli (basée sur la vidéo ci-dessus) :
- À partir du système d'essai, nous créons le niveau et le nommons 'bouba', qui sera pour les images de stimuli de formes rondes, puis créons un autre niveau et le nommons 'kiki' pour les images de stimuli de formes épineuses.
- Maintenant, sous la condition Bouba affichée sur le Système d'Essai, nous cliquons dessus et sélectionnons l'objet, puis téléchargeons nos fichiers image pertinents, en sélectionnant les options pour : i.) créer autant d'essais qu'il y a de stimuli et ii.) les affecter automatiquement.
- Ensuite, nous faisons de même pour l'autre condition en sélectionnant l'objet sous la condition et en répétant le processus.
À ce stade, nous avons une étude simple avec deux types de stimuli. Après avoir configuré les événements (section suivante), la tâche finale ressemblera à ceci avec un clic sur l'image naviguant l'étude vers le prochain essai, tout en envoyant des marqueurs EEG.
Configuration des événements
Maintenant pour les événements, l'idée principale est que nous voulons envoyer un marqueur EEG basé sur quel type / catégorie d'image le participant voit, ainsi qu'un marqueur pour quand l'image a été cliquée.
Événement 1 : Envoyer un marqueur (début du cadre/stimulus) à l'EEG
Pour ce premier événement, nous voulons que l'EEG sache : a) quand le cadre avec les stimuli a commencé, mais b.) aussi de quelle catégorie d'image le stimulus appartient (c'est-à-dire bouba ou kiki).
DÉCLENCHEUR
Déclencheur d'essai et de cadre→Au début du cadre
Sélection du début du cadre comme déclencheur pour savoir quand le premier marqueur EEG doit être créé.
ACTION
Puisque nous voulons passer d'une condition à l'autre, nous aurons besoin d'une action if/then, dans l'éditeur :
Action de contrôle→Action de besoin (Si…Alors)
Pour spécifier la première condition, nous appelons la variable de facteur correspondante et la définissons comme 'bouba.' Cela se fait en appliquant les étapes suivantes dans l'éditeur :
- Cliquez sur
+ Besoin - Dans l'icône de crayon de gauche :
Variable→Sélectionner la variableet choisissezfactor1_tg1_task0 - Dans l'icône de crayon de droite :
Valeur constante→Chaine→ tapez la chaîne bouba
Note : Dans le processus de conception de l'expérience, vous devriez donner à vos facteurs des noms uniques et descriptifs. Dans l'exemple ci-dessus, nous avons utilisé le nom par défaut factor1_tg1_task0, mais pour des conceptions structurellement solides, vous devriez donner à vos facteurs des noms plus précis pour refléter la catégorie (comme ‘Forme’).
Une fois que cette condition SI est remplie, nous ALORS voulons que ce qui suit se produise :
Ajouter une actionActions API→Envoyer un marqueur LabStreamingLayer- Sélectionnez le flux qui a été créé précédemment sous les ‘Paramètres de l'étude’ à cette fin (c'est-à-dire le labvanced_stream_1)
- Valeur à envoyer :
Valeur constante→Chaine→ tapez le mot bouba
Spécification du marqueur LSL basé sur le type de condition des stimuli image.
Nous répétons le processus pour la condition kiki en cliquant sur l'option + Ajouter un cas Else If.
Astuce de flux de travail : Au lieu de créer un deuxième événement pour la condition ‘kiki’. Il suffit de copier l'événement ci-dessus (en utilisant l'icône de duplication en haut, à côté du mot `IF`) et de simplement changer les chaînes pour correspondre à l'autre facteur ou type de stimulus, c'est-à-dire ‘kiki’.
RÉSUMÉ
Jusqu'à présent, nous avons configuré Labvanced pour envoyer un marqueur EEG (basé sur le type de forme de stimulus) dès que le cadre commence, c'est-à-dire dès que le stimulus est présenté.
Événement 2 : Réponse du participant
Maintenant, nous voulons envoyer un marqueur et mesurer quelque chose de plus dynamique, c'est-à-dire quand l'image a été cliquée. Ici, nous pouvons également quantifier le temps de réaction et passer à l'essai suivant (tout basé sur le clic de la souris sur l'image).
Nous pouvons créer un autre événement, donc lorsque l'image est cliquée, l'EEG reçoit le marqueur de ‘clic’.
DÉCLENCHEUR
Entrée utilisateur→Déclencheur de souris+ Ajouter une cible→ sélectionnez l'objet image (image_1)
Sélection d'un clic sur l'image comme déclencheur pour savoir quand le deuxième marqueur doit être créé.
ACTION 1 (Envoyer le marqueur ‘clic’ à l'EEG)
Créer un nouveau marqueur en :
Actions API→Envoyer un marqueur LabStreamingLayer- Flux LSL : sélectionner
labvanced_stream_1 - Valeur à envoyer :
Valeur constante→Chaine→ tapez le mot Clic
ACTION 2 (Enregistrer le temps de réaction)
Utilisez le Définir / Enregistrer la variable et créez une variable qui est scalaire et numérique qui enregistre le temps de déclenchement de la souris depuis le début du cadre en :
+ ActionActions de variable→Définir / Enregistrer la variableSélectionner(bouton vert) →+Nouvelle variable(en haut à droite)- Nom: RT
- Format: Scalaire
- Type de données : Numérique
- → ‘OK’
- Icône de crayon →
Déclencheur (Souris)→Temps de déclenchement (Depuis le début du cadre)
ACTION 3 (Passer à l'essai suivant)
+ ActionActions de saut→Passer à→Essai suivant
Suite à cette procédure, votre événement ressemblera à ceci :
Trois actions sont définies pour se produire lors d'un clic de souris sur l'image cible : i.) envoyer le marqueur à l'EEG, quantifier le temps de réaction, et passer à l'essai suivant.
RÉSUMÉ
L'événement ci-dessus, avec le déclencheur d'un clic sur une image spécifique, déclenche les actions suivantes : un marqueur direct ‘clic’ est envoyé à l'EEG, un temps de réaction (depuis le début du cadre) est enregistré en millisecondes et stocké dans la variable ‘RT’, et l'expérience passe à l'essai suivant.
À ce stade, une étude très simple est configurée avec une structure et la capacité d'envoyer des marqueurs à un EEG !
- Deux types de stimuli différents
- L'EEG reçoit des marqueurs basés sur :
- le type de stimulus affiché
- quand le ‘clic’ a eu lieu
- L'étude enregistre le temps de réaction et dispose d'une navigation configurée
MODE LOCAL
Dans l'application de bureau maintenant, revenir au mode ‘local’ montre qu'il y a une synchronisation en cours.
L'étude se charge et se met à jour localement sur l'application de bureau.
Après quelques secondes, l'étude mise à jour a été téléchargée, donc tous les changements effectués en ligne sont reflétés dans la version locale.
Passons à la session d'enregistrement EEG.
Session d'enregistrement des données EEG
Pour commencer une session d'enregistrement de données EEG, nous avons bien sûr besoin de l'étude Labvanced que nous avons faite ci-dessus (avec sa structure et événements pour envoyer les marqueurs). Mais nous aurons également besoin de quelques programmes complémentaires (gratuits) afin d'injecter les marqueurs EEG, ainsi que des outils pour visualiser et potentiellement analyser les données.
Équipement EEG (Muse 2 EEG)
Dans cette démonstration, nous utilisons un casque portable Muse 2 EEG. Avec le programme BlueMuse (gratuit) ouvert (pour le casque EEG Muse 2), nous cliquons sur l'option ‘Démarrer le streaming’. Une seconde fenêtre apparaîtra montrant 4 flux différents : le canal EEG, l'accéléromètre, le gyroscope, etc., ainsi que leurs taux d'échantillonnage respectifs.
Démarrer le streaming dans BlueMuse (fenêtre de droite) et les flux apparaissent (fenêtre de gauche).
Ces deux fenêtres peuvent être minimisées maintenant.
Enregistreur Lab
Le prochain outil que nous allons utiliser est le Lab Recorder (gratuit), qui est le logiciel d'enregistrement LSL que vous pouvez utiliser pour enregistrer le flux de données LSL que vous venez de connecter, ainsi que le sauvegarder dans un fichier .XDF.
Si vous avez démarré votre système EEG et commencé le flux LSL, vous les verrez ici. À ce stade, le flux Labvanced n'a pas encore commencé car l'étude n'a pas encore commencé. Donc, l'étude doit être commencée afin que ce flux commence également.
Le flux supérieur (en rouge) n'est pas démarré car l'étude n'a pas encore commencé. Démarrer l'étude rendra ce flux vert. Sur le côté droit, vous pouvez spécifier où sauvegarder les données.
Dès que l'étude est démarrée (c'est-à-dire ouvrez l'étude dans Labvanced et appuyez sur Enregistrer). Dès que l'étude est démarrée et dans le hall d'attente, vous pouvez alors cliquer sur le bouton ‘mettre à jour’ dans l'Enregistreur Lab et vous pouvez voir que le flux Labvanced est maintenant prêt.
Note : Sur le côté droit du programme Enregistreur Lab, vous pouvez indiquer le chemin du fichier et choisir où sauvegarder le fichier de flux de données de données combinées du flux Labvanced et de l'EEG et potentiellement d'autres sources de séries temporelles localement sur votre ordinateur.
Maintenant, cliquez sur Démarrer dans le programme Enregistreur Lab (coin supérieur gauche) pour commencer l'enregistrement.
Vision du cerveau
Pour voir quelque chose, c'est-à-dire le flux en direct du flux LSL, vous devez démarrer un autre outil tel que le Brain Vision Analyzer (gratuit) de Brain Products que nous utilisons ici, qui fournit une belle visualisation de ce qui est enregistré.
En cliquant sur Connecter, tous les flux devraient être affichés ici. Vous pouvez également cliquer sur le flux Labvanced et cliquer sur OK.
Maintenant, nous pouvons commencer l'expérience et commencer à enregistrer et visualiser les données EEG !
Aperçu du flux EEG en direct dans Brain Vision.
Lorsqu'il y a un clic ou une réponse dans l'étude, vous verrez également les marqueurs apparaître dans le flux EEG en bas du programme Brain Vision.
Le marqueur ‘clic’ et le marqueur de condition ne sont pas si distincts à cette échelle. C'est parce que quelques millisecondes après avoir cliqué sur l'image, le marqueur de condition est défini pour le nouvel essai, donc ils apparaissent ensemble ici, se chevauchant visuellement.
Les marqueurs créés dans Labvanced apparaissent en bas, basés sur le type de condition et le clic.
Dans l'ensemble, cela fonctionne assez bien !
Fin de l'enregistrement
Maintenant que l'étude est terminée. Nous pouvons arrêter l'enregistrement des données en cliquant sur Arrêter dans le programme Enregistreur Lab. Cela prend quelques secondes pour que le fichier soit créé et sauvegardé.
Analyse des données EEG
EEGLAB Standalone
La dernière chose que nous voulons montrer est comment analyser les données EEG. Bien sûr, il existe de nombreuses manières d'analyser les données EEG comme en Python ou en R ou utiliser MatLab.
Nous utiliserons le EEGLAB Standalone (gratuit) de l'Université de Californie - San Diego (UCSD) qui ne nécessite pas de MatLab ni de licence, juste un environnement d'exécution afin que vous puissiez inspecter directement les enregistrements de données.
Avec les options EEGLAB Standalone, tous les plugins comme ceux pour charger les fichiers .XDF (qui est le format de sortie de l'Enregistreur Lab) peuvent être chargés directement.
À partir de l'option Fichier, allez à Importer des données → Utiliser les fonctions et plugins EEGLAB → à partir de .XDF vers le fichier .XDFZ et trouvez le fichier de l'Enregistreur Lab dans le dossier local qui a été spécifié plus tôt pour être sauvegardé. Ensuite, chargez-le. Des boîtes de dialogue apparaîtront pour nommer l'importation et le jeu de données.
Une fois le fichier ouvert, des informations concernant les images par époque ainsi que le nombre d'événements, etc., apparaîtront.
Aperçu du jeu de données [test_1] depuis EEGLAB Standalone.
Nous pouvons aller à Tracer → Données de canal (défilement) qui est un joli aperçu des données enregistrées et vous pouvez naviguer dans les données.
Ouverture des données de canal et navigation à travers la session d'enregistrement. Les marqueurs sont listés en rose et vert en haut.
Nous ne ferons pas d'analyse maintenant, mais de là vous pouvez effectuer des opérations intéressantes en utilisant des timestamps et des ensembles de données par époque. Il existe de bons matériaux et tutoriels de EEGLAB couvrant un large éventail de sujets.
Par exemple, sous l'élément de menu Tracer, vous pouvez voir de nombreuses options. C'est une sorte de spectrogramme de l'enregistrement.
Un exemple de figure créée en utilisant EEGLAB Standalone basé sur les données enregistrées dans cette démo.
Nous espérons que cela a été utile et a démontré à quel point une étude EEG peut être configurée rapidement en utilisant l'application de bureau Labvanced. Merci !