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

Z Brain-wiki
(Utworzono nową stronę "<b>Pomiar Elektrookulogramu</b> ==Wstęp== Kolejnym narządem, w którym znajdują się generatory czynności bioelektrycznej jest oko. W narządzie tym zachodzą skompl...")
 
(Nie pokazano 19 wersji utworzonych przez 5 użytkowników)
Linia 1: Linia 1:
 
<b>Pomiar Elektrookulogramu</b>
 
<b>Pomiar Elektrookulogramu</b>
 
==Wstęp==
 
==Wstęp==
 +
 +
Prezentacja: [[Media:EOG.pdf]]
 +
 
Kolejnym narządem, w którym znajdują się generatory czynności bioelektrycznej jest oko. W narządzie tym zachodzą skomplikowane procesy biochemiczne i elektryczne, umożliwiające widzenie. Procesy te zostaną omówione na oddzielnym wykładzie, w tym miejscu zaś wymienimy tylko te zjawiska, które mają wpływ na powstawanie w oku czynności elektrycznej.
 
Kolejnym narządem, w którym znajdują się generatory czynności bioelektrycznej jest oko. W narządzie tym zachodzą skomplikowane procesy biochemiczne i elektryczne, umożliwiające widzenie. Procesy te zostaną omówione na oddzielnym wykładzie, w tym miejscu zaś wymienimy tylko te zjawiska, które mają wpływ na powstawanie w oku czynności elektrycznej.
 
# Jednym z najważniejszych części oka jest ''siatkówka'', której zadaniem jest odbieranie bodźców świetlnych oraz zamiana ich na sygnały elektryczne, przekazywane dalej do kory wzrokowej. W siatkówce płynie nieustannie prąd, którego natężenie zmienia się wraz z intensywnością padającego na nią światła. Związane z tym sygnały bioelektryczne można rejestrować za pomocą elektrod umieszczonych na powierzchni oka lub nawet za pomocą elektrod umieszczonych na powierzchni skóry wokół oka. Tak zarejestrowany sygnał elektryczny, powstały w oku w trakcie widzenia, nazywamy ''Elektroretinogramem'' (ERG). Sygnał ten ma amplitudę od kilku nanowoltów do kilku &mu;V i jest wykorzystywany w diagnostyce wielu chorób siatkówki.  
 
# Jednym z najważniejszych części oka jest ''siatkówka'', której zadaniem jest odbieranie bodźców świetlnych oraz zamiana ich na sygnały elektryczne, przekazywane dalej do kory wzrokowej. W siatkówce płynie nieustannie prąd, którego natężenie zmienia się wraz z intensywnością padającego na nią światła. Związane z tym sygnały bioelektryczne można rejestrować za pomocą elektrod umieszczonych na powierzchni oka lub nawet za pomocą elektrod umieszczonych na powierzchni skóry wokół oka. Tak zarejestrowany sygnał elektryczny, powstały w oku w trakcie widzenia, nazywamy ''Elektroretinogramem'' (ERG). Sygnał ten ma amplitudę od kilku nanowoltów do kilku &mu;V i jest wykorzystywany w diagnostyce wielu chorób siatkówki.  
Linia 6: Linia 9:
 
