Laboratorium EEG/CSP: Różnice pomiędzy wersjami

Z Brain-wiki
 
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 292: Linia 292:
 
   
 
   
 
* Wczytać dane kalibracyjne do Matlaba i pociąć je na realizacje typu T — „target” (związane z wystąpieniami litery „B”) i NT — „non-target” (pozostałe litery) o długości −200 do +800 ms wokół triggerów. Dla każdej realizacji odjąć trend liniowy.
 
* Wczytać dane kalibracyjne do Matlaba i pociąć je na realizacje typu T — „target” (związane z wystąpieniami litery „B”) i NT — „non-target” (pozostałe litery) o długości −200 do +800 ms wokół triggerów. Dla każdej realizacji odjąć trend liniowy.
* Sygnał zmontować wzgl. &bdquo;połączonych uszu&rdquo; i wyświetlić średnie przebiegi dla warunku T i NT w układzie topograficznym &mdash; wykorzystać w tym celu funkcję <tt>plottopo</tt> z pakietu Eeglab.
+
* Sygnał zmontować wzgl. &bdquo;połączonych uszu&rdquo; i wyświetlić średnie przebiegi dla warunku T i NT w układzie topograficznym &mdash; można wykorzystać w tym celu poniższy fragment kodu.
 +
{{hidden begin|title= fragment kodu do rysowania dwóch ERPów -- zamiast funkcji plottopo}}
 +
<source lang = matlab>
 +
%% stworzenie osi
 +
      % zakładam, że dane do rysowania są w dwóch strukturach EEG1 i EEG2 (struktury eeglab),
 +
      % te dane są podzielone na realizacje i mają kształt (kanały , czas, epoki)
 +
      % i że mamy już załadowane położenia elektrod we współrzędnych
 +
      % biegunowych
 +
      w = 0.125;
 +
      h = 0.125;
 +
      sc = 0.8;
 +
      figure()
 +
    for chanNum = 1:length(EEG1.chanlocs)
 +
        r =EEG1.chanlocs(chanNum).radius;
 +
        theta = EEG1.chanlocs(chanNum).theta;
 +
        x = r* sin(theta/180*pi)*sc+0.46;
 +
        y = r* cos(theta/180*pi)*sc+0.46;
 +
        ax(chanNum) = axes('Position', [x, y, w, h]);
 +
    end
 +
%%uśredniam EEG po powtórzeniach aby otrzymać ERP
 +
  ERP1 =squeeze( mean( EEG1.data,3)) ;
 +
  ERP2 =squeeze( mean( EEG2.data,3)) ;
 +
%% rysowanie uśrednionych potencjałów z dwóch struktur EEG
 +
for chanNum = 1:length(EEG1.chanlocs)
 +
    hold(ax(chanNum),'on');
 +
    plot(ax(chanNum), EEG1.times, ERP1(chanNum ,:));
 +
    plot(ax(chanNum), EEG2.times, ERP2(chanNum ,:));
 +
    title(ax(chanNum),EEG1.chanlocs(chanNum).labels );
 +
    hold(ax(chanNum),'off');
 +
end
 +
</source>
 +
{{hidden end}}
  
 
<small>Poniżej zaprezentowany jest przykładowy skrypt do cięcia danych wokół znaczników. Działa on z plikami zawartymi w archiwum:
 
<small>Poniżej zaprezentowany jest przykładowy skrypt do cięcia danych wokół znaczników. Działa on z plikami zawartymi w archiwum:
Linia 391: Linia 422:
  
 
===ZADANIE: Analiza CSP===
 
===ZADANIE: Analiza CSP===
 +
 +
Przegląd badań o P300: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2715154/
 +
 
