Pracownia Sygnałów Biologicznych/Zajecia 10: Różnice pomiędzy wersjami

Z Brain-wiki
(Utworzono nową stronę "Pracownia Sygnałów Bioelektrycznych/Analiza EEG == Widmo sygnału spoczynkowego EEG == - Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty:...")
 
 
(Nie pokazano 5 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 2: Linia 2:
  
 
== Widmo sygnału spoczynkowego EEG ==
 
== Widmo sygnału spoczynkowego EEG ==
- Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty:
+
 
  - zapis spoczynkowy z oczami otwartymi (tam gdzie nie były specjalnie wytwarzane artefakty)
+
* Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty (z sygnału norma.raw wybierz minutę pomiędzy 2-3 min i pomiędzy 4-5 min):
  - zapis spoczynkowy z oczami zamkniętymi
+
** zapis spoczynkowy z oczami otwartymi (tam gdzie nie były specjalnie wytwarzane artefakty)
- przefiltruj sygnały górnoprzepustowo z częstościa odcięcia 0.5 Hz, i dolnoprzepustowo z częstością odcięcia 40 Hz, oba filtry Butterwortha 2 rzędu  
+
** zapis spoczynkowy z oczami zamkniętymi
- dla tych zapisów wyestymuj widma metodą Welcha:
+
** zmontuj sygnały do średniej z kanałów M1 i M2 (od każdego kanału odejmij średnią z M1 i M2)
  - dobierając długość okna tak aby uzyskać rozdzielczość 1 Hz
+
** przefiltruj sygnały górnoprzepustowo z częstościa odcięcia 0.5 Hz, i dolnoprzepustowo z częstością odcięcia 40 Hz, oba filtry Butterwortha 2 rzędu  
  - zaprezentuj wyniki dla poszczególnych kanałów układając wykresy topograficznie, tzn. w siatce subplotów 5x5:
+
* dla tych zapisów wyestymuj widma metodą Welcha:
|    | Fp1 |    | Fp2 |    |
+
** dobierając długość okna tak aby uzyskać rozdzielczość 1 Hz
|----|-----|----|-----|----|
+
** na wykresach:
| F7 | F3  | Fz | F4  | F8 |
+
*** zakres osi poziomej ogranicz do 60Hz
| T3 | C3  | Cz | C4  | T4 |
+
*** zakres osi pionowej dobierz tak aby był wspólny dla wszystkich kanałów
| T5 | P3  | Pz | P4  | T6 |
+
*** zaprezentuj wyniki dla poszczególnych kanałów układając wykresy topograficznie, tzn. w siatce subplotów 5x5:
|    | O1  |    | O2  |    |
+
 
 +
{| class="wikitable"
 +
|-
 +
|    || Fp1 ||    || Fp2 ||     
 +
|-
 +
| F7 || F3  || Fz || F4  || F8  
 +
|-
 +
| T3 || C3  || Cz || C4  || T4  
 +
|-
 +
| T5 || P3  || Pz || P4  || T6  
 +
|-
 +
|    || O1  ||    || O2  ||     
 +
|}
 +
 
 +
==Identyfikacja artefaktów ==
 +
* sygnały z artefaktami przefiltruj analogicznie jak w poprzednim punkcie
 +
* wybierz po jednym przykładzie o długości 6s prezentującym zarejestrowane artefakty,
 +
* porównaj przebiegi tych sygnałów w montażu:
 +
** do średniej z M1 i M2 i
 +
** do średniej ze wszystkich kanałów
 +
*** wykreśl przebiegi sygnałów (na wspólnym plocie, sygnały z poszczególnych kanałów poprzesuwaj w pionie względem siebie dodając do poszczególnych kanałów inną wartość satłą)
 +
*** w opisie zwróć uwagę na amplitudę i rozkład przestrzenny tej amplitudy artefaktów w obu montażach, rozkład przestrzenny amplitudy przedstaw w postaci heatmapy 5x5 o układzie topograficznym, takiej, że kolor danego pola jest wartością standardowego odchylenia sygnału w odpowiadającym mu kanale.
 +
 
 +
===ICA (ćwiczenie dodatkowe)===
 +
Popularna w ostatnich latach metoda "czyszczenia" sygnału z artefaktów opiera się na analizie składowych niezależnych.
 +
 
 +
Analiza składowych niezależnych (ang. ''Independent Components Analysis'',
 +
ICA) to jedno z określeń dla metod rozwiązywania problemu tzw. ślepej
 +
separacji źródeł (''blind source separation, BSS''). Przyjęty model
 +
zakłada, że mamy do czynienia z następującą sytuacją: dane którymi
 +
dysponujemy (<math>\vec{x}</math> &mdash; np. zapisy z kilku mikrofonów)
 +
są liniową mieszaniną kilku statystycznie niezależnych sygnałów
 +
(<math>\vec{s}</math> &mdash; np. głosy kilku mówiących jednocześnie osób,
 +
tzw. ''cocktail party problem''):
 +
 
 +
<math>
 +
\vec{x} = A \vec{s}
 +
</math>
 +
 
 +
<math>A</math> zwiemy macierzą mieszającą, a
 +
rozwiązania szukamy w postaci macierzy separującej <math>B</math>, takiej, że wektor sygnałów
 +
 
 +
<math> \vec{y}=B\vec{x}
 +
</math>
 +
 
 +
jest możliwie bliski (nieznanym) sygnałom
 +
<math>\vec{s}</math>.  Wymóg niezależności statystycznej elementów
 +
<math>\vec{y}</math> wymaga uwzględnienia statystyk rzędów wyższych
 +
niż 2.
 +
 
 +
 
 +
Procedura usuwania artefaktów polega na zerowaniu komponentów, które zidentyfikujemy -- na przykład na podstawie kształtu, widma i rozkładu przestrzennego -- i odtwarzaniu sygnału z pominięciem tych komponentów. Procedura jest zaimplementowania w programie Svarog, którego aktualną wersję można ściągnąć stąd: https://braintech.pl/software/svarog-streamer/
 +
 
 +
Z poziomu pythona najłatwiej skorzystać z implementacji w bibliotece mne: https://mne.tools/stable/auto_tutorials/preprocessing/40_artifact_correction_ica.html

Aktualna wersja na dzień 07:11, 14 cze 2024

Pracownia Sygnałów Bioelektrycznych/Analiza EEG

Widmo sygnału spoczynkowego EEG

  • Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty (z sygnału norma.raw wybierz minutę pomiędzy 2-3 min i pomiędzy 4-5 min):
    • zapis spoczynkowy z oczami otwartymi (tam gdzie nie były specjalnie wytwarzane artefakty)
    • zapis spoczynkowy z oczami zamkniętymi
    • zmontuj sygnały do średniej z kanałów M1 i M2 (od każdego kanału odejmij średnią z M1 i M2)
    • przefiltruj sygnały górnoprzepustowo z częstościa odcięcia 0.5 Hz, i dolnoprzepustowo z częstością odcięcia 40 Hz, oba filtry Butterwortha 2 rzędu
  • dla tych zapisów wyestymuj widma metodą Welcha:
    • dobierając długość okna tak aby uzyskać rozdzielczość 1 Hz
    • na wykresach:
      • zakres osi poziomej ogranicz do 60Hz
      • zakres osi pionowej dobierz tak aby był wspólny dla wszystkich kanałów
      • zaprezentuj wyniki dla poszczególnych kanałów układając wykresy topograficznie, tzn. w siatce subplotów 5x5:
Fp1 Fp2
F7 F3 Fz F4 F8
T3 C3 Cz C4 T4
T5 P3 Pz P4 T6
O1 O2

Identyfikacja artefaktów

  • sygnały z artefaktami przefiltruj analogicznie jak w poprzednim punkcie
  • wybierz po jednym przykładzie o długości 6s prezentującym zarejestrowane artefakty,
  • porównaj przebiegi tych sygnałów w montażu:
    • do średniej z M1 i M2 i
    • do średniej ze wszystkich kanałów
      • wykreśl przebiegi sygnałów (na wspólnym plocie, sygnały z poszczególnych kanałów poprzesuwaj w pionie względem siebie dodając do poszczególnych kanałów inną wartość satłą)
      • w opisie zwróć uwagę na amplitudę i rozkład przestrzenny tej amplitudy artefaktów w obu montażach, rozkład przestrzenny amplitudy przedstaw w postaci heatmapy 5x5 o układzie topograficznym, takiej, że kolor danego pola jest wartością standardowego odchylenia sygnału w odpowiadającym mu kanale.

ICA (ćwiczenie dodatkowe)

Popularna w ostatnich latach metoda "czyszczenia" sygnału z artefaktów opiera się na analizie składowych niezależnych.

Analiza składowych niezależnych (ang. Independent Components Analysis, ICA) to jedno z określeń dla metod rozwiązywania problemu tzw. ślepej separacji źródeł (blind source separation, BSS). Przyjęty model zakłada, że mamy do czynienia z następującą sytuacją: dane którymi dysponujemy ([math]\vec{x}[/math] — np. zapisy z kilku mikrofonów) są liniową mieszaniną kilku statystycznie niezależnych sygnałów ([math]\vec{s}[/math] — np. głosy kilku mówiących jednocześnie osób, tzw. cocktail party problem):

[math] \vec{x} = A \vec{s} [/math]

[math]A[/math] zwiemy macierzą mieszającą, a rozwiązania szukamy w postaci macierzy separującej [math]B[/math], takiej, że wektor sygnałów

[math] \vec{y}=B\vec{x} [/math]

jest możliwie bliski (nieznanym) sygnałom [math]\vec{s}[/math]. Wymóg niezależności statystycznej elementów [math]\vec{y}[/math] wymaga uwzględnienia statystyk rzędów wyższych niż 2.


Procedura usuwania artefaktów polega na zerowaniu komponentów, które zidentyfikujemy -- na przykład na podstawie kształtu, widma i rozkładu przestrzennego -- i odtwarzaniu sygnału z pominięciem tych komponentów. Procedura jest zaimplementowania w programie Svarog, którego aktualną wersję można ściągnąć stąd: https://braintech.pl/software/svarog-streamer/

Z poziomu pythona najłatwiej skorzystać z implementacji w bibliotece mne: https://mne.tools/stable/auto_tutorials/preprocessing/40_artifact_correction_ica.html