Sygnał EOG można też wykorzystać do konstrukcji interfejsów [[http://dl.acm.org/citation.cfm?id=1740647]].
 
Sygnał EOG można też wykorzystać do konstrukcji interfejsów [[http://dl.acm.org/citation.cfm?id=1740647]].
 
# Ruch oka sterowany jest za pomocą mięśni. W trakcie rejestracji Elektrookulogramu widoczne będą również wyładowania elektryczne związane z działaniem mięśni.
 
# Ruch oka sterowany jest za pomocą mięśni. W trakcie rejestracji Elektrookulogramu widoczne będą również wyładowania elektryczne związane z działaniem mięśni.
===Ćwiczenie I ===
+
===Ćwiczenie I: Podstawowe własności sygnału EOG ===
 
Wykonaj pomiar Elektrokulogramu za pomocą dwóch par elektrod połączonych w montażu dwubiegunowym.  
 
Wykonaj pomiar Elektrokulogramu za pomocą dwóch par elektrod połączonych w montażu dwubiegunowym.  
<!--* Umieść jedną z elektrod nieco przyśrodkowo i nieznacznie powyżej szpary powiekowej, drugą zaś a po przeciwległej stronie, tj. nieco poniżej szpary powiekowej. -->
+
<!--* Umieść jedną z elektrod nieco przyśrodkowo i nieznacznie powyżej szpary powiekowej, drugą zaś a po przeciwległej stronie, tj. nieco poniżej szpary powiekowej. --><br>
 +
 
 +
Przyjrzyj się na bieżąco w SVAROGu sygnałom w poniższych sytuacjach, a następnie zarejestruj odpowiadajće im sygnały aby dało się je przedstawić w prezentacji.
 +
 
 
* Jedną parę elektrod umieść poniżej i powyżej oka, drugą w pobliżu lewej i prawej skroni.
 
* Jedną parę elektrod umieść poniżej i powyżej oka, drugą w pobliżu lewej i prawej skroni.
 
* Skonfiguruj program do rejestracji i przeglądania mierzonego sygnału w czasie rzeczywistym.
 
* Skonfiguruj program do rejestracji i przeglądania mierzonego sygnału w czasie rzeczywistym.
Linia 15: Linia 21:
 
* Wykonaj mrugnięcie i opisz zarejestrowany sygnał.
 
* Wykonaj mrugnięcie i opisz zarejestrowany sygnał.
 
* Przeczytaj fragment tekstu, zaobserwuj efekty związane z ruchem sakadowym oka.
 
* Przeczytaj fragment tekstu, zaobserwuj efekty związane z ruchem sakadowym oka.
Zarejestruj sygnały w wyżej wymienionych sytuacjach. Wyświetl te sygnały w programie napisanym samodzielnie, bez stosowania filtra grórnoprzepustowego.
 
  
 +
Wyświetl te sygnały w programie napisanym samodzielnie, rozważ efekty stosowania filtra grórnoprzepustowego.
 +
 +
* Przetestuj co dzieje się z sygnałami dla filtrów górnaoprzepustowych o częstościach odcięcia 0.1, 0.25, 0.5, 1, 2, 4 Hz.
 +
* Dla wybranego filtru górnoprzepustowego zbadaj wpływ filtrowania dolnoprzepustowego dla częstości odcięcia 15 i 30 Hz.
 +
* Swoje badania zilustruj przedstawiając wybrane fragmenty przefiltrowanych sygnałów
 +
 +
 +
 +
 +
<!--
 
===Ćwiczenie II ===
 
===Ćwiczenie II ===
 
Powtórz ćwiczenie I, łącząc elektrody z monopolarnymi wejściami wzmacniacza, elektrodę odniesienia umieść na lewym płatku uszu lub wyrostku sutkowatym.
 
Powtórz ćwiczenie I, łącząc elektrody z monopolarnymi wejściami wzmacniacza, elektrodę odniesienia umieść na lewym płatku uszu lub wyrostku sutkowatym.
 +
-->
  
 
+
===Ćwiczenie II: dekoder sakad ===
===Ćwiczenie III===
 
 
Napisz program wyświetlający na macierzy 5x5 następujące sekwencje:
 
Napisz program wyświetlający na macierzy 5x5 następujące sekwencje:
 
* kwadrat środkowy - kwadrat górny - kwadrat środkowy
 
* kwadrat środkowy - kwadrat górny - kwadrat środkowy
Linia 27: Linia 42:
 
* kwadrat środkowy - kwadrat dolny - kwadrat środkowy
 
* kwadrat środkowy - kwadrat dolny - kwadrat środkowy
 
* kwadrat środkowy - kwadrat lewy - kwadrat środkowy
 
* kwadrat środkowy - kwadrat lewy - kwadrat środkowy
Zapisuj do pliku tekstowego czasy i kody poszczególnych sekwencji.
+
Zapisuj do pliku tekstowego czasy i kody poszczególnych sekwencji. Powtórz po kilkanaście sekwencji całości.
  
Wyświetl te sygnały w programie napisanym samodzielnie, bez stosowania filtra grórnoprzepustowego.
+
* Wyświetl te sygnały w programie napisanym samodzielnie, bez stosowania filtra grórnoprzepustowego i z użyciem wybranego w ćwiczeniu I filtra.
 +
* Potnij sygnały wg. tagów, tak że początek fragmentu jest początkiem taga "kwadrat środkowy" rozpoczynającego sekwencję, a koniec końcem taga "kwadrat środkowy kończącego sekwencję".
 +
* Nałóż uzyskane fragmenty danego typu sekwencji na siebie.
 +
* Zaobserwuj prawidłowości (wzorce) występujące dla poszczególnych sekwencji.
 +
* Zaprojektuj detektor, wykrywający, która sekwencja została wykonana.
 +
* Przetestuj go na zebranym sygnale.
  
Zaprojektuj detektor, wykrywający, która sekwencja została wykonana.
+
===Ćwiczenie III: interfejs 'sakadowy' ===
 +
Zrealizuj prosty system do analizy on-line ruchu gałki ocznej, modyfikując detektor z poprzedniego ćwiczenia. W najprostszej wersji system ma wypisywać w terminalu wykryty kierunek sakady.
  
 +
Wykorzystamy kod pokazany w ćwiczeniu:
 +
https://brain.fuw.edu.pl/edu/index.php/Laboratorium_EEG/Wprowadzenie_do_syg_online#.C4.86wiczenie:_Wykorzystanie_pomiaru_EMG_do_sterowania_on-line
 +
  
===Ćwiczenie IV ===
+
<!--
Zrealizuj prosty system do rejestracji ruchu gałki ocznej, tzw. Eye tracker. w tym celu:
+
w tym celu:
 
==== Napisz moduł:====
 
==== Napisz moduł:====
 
* Korzystając detektora sekwencji napisanego w ramach ćwiczenia III napisz moduł wykrywający sekwencje w czasie rzeczywistym.  Niech Twój moduł wypisuje wynik detekcji na konsolę.  '''Opis korzystania i pisania modułów do  systemu OBCI znajduje się''' [[http://bci.fuw.edu.pl/wiki/Tutorials tutaj]]. W dużym skrócie to co należy zrobić to:
 
* Korzystając detektora sekwencji napisanego w ramach ćwiczenia III napisz moduł wykrywający sekwencje w czasie rzeczywistym.  Niech Twój moduł wypisuje wynik detekcji na konsolę.  '''Opis korzystania i pisania modułów do  systemu OBCI znajduje się''' [[http://bci.fuw.edu.pl/wiki/Tutorials tutaj]]. W dużym skrócie to co należy zrobić to:
Linia 53: Linia 77:
 
;***********************************************
 
;***********************************************
 
[peers.config_server]
 
[peers.config_server]
path=obci_control/peer/config_server.py
+
path=control/peer/config_server.py
  
 
;***********************************************
 
;***********************************************
 
;***********************************************
 
;***********************************************
 
[peers.amplifier]
 
[peers.amplifier]
path=drivers/eeg/c_tmsi_amplifier/amplifier_tmsi.py
+
path = drivers/eeg/cpp_amplifiers/amplifier_tmsi.py
 
;ponizsza sciezka pokazuje na plik zaierajacy nasze ustawienia parametrow wzmacniacza
 
;ponizsza sciezka pokazuje na plik zaierajacy nasze ustawienia parametrow wzmacniacza
config= ~/obci/scenarios/eog_local_params.ini
+
config=~/obci/scenarios/eog_local_params.ini
 +
 
 
[peers.analysis]
 
[peers.analysis]
 
path=~/obci/analysis/eog_realtime.py
 
path=~/obci/analysis/eog_realtime.py
 +
config=~/obci/analysis/eog_realtime.ini
 
</source>
 
</source>
 
* W powyższym pliku zadeklarowaliśmy, że lokalne parametry dla wzmacniacza znajduję się w pliku:
 
* W powyższym pliku zadeklarowaliśmy, że lokalne parametry dla wzmacniacza znajduję się w pliku:
Linia 79: Linia 105:
 
Ponieważ nasz algorytm musi on się komunikować z resztą systemu obci trzeba go opakować w poniższy kod-szkielet:
 
Ponieważ nasz algorytm musi on się komunikować z resztą systemu obci trzeba go opakować w poniższy kod-szkielet:
  
<source lang = 'py'>
+
<source lang = 'python'>
 
#!/usr/bin/env python
 
#!/usr/bin/env python
 
# -*- coding: utf-8 -*-
 
# -*- coding: utf-8 -*-
 
 
import random, time, numpy
 
import random, time, numpy
 
   
 
   
 
from multiplexer.multiplexer_constants import peers, types
 
from multiplexer.multiplexer_constants import peers, types
from obci_control.peer.configured_multiplexer_server import ConfiguredMultiplexerServer
+
from obci.control.peer.configured_multiplexer_server import ConfiguredMultiplexerServer
from configs import settings, variables_pb2
+
from obci.configs import settings, variables_pb2
 +
from collections import deque
 
   
 
   
from interfaces import interfaces_logging as logger
+
import obci.utils.openbci_logging as logger
 +
 
 
#LOGGER = logger.get_logger("sample_analysis", "info")
 
#LOGGER = logger.get_logger("sample_analysis", "info")
 
LOGGER = logger.get_logger("sample_analysis", "debug")
 
LOGGER = logger.get_logger("sample_analysis", "debug")
Linia 169: Linia 196:
  
 
OpenBCI działa tak, że jeśli w jednym module pojawi się błąd, to wszystkie inne moduły są zamykane, stąd komunikat podobny do poniższego sugeruje, że w którymś module wystąpił błąd. W takim wypadku należy przejrzeć konsolę i wyszukać komunikat błędu. Niezbędne jest ustawienie bufora konsoli na 'nieograniczony' wykonując: Edycja->Preferencje profilu->Przewijanie->Nieograniczone .
 
OpenBCI działa tak, że jeśli w jednym module pojawi się błąd, to wszystkie inne moduły są zamykane, stąd komunikat podobny do poniższego sugeruje, że w którymś module wystąpił błąd. W takim wypadku należy przejrzeć konsolę i wyszukać komunikat błędu. Niezbędne jest ustawienie bufora konsoli na 'nieograniczony' wykonując: Edycja->Preferencje profilu->Przewijanie->Nieograniczone .
 
+
-->
 
====Przetestuj moduł ====
 
====Przetestuj moduł ====
 
* Umieść elektrody do rejestracji ruchu gałki ocznej jak w ćwiczeniu I i przetestuj działanie modułu. Miłej zabawy :-)
 
* Umieść elektrody do rejestracji ruchu gałki ocznej jak w ćwiczeniu I i przetestuj działanie modułu. Miłej zabawy :-)

Wersja z 07:26, 21 maj 2021

Pomiar Elektrookulogramu

Wstęp

Prezentacja: Media:EOG.pdf

Kolejnym narządem, w którym znajdują się generatory czynności bioelektrycznej jest oko. W narządzie tym zachodzą skomplikowane procesy biochemiczne i elektryczne, umożliwiające widzenie. Procesy te zostaną omówione na oddzielnym wykładzie, w tym miejscu zaś wymienimy tylko te zjawiska, które mają wpływ na powstawanie w oku czynności elektrycznej.

  1. Jednym z najważniejszych części oka jest siatkówka, której zadaniem jest odbieranie bodźców świetlnych oraz zamiana ich na sygnały elektryczne, przekazywane dalej do kory wzrokowej. W siatkówce płynie nieustannie prąd, którego natężenie zmienia się wraz z intensywnością padającego na nią światła. Związane z tym sygnały bioelektryczne można rejestrować za pomocą elektrod umieszczonych na powierzchni oka lub nawet za pomocą elektrod umieszczonych na powierzchni skóry wokół oka. Tak zarejestrowany sygnał elektryczny, powstały w oku w trakcie widzenia, nazywamy Elektroretinogramem (ERG). Sygnał ten ma amplitudę od kilku nanowoltów do kilku μV i jest wykorzystywany w diagnostyce wielu chorób siatkówki.
  2. Rogówka (zewnętrzna warstwa oka znajdująca się w jego przedniej części) jest naładowana dodatnio względem siatkówki umiejscowionej po przeciwnej stronie oka. Rogówka wraz z siatkówką tworzą zatem w przybliżeniu układ dipola elektrycznego. W momencie ruchu okiem, dipol ten zmienia orientację w przestrzeni, zaburzając rozkład natężenia pola elektrycznego. Związany z tym sygnał o amplitudzie kilku miliwoltów można zmierzyć za pomocą elektrod umieszczonych na skórze wokół oka. Widoczny jest ona także na elektrodach umieszczonych na powierzchni głowy w trakcie pomiary czynności elektrycznej mózgu. Sygnał ten, czyli elektryczny zapis ruchu gałek ocznych, nazywamy Elektrookulogramem (EOG). Czynność elektryczną związaną z ruchem gałek ocznych obserwuje się również w trakcie mrugania, kiedy to gałki oczne skręcają nieco ku górze (tzw. zjawiska Bella), a także w trakcie badań diagnostycznych zaburzeń snu (w różnych etapach snu występują wolne lub szybkie ruchy gałek ocznych).

Sygnał EOG można też wykorzystać do konstrukcji interfejsów [[1]].

  1. Ruch oka sterowany jest za pomocą mięśni. W trakcie rejestracji Elektrookulogramu widoczne będą również wyładowania elektryczne związane z działaniem mięśni.

Ćwiczenie I: Podstawowe własności sygnału EOG

Wykonaj pomiar Elektrokulogramu za pomocą dwóch par elektrod połączonych w montażu dwubiegunowym.

Przyjrzyj się na bieżąco w SVAROGu sygnałom w poniższych sytuacjach, a następnie zarejestruj odpowiadajće im sygnały aby dało się je przedstawić w prezentacji.

  • Jedną parę elektrod umieść poniżej i powyżej oka, drugą w pobliżu lewej i prawej skroni.
  • Skonfiguruj program do rejestracji i przeglądania mierzonego sygnału w czasie rzeczywistym.
  • Wykonaj ruch oczami w górę i opisz zarejestrowany sygnał.
  • Wykonaj ruch oczami w dół i opisz zarejestrowany sygnał.
  • Wykonaj mrugnięcie i opisz zarejestrowany sygnał.
  • Przeczytaj fragment tekstu, zaobserwuj efekty związane z ruchem sakadowym oka.

Wyświetl te sygnały w programie napisanym samodzielnie, rozważ efekty stosowania filtra grórnoprzepustowego.

  • Przetestuj co dzieje się z sygnałami dla filtrów górnaoprzepustowych o częstościach odcięcia 0.1, 0.25, 0.5, 1, 2, 4 Hz.
  • Dla wybranego filtru górnoprzepustowego zbadaj wpływ filtrowania dolnoprzepustowego dla częstości odcięcia 15 i 30 Hz.
  • Swoje badania zilustruj przedstawiając wybrane fragmenty przefiltrowanych sygnałów



Ćwiczenie II: dekoder sakad

Napisz program wyświetlający na macierzy 5x5 następujące sekwencje:

  • kwadrat środkowy - kwadrat górny - kwadrat środkowy
  • kwadrat środkowy - kwadrat prawy - kwadrat środkowy
  • kwadrat środkowy - kwadrat dolny - kwadrat środkowy
  • kwadrat środkowy - kwadrat lewy - kwadrat środkowy

Zapisuj do pliku tekstowego czasy i kody poszczególnych sekwencji. Powtórz po kilkanaście sekwencji całości.

  • Wyświetl te sygnały w programie napisanym samodzielnie, bez stosowania filtra grórnoprzepustowego i z użyciem wybranego w ćwiczeniu I filtra.
  • Potnij sygnały wg. tagów, tak że początek fragmentu jest początkiem taga "kwadrat środkowy" rozpoczynającego sekwencję, a koniec końcem taga "kwadrat środkowy kończącego sekwencję".
  • Nałóż uzyskane fragmenty danego typu sekwencji na siebie.
  • Zaobserwuj prawidłowości (wzorce) występujące dla poszczególnych sekwencji.
  • Zaprojektuj detektor, wykrywający, która sekwencja została wykonana.
  • Przetestuj go na zebranym sygnale.

Ćwiczenie III: interfejs 'sakadowy'

Zrealizuj prosty system do analizy on-line ruchu gałki ocznej, modyfikując detektor z poprzedniego ćwiczenia. W najprostszej wersji system ma wypisywać w terminalu wykryty kierunek sakady.

Wykorzystamy kod pokazany w ćwiczeniu: https://brain.fuw.edu.pl/edu/index.php/Laboratorium_EEG/Wprowadzenie_do_syg_online#.C4.86wiczenie:_Wykorzystanie_pomiaru_EMG_do_sterowania_on-line


Przetestuj moduł

  • Umieść elektrody do rejestracji ruchu gałki ocznej jak w ćwiczeniu I i przetestuj działanie modułu. Miłej zabawy :-)