Link do Read menager [https://drive.google.com/file/d/1OgOduK5Zn7GgNl5XdCyLWXHJ7wTJIWcC/view?usp=share_link]
 
Link do Read menager [https://drive.google.com/file/d/1OgOduK5Zn7GgNl5XdCyLWXHJ7wTJIWcC/view?usp=share_link]
 
<!---
 
<!---
Linia 406: Linia 440:
  
 
{{hidden begin|title=Wybór i separacja cech}}
 
{{hidden begin|title=Wybór i separacja cech}}
 +
 
===Wybór i separacja cech===
 
===Wybór i separacja cech===
 
* Przedstaw na rysunkach nałożone na siebie pojedyncze realizacje z warunków target i non-target po rzutowaniu na wektor <math>w</math> odpowiadający największej i kolejnej wartości  własnej.  
 
* Przedstaw na rysunkach nałożone na siebie pojedyncze realizacje z warunków target i non-target po rzutowaniu na wektor <math>w</math> odpowiadający największej i kolejnej wartości  własnej.  

Aktualna wersja na dzień 08:47, 14 maj 2024

Laboratorium_EEG/BSS

Prezentacja

slajdy z prezentacji

Ślepa separacja źródeł (BSS)


Ćwiczenie symulacyjne

Zastosowanie filtra CSP do detekcji potencjału P300

Analiza wstępna

Poszczególne etapy analizy proszę kodować w osobnych funkcjach. Funkcje te powinny być wywoływane z nadrzędnego skryptu, który powinien umożliwic wykoanie całości analiz.

  • Wczytać dane kalibracyjne do Matlaba i pociąć je na realizacje typu T — „target” (związane z wystąpieniami litery „B”) i NT — „non-target” (pozostałe litery) o długości −200 do +800 ms wokół triggerów. Dla każdej realizacji odjąć trend liniowy.
  • Sygnał zmontować wzgl. „połączonych uszu” i wyświetlić średnie przebiegi dla warunku T i NT w układzie topograficznym — można wykorzystać w tym celu poniższy fragment kodu.

Poniżej zaprezentowany jest przykładowy skrypt do cięcia danych wokół znaczników. Działa on z plikami zawartymi w archiwum:

Plik:KalibracjaP300.tar.gz

Korzysta z funkcji pomocniczych dostępnych w dystrybucji obci w katalogu

/usr/share/openbci/analysis/matlab_obci_signal_processing

Openbci można pobrać z https://github.com/BrainTech/openbci

ZADANIE: Analiza CSP

Przegląd badań o P300: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2715154/

Link do Read menager [1]

  • Wykonać analizę CSP wzmacniającą potencjał P300.
  • Zaprezentować średnią ze wszystkich kanałów źródłowych z warunku target (jeden kolor) i non-target (inny kolor) w subplotach ułożonych w prostokątnej siatce. Zaobserwować dla którego kanału średnie różnią się najbardziej. Czy jest związek tego kanału z wartościami własnymi?
  • Dla kanału najbardziej różnicującego wykonać mapki topograficzne (do wykonania tych mapek wykorzystać funkcję topoplot z pakietu eeglab) wektorów odpowiadających:
    • filtrowi przestrzennemu
    • rzutu topograficznego źródła na elektrody.

Filtry przestrzenne dla SSEP

ICA jako filtr przestrzenny

ZADANIE: Identyfikacja artefaktów

Proszę pobrać dane:

Pochodzą one z eksperymentu w którym osoba badana czytała słowa o różnych właściwościach wzbudzania emocji.

  • wczytaj je do eeglaba
  • wczytaj lokalizację kanałów z pliku Arousal-10-20-Cap.locs
  • obejrzyj przebiegi czasowe
  • odrzuć kanał z diodą (21) i z GSR (20)
  • zrób dekompozycję ICA
  • obejrzyj topografię komponentów
  • zidentyfikuj komponenty odpowiadające mruganiu i aktywności mięśniowej.
UWAGA
Aktualnie do wykrywania komponentów artefaktowych warto posłużyć się wtyczkami do eeglaba dostępnymi przez stronę:

https://sccn.ucsd.edu/eeglab/plugin_uploader/plugin_list_all.php

  • ICLabel
  • MARA

W raporcie:

  • zaprezentuj fragmenty sygnału zawierającego artefakty oczne i mięśniowe przed i po zastosowaniu czyszczenia poprzez usuwanie komponentów zdominowanych przez artefakty.
  • zaprezentuj topografię i przebiegi czasowe komponentów zidentyfikowanych jako artefakty oczne i mięśniowe.