Dalej

Wstecz

ReadManager

Posturografia cz.1 - wstępna analiza

ReadManager umożliwia analizę sygnału pochodzącego z pomiarów posturograficznych w aplikacji Brain4fuw. Służy do tego klasa WBBReadManager.

Klasa WBBReadManager

Klasa WBBReadManager jest podklasą klasy ReadManager. Zapewnia dostęp do parametrów sygnału posturograficznego i umożliwia jego modyfikację.

Przykładowy skrypt

from obci_readmanager.signal_processing.balance.wii_preprocessing import (
                                    wii_filter_signal,
                                    wii_downsample_signal,
                                    wii_cut_fragments)
from obci_readmanager.signal_processing.balance.wii_read_manager import WBBReadManager

# inicjalizacja klasy WBBReadManager - utwórz obiekt podając na wejściu
# ścieżki do odpowiednich plików :
wbb_mgr = WBBReadManager('file.obci.xml',
                         'file.obci.raw',
                         'file.obci.tag')

# obiekt klasy WBBReadManager jest podklasą ReadManager
# umożliwia to pobranie informacji o sygnale:
sampling = float(wbb_mgr.get_param('sampling_frequency'))
num_of_channels = int(wbb_mgr.get_param('number_of_channels'))

# obiekt klasy  WBBReadManager posiada metody:
# get_x(): zwraca COPx wyznaczony na podstawie danych z czujników
raw_x = wbb_mgr.get_x()

# get_y(): zwraca COPy wyznaczony na podstawie danych z czujników
raw_y = wbb_mgr.get_y()

# get_timestamps(): zwraca dane z kanału ze znacznikami czasowymi
timestamps_channel = wbb_mgr.get_timestamps()


# filtracja danych przy użyciu funkcji  wii_filter_signal(),
# która jako parametry przyjmuje:
# wbb_mgr – obiekt klasy  WBBReadManager
# cutoff_upper – częstość odcięcia (float)
# order – rząd filtru (int)
# use_filtfilt – True/False w zależności czy ma być użyto procedura
#                          filtrowania filtfilt/lfilter (bool)
# funkcja zwraca obiekt klasy  WBBReadManager z przefiltrowanym sygnałem
cutoff_upper=20
order=2
use_filtfilt=False
wbb_mgr = wii_filter_signal(wbb_mgr,
                            cutoff_upper,
                            order,
                            use_filtfilt)


# przepróbkowanie danych przy użyciu funkcji wii_downsample_signal(),
# która jako parametry przyjmuje:
# wbb_mgr – obiekt klasy  WBBReadManager
# factor -  nowa_fs = fs / factor (int)
# pre_filter - True/False w zależności czy ma być użyty filtr
# dolnoprzepustowy z częstością odcięcia: częstość próbkowania / 2
# use_filtfilt – True/False w zależności czy ma być użyta procedura
#                        filtrowania filtfilt/lfilter (bool)
# funkcja zwraca obiekt klasy  WBBReadManager z przepróbkowanycm sygnałem
factor=2
pre_filter=False
use_filtfilt=True
wbb_mgr = wii_downsample_signal(wbb_mgr,
                               factor,
                               pre_filter,
                               use_filtfilt)


# segmentacja danych przy użyciu funkcji wii_cut_fragments(),
# która jako parametry przyjmuje:
# wbb_mgr – obiekt klasy  WBBReadManager
# start_tag_name – nazwa znacznika określającego początek fragmentu
# end_tags_names – lista z nazwami znaczników określających koniec
# fragmentu
# funkcja zwraca obiekt klasy  SmartTagsManager
smart_tags = wii_cut_fragments(wbb_mgr,
                               start_tag_name='start',
                               end_tags_names=['stop'])

Spis

Dalej

Wstecz