ˇ ´ vysoke ´ uc ˇen´ı technicke ´ v Praze Cesk e Fakulta elektrotechnick´a Katedra kybernetiky
Anal´ yza dlouhodob´ ych polysomnografick´ ych z´ aznam˚ u Diplomov´a pr´ace
Autor pr´ace:
Bc. Jiˇ r´ı Hejduk
Vedouc´ı pr´ace:
Ing. V´ aclav Gerla, Ph.D.
Studijn´ı program:
Otevˇ ren´ a informatika, Magistersk´ y
Studijn´ı obor:
Softwarov´ e inˇ zen´ yrstv´ı
Akademick´ y rok:
2015/2016
Prohl´ aˇ sen´ı autora pr´ ace Prohlaˇsuji, ˇze jsem pˇredloˇzenou pr´aci vypracoval samostatnˇe a ˇze jsem uvedl veˇsker´e pouˇzit´e informaˇcn´ı zdroje v souladu s Metodick´ ym pokynem o dodrˇzov´an´ı etick´ ych princip˚ u pˇri pˇr´ıpravˇe vysokoˇskolsk´ ych z´avˇereˇcn´ ych prac´ı. V Praze dne 10. 5. 2016. .................................. Bc. Jiˇr´ı Hejduk
Podˇ ekov´ an´ı R´ad bych podˇekoval m´emu vedouc´ımu Ing. V´aclavu Gerlovi, Ph.D za to, ˇze mi vˇzdy vyˇsel vstˇr´ıc, za jeho odborn´e rady, pomoc a veden´ı pˇri vytv´aˇren´ı t´eto diplomov´e pr´ace. D´ale pak lidem, jeˇz zaloˇzili nebo se jinak pod´ılej´ı na open-source projektech, kter´e jsem vyuˇzil pˇri vytv´aˇren´ı v´ ysledn´e aplikace. V neposledn´ı ˇradˇe tak´e sv´e pˇr´ıtelkyni, bez kter´e bych se nikdy neodhodlal studovat vysokou ˇskolu, sv´e rodinˇe a pˇra´tel˚ um za jejich pevn´e nervy a podporu pˇri zdarech i nezdarech m´eho dosavadn´ıho studia.
Abstrakt C´ılem t´eto diplomov´e pr´ace bylo vytvoˇrit aplikaci pro anal´ yzu dlouhodob´ ych polysomnografick´ ych z´aznam˚ u nad platformou .NET a frameworku WPF. Implementovan´a aplikace umoˇzn ˇuje naˇc´ıst zdrojov´a data ze souboru typu EDF a tyto data zobrazit. Zobrazen´ı dat je realizov´ano po jednotliv´ ych ˇcasov´ ych u ´sec´ıch s moˇznost´ı volby d´elky zobrazovan´eho ˇcasov´eho u ´seku. Jednotliv´e u ´seky je umoˇznˇeno ohodnotit do klasifikaˇcn´ıch tˇr´ıd, kter´e si m˚ uˇze uˇzivatel v aplikaci s´am nadefinovat. Pro lepˇs´ı pˇrehled je implementov´ano vykreslen´ı vˇsech klasifikovan´ ych u ´sek˚ u celkov´eho PSG z´aznamu. Pro anal´ yzu z´aznamu aplikace umoˇzn ˇuje zad´an´ı pˇr´ıznak˚ u pro vybran´ y sign´al. Zadan´e pˇr´ıznaky jsou n´aslednˇe vypoˇcteny ze segment˚ u jednotliv´ ych klasifikovan´ ych u ´sek˚ u. Vypoˇcten´e pˇr´ıznaky jsou n´aslednˇe zobrazeny. Rozdˇelen´ı u ´sek˚ u na jednotliv´e segmenty je realizov´ano konstantn´ı segmentac´ı dle uˇzivatelem zadan´eho ˇcasov´eho intervalu. Jako metody pro v´ ypoˇcet pˇr´ıznak˚ u byly pouˇzity metody zaloˇzen´e na Fourierovˇe transformaci, jako je FFT a PSD, kter´e byly pouˇzity pro odhad frekvenˇcn´ıch pˇr´ıznak˚ u ˇci metody pro odhad statistick´ ych pˇr´ıznak˚ u, jako je Skewness, Kurtosis a dalˇs´ı. V´ ysledn´a aplikace byla koncipov´ana modul´arnˇe, a proto je moˇzn´e budouc´ı rozˇs´ıˇren´ı o dalˇs´ı pˇr´ıznaky, ˇci jin´e moduly.
Kl´ıˇ cov´ a slova Anal´ yza, PSG, EDF, Sp´anek, EEG, Klasifikace, Pˇr´ıznaky, Segmentace, WPF, FFT, PSD, Skewness, Kurtosis
Abstract The aim of this thesis was to build an application for long-term analysis of polysomnographic recordings on .NET platform and WPF Framework. This implemented application is capable of reading source data from EDF file and presenting the data. Data are presented per interval with an option to specify the length. Each interval can be placed into classification classes that could be created by the user. To improve an overview, the presentation coveres all classified sections of PSG recordings. For a recording analysis, the application allows to put a features for a choosen signal. User specified features are subsequently calculated from segments of each classification sections. After that, all calculated features are displayed. The division of sections into segments is implemented by constant segmentation, defined by the user’s time interval. The methods used for feature calculation were based on Fourier transformation, such as FFT and PSD, which were used for an estimate of frequence features or for the method to estimate static parameters, such as Skewness, Kurtosis and other. The final application was designed to be modular, and therefore it is possible to extend the application with additional features, or modules.
Key words Analysis, PSG, EDF, Sleep, EEG, Classification, Features, Segmentation, WPF, FFT, PSD, Skewnee, Kurtosis
Seznam zkratek ADHD - Attention deficit hyperactivity disorder CNS - Centr´aln´ı nervov´ a soustava CPU - Central processing unit DFT - Discrete Fourier transform ECMA - European computer manufacturers association EDF - European data format EDS - Excessive daytime sleepiness EEG - Elektroencefalogram, Elektroencefalografie EKG - Elektrokardiogram, Elektrokardiografie EMG - Elektromyogram, Elektromyografie EOG - Electrooculogram, Electrooculografie FFT - Fast Fourier transform FT - Fourier transform HKP - Hyperkinetick´ a porucha MAX - Maximum MIN - Minimum MSLT - Multiple sleep latency test MS-PL - Microsoft public license NREM - Non-rapid eye movement PSD - Power spectral density PSDA - Power spectral density - Absolute PSDR - Power spectral density - Relative PSG - Polysomnogram, Polysomnografie RAM - Random access memory RBD - REM behavior disorder
i
REM - Rapid eye movement SAS - Sleep apnea syndrome SOREM - Sleep onset REM STD - Standard deviation WPF - Windows presentation foundation XAML - Extensible application markup language XML - Extensible markup language
ii
Obsah ´ 1 Uvod
1
2 Sp´ anek
3
2.1
Definice sp´anku . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
V´ yznam sp´anku . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.3
Doba sp´anku . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.4
Ospalost a u ´nava . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.5
F´aze sp´anku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.6
Z´akladn´ı vegetatitvn´ı funkce ve sp´anku . . . . . . . . . . . . . . .
8
3 Polysomnografie (PSG)
11
3.1
Elektroencefalogram (EEG) . . . . . . . . . . . . . . . . . . . . .
12
3.2
Elektrookulogram (EOG) . . . . . . . . . . . . . . . . . . . . . . .
16
3.3
Elektromyogram (EMG) . . . . . . . . . . . . . . . . . . . . . . .
16
3.4
Elektrokardiogram (EKG) . . . . . . . . . . . . . . . . . . . . . .
16
3.5
Hodnocen´ı polysomnografick´eho z´aznamu . . . . . . . . . . . . . .
18
4 Anal´ yza EEG/PSG
21
4.1
Segmentace z´aznamu . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.2
Metody anal´ yzy z´aznam˚ u . . . . . . . . . . . . . . . . . . . . . .
21
5 Aplikace pro anal´ yzu PSG
29
5.1
Pouˇzit´ y jazyk, framework, knihovny a datov´ y form´at . . . . . . .
29
5.2
Struktura aplikace . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5.3
Jednotliv´e ˇca´sti aplikace . . . . . . . . . . . . . . . . . . . . . . .
40
iii
6 Ovˇ eˇ ren´ı aplikace nad re´ aln´ ymi z´ aznamy
77
6.1
Re´aln´a data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
6.2
Poˇc´ıtaˇc k testov´an´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
78
6.3
Testovac´ı sc´en´aˇre . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
6.4
Testov´an´ı aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
6.5
Zhodnocen´ı test˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
7 Z´ avˇ er
97
A Poruchy sp´ anku
101
A.1 Diagn´oza poruchy sp´anku . . . . . . . . . . . . . . . . . . . . . . 101 A.2 Nadmˇern´a denn´ı spavost . . . . . . . . . . . . . . . . . . . . . . . 102 A.3 Parasomnie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 A.4 Insomnie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 A.5 Syndrom sp´ankov´e apnoe (SAS) . . . . . . . . . . . . . . . . . . . 117 A.6 Syndrom neklidn´ ych nohou . . . . . . . . . . . . . . . . . . . . . . 119 B Typy z´ akladn´ıch EEG rytm˚ u
121
iv
Seznam tabulek 3.1
Tabulka s typick´ ym zapojen´ım svod˚ u pˇri PSG. . . . . . . . . . . .
12
5.1
Tabulka zn´azorˇ nuj´ıc´ı strukturu datov´eho souboru EDF. . . . . . .
38
5.2
Pravdivostn´ı tabulka pro logiku zad´av´an´ı zdrojov´ ych soubor˚ u. . .
42
5.3
Seznam vˇsech pˇr´ıznak˚ u, kter´e byly implementov´any. . . . . . . . .
66
6.1
Tabulka mapuj´ıc´ı hodnoty hypnogramu na sp´ankov´e f´aze. . . . . .
78
6.2
Tabulka v´ ysledn´ ych hodnot z testov´an´ı sc´en´aˇr˚ u - 1. ˇc´ast. . . . . .
90
6.3
Tabulka v´ ysledn´ ych hodnot z testov´an´ı sc´en´aˇr˚ u - 2. ˇc´ast. . . . . .
91
B.1 Tabulka z´akladn´ıch typ˚ u EEG rytm˚ u. . . . . . . . . . . . . . . . . 122
v
vi
Seznam obr´ azk˚ u 2.1
Hypnogram dospˇel´eho ˇclovˇeka. . . . . . . . . . . . . . . . . . . . .
6
3.1
Rozloˇzen´ı elektrod zp˚ usobem 10/20. . . . . . . . . . . . . . . . . .
14
3.2
Hrudn´ı svody pro EKG. . . . . . . . . . . . . . . . . . . . . . . .
17
3.3
Popis kˇrivky EKG. . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.4
PSG z´aznam - bdˇelost. . . . . . . . . . . . . . . . . . . . . . . . .
18
3.5
PSG z´aznam - lehk´ y sp´anek. . . . . . . . . . . . . . . . . . . . . .
19
3.6
PSG z´aznam - hlubok´ y sp´anek. . . . . . . . . . . . . . . . . . . .
20
5.1
K´od jazyka XAML pro komponentu pˇrid´avac´ıho tlaˇc´ıtka. . . . . .
31
5.2
Code Behind pro komponentu pˇrid´avac´ıho tlaˇc´ıtka. . . . . . . . .
31
5.3
Pˇr´ıklad triggeru typu Property Trigger. . . . . . . . . . . . . . . .
32
5.4
Pˇr´ıklad data binding mezi komponentou Slider a TextBlock. . . .
33
5.5
Uk´azka souboru s veˇsker´ ymi texty aplikace. . . . . . . . . . . . . .
34
5.6
Struktura a jednotliv´e ˇc´asti aplikace. . . . . . . . . . . . . . . . .
39
5.7
R´amce komponenty pro zad´av´an´ı zdrojov´ ych soubor˚ u. . . . . . . .
40
5.8
Uk´azka zadan´eho zdrojov´eho soubor EDF. . . . . . . . . . . . . .
41
5.9
Komponenta pro v´ ybˇer poˇzadovan´ ych sign´al˚ u. . . . . . . . . . . .
42
5.10 Zneplatnˇen´ı vˇsech n´azv˚ u sign´al˚ u a tlaˇc´ıtka pro pokraˇcov´an´ı. . . .
43
5.11 Trigger pro zneplatnˇen´ı tlaˇc´ıtka pro pokraˇcov´an´ı. . . . . . . . . .
44
5.12 Zjednoduˇsen´ y diagram komponenty pro v´ ybˇer poˇzadovan´ ych sign´al˚ u. 45 5.13 Vykreslen´ı vybran´ ych sign´al˚ u. . . . . . . . . . . . . . . . . . . . .
47
5.14 V´ ychoz´ı a zvˇetˇsen´e zobrazen´ı PSG z´aznamu v grafu. . . . . . . . .
49
5.15 Zobrazen´ı informace pro zvolen´ y ˇcasov´ yu ´sek. . . . . . . . . . . .
50
5.16 Uˇzivatelem vybran´ yu ´sek pro ohodnocen´ı. . . . . . . . . . . . . .
51
vii
5.17 Uˇzivatelem ohodnocen´ y vybran´ yu ´sek. . . . . . . . . . . . . . . .
53
5.18 Uk´azka vyexportovan´ ych znaˇcek v souboru XML. . . . . . . . . .
54
5.19 Naˇc´ıt´an´ı dat ze souboru EDF pˇri zmˇen´ach poˇzadovan´ ych sign´al˚ u.
55
5.20 Code Behind pro nastaven´ı PlotModel komponenty grafu. . . . . .
56
5.21 ComboBox pro v´ ybˇer intervalu segmentace z´aznamu. . . . . . . .
57
5.22 Komponenta pro pˇrehled ohodnocen´ı v cel´em z´aznamu. . . . . . .
58
5.23 Pˇribl´ıˇzen´e znaˇcky vybran´eho u ´seku z´aznamu. . . . . . . . . . . . .
59
5.24 Zn´azornˇen´ı pˇrevodu pole znaˇcek na Lookup. . . . . . . . . . . . .
60
5.25 Zjednoduˇsen´ y diagram zpracov´an´ı Lookup se znaˇckami v z´aznamu. 61 5.26 Zobrazen´ı informace o absenci znaˇcek v z´aznamu. . . . . . . . . .
61
5.27 Nepˇr´ıstupn´a komponenta pro zad´av´an´ı pˇr´ıznak˚ u pro v´ ypoˇcet.
. .
62
5.28 Komponenta pro zad´av´an´ı pˇr´ıznak˚ u pro v´ ypoˇcet. . . . . . . . . .
63
5.29 V´ ybˇer sign´alu pro v´ ypoˇcet pˇr´ıznaku. . . . . . . . . . . . . . . . .
63
5.30 V´ ybˇer metody pro v´ ypoˇcet pˇr´ıznaku. . . . . . . . . . . . . . . . .
64
5.31 Vybran´ y pˇr´ıznak bez frekvenˇcn´ıho rozsahu. . . . . . . . . . . . . .
64
5.32 Pˇr´ıklad zadan´ ych pˇr´ıznak˚ u pro v´ ypoˇcet. . . . . . . . . . . . . . .
65
5.33 Zjednoduˇsen´ y diagram zad´an´ı a odebr´an´ı pˇr´ıznak˚ u. . . . . . . . .
68
5.34 Zn´azornˇen´ı segmentace zadan´e znaˇcky. . . . . . . . . . . . . . . .
69
5.35 Zjednoduˇsen´ y diagram v´ ypoˇctu pˇr´ıznak˚ u. . . . . . . . . . . . . . .
70
5.36 Vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. . . . . . . . . . . . . . . . . . .
71
5.37 Pˇribl´ıˇzen´ yu ´sek vypoˇcten´eho pˇr´ıznaku. . . . . . . . . . . . . . . .
73
5.38 Zobrazen´ı informace pro zvolen´ y schodov´ yu ´sek. . . . . . . . . . .
74
5.39 Prov´az´an´ı ˇcasov´e osy mezi grafy komponent. . . . . . . . . . . . .
75
5.40 Zjednoduˇsen´ y diagram vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. . . . . .
76
6.1
1. testovac´ı sc´en´aˇr - vykreslen´ı sign´al˚ u. . . . . . . . . . . . . . . .
83
6.2
1. testovac´ı sc´en´aˇr - vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. . . . . . . .
84
6.3
2. testovac´ı sc´en´aˇr - vykreslen´ı sign´al˚ u. . . . . . . . . . . . . . . .
85
6.4
2. testovac´ı sc´en´aˇr - vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. . . . . . . .
86
6.5
3. testovac´ı sc´en´aˇr - vykreslen´ı sign´al˚ u. . . . . . . . . . . . . . . .
87
6.6
3. testovac´ı sc´en´aˇr - vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. . . . . . . .
88
6.7
Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al Fz-Cz. . . . . . . . .
93
6.8
Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al C3-A2. . . . . . . . .
94
viii
6.9
Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al C4-A1. . . . . . . . .
95
6.10 Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al ECG. . . . . . . . . .
96
ix
x
Kapitola 1 ´ Uvod V posledn´ıch letech v´ yznamnˇe pom´ah´a l´ekaˇrsk´ ym odborn´ık˚ um v diagnostice v´ ypoˇcetn´ı technika a aplikace pro anal´ yzu sp´ankov´ ych z´aznam˚ u, kter´e tak usnadˇ nuj´ı rozpozn´an´ı sp´ankov´ ych poruch. V´ yznamn´e usnadnˇen´ı spoˇc´ıv´a ve zkr´acen´ı doby potˇrebn´e pro klasifikaci dlouhodob´ ych sp´ankov´ ych z´aznam˚ u, kter´e mohou trvat i nˇekolik hodin. Bez v´ ypoˇcetn´ı techniky a odpov´ıdaj´ıc´ı aplikace by neurolog takto dlouh´ y z´aznam hodnotil v ˇr´adu hodin i dn´ı. Dalˇs´ım v´ yznamn´ ym usnadnˇen´ım je moˇznost analyzovat ohodnocen´ y z´aznam, kdy ruˇcnˇe ohodnocen´ y z´aznam bez v´ ypoˇcetn´ı techniky nelze jednoduˇse analyzovat, nebo to d´ale nen´ı v˚ ubec moˇzn´e. Pro anal´ yzu dlouhodob´ ych polysomnografick´ ych z´aznam˚ u se ˇcasto pouˇz´ıvaj´ı sofistikovan´e a v´ ypoˇcetnˇe n´aroˇcn´e metody, kter´e jsou schopny napˇr´ıklad pˇrev´est zaznamenan´ y sign´al do frekvenˇcn´ı oblasti, ˇci metody zaloˇzen´e na statistick´e anal´ yze, kdy se zpracov´av´a v´ıce u ´sek˚ u z´aznamu souˇcasnˇe, nebo v´ıcekr´at ten sam´ yu ´sek. Tato pr´ace si klade za c´ıl navrhnout a implementovat uˇzivatelsky pˇr´ıvˇetivou a modul´arn´ı snadno rozˇsiˇritelnou aplikaci pro anal´ yzu dlouhodob´ ych polysomnografick´ ych z´aznam˚ u. Cel´a aplikace by mˇela b´ yt implementovan´a nad platformou .NET ve frameworku WPF. Pˇri anal´ yze z´aznamu by mˇelo b´ yt moˇzn´e naˇc´ıst polysomnografick´a data v evropsk´em datov´em form´atu EDF, naˇcten´a data zobrazit, proch´azet ve vybran´ ych ˇcasov´ ych u ´sec´ıch a ruˇcnˇe k nim pˇriˇradit uˇzivatelem definovan´e klasifikaˇcn´ı tˇr´ıdy. Aplikace d´ale umoˇzn´ı klasifikovan´e ˇca´sti z´aznamu 1
konstantnˇe rozdˇelit na menˇs´ı segmenty dle zvolen´eho ˇcasov´eho intervalu. Z vytvoˇren´ ych segment˚ u kaˇzd´eho klasifikovan´eho u ´seku z´aznamu umoˇzn´ı vypoˇc´ıtat uˇzivatelem zadan´e pˇr´ıznaky, kter´e n´aslednˇe zobraz´ı k jejich anal´ yze. V souˇcasn´e dobˇe je anal´ yza dlouhodob´ ych polysomnografick´ ych z´aznam˚ u za pomoci v´ ypoˇcetn´ı techniky umoˇznˇena pˇrev´aˇznˇe odborn´ık˚ um, kteˇr´ı si osvojili schopnosti v programovac´ım prostˇred´ı a jazyce MATLAB, nebo tˇem odborn´ık˚ um, kteˇr´ı si mohou dovolit investovat pen´ıze do drah´ ych analytick´ ych n´astroj˚ u vytvoˇren´ ych profesion´aln´ımi program´atory. V´ ysledn´a aplikace by proto mˇela b´ yt pˇr´ınosem i t´e odborn´e veˇrejnosti, kter´a nem´a dostateˇcn´e technick´e vzdˇel´an´ı ˇci finanˇcn´ı z´azem´ı pro koupi drah´ ych analytick´ y n´astroj˚ u. A mˇela by uk´azat, ˇze i s veˇrejnˇe dostupn´ ymi n´astroji je moˇzn´e vytvoˇrit pˇr´ıvˇetivou a pouˇzitelnou aplikaci pro anal´ yzu polysomnografick´ ych z´aznam˚ u. Diplomov´a pr´ace je koncipov´ana na ˇca´st, ve kter´e jsou ˇcten´aˇri vysvˇetleny teoretick´e z´aklady sp´anku, polysomnografick´eho vyˇsetˇren´ı a nˇekter´e metody pro analyzov´an´ı z´aznam˚ u dat z tˇechto vyˇsetˇren´ı. V prvn´ıch kapitol´ach si tak ˇcten´aˇr osvoj´ı z´akladn´ı informace o sp´anku, problematice sp´ankov´ ych poruch a jejich anal´ yzy, aby mohl pochopit celkov´ y v´ yznam a d˚ uvod pro vytvoˇren´ı aplikace pro anal´ yzu polysomnografick´ ych dat. V druh´e ˇca´sti t´eto pr´ace zab´ yvaj´ıc´ı se popisem nˇekter´ ych implementaˇcn´ıch detail˚ u v´ ysledn´e aplikace bude pops´ana celkov´a struktura aplikace, jednotliv´e jej´ı ˇca´sti aˇz po jej´ı pouˇzit´ı na re´aln´ ych datech. V z´avˇeru t´eto pr´ace bude uvedena moˇzn´a n´avaznost na tuto pr´aci, moˇzn´a dalˇs´ı rozˇs´ıˇren´ı aplikace a celkov´e zhodnocen´ı v´ ysledn´e aplikace a cel´e pr´ace. V textu t´eto pr´ace se bude ˇcasto objevovat pojem uˇzivatel“, kter´ y je oznaˇcen´ım pro autora t´eto ” pr´ace.
2
Kapitola 2 Sp´ anek Sp´anek je od prad´avna povaˇzov´an za neoddˇelitelnou souˇc´ast kaˇzd´eho dne. Jiˇz ˇ staˇr´ı Rekov´ e jej povaˇzovali za nˇeco mimoˇra´dnˇe d˚ uleˇzit´eho a v jejich mythologii m˚ uˇzeme nal´ezt boha jm´enem Hypnos, kter´ y byl bohem t´eto d˚ uleˇzit´e a neoddˇeliteln´e ˇc´asti dne. Sp´anek si zachoval svoji d˚ uleˇzitost i do dneˇsn´ı doby a to at’ ve rˇcen´ı typu vysp´ım se na to“, r´ano je moudˇrejˇs´ı veˇcera“ a nebo d´ıky jeho ” ” pozitivn´ım u ´ˇcink˚ um na organismus a celkov´ y v´ yvoj lidsk´eho organismu. V modern´ı terminologii je sp´anek vn´ım´an jako stav mozku a tˇela ˇr´ızen´ y mezimozkem a mozkov´ ym kmenem naˇs´ı nervov´e soustavy. Vyznaˇcuje se periodickou a reverzibiln´ı ztr´atou vˇedom´ı, redukovan´ ymi senzorick´ ymi a motorick´ ymi funkcemi, vysokou regeneraˇcn´ı kvalitou a nem˚ uˇze b´ yt nahrazen jak´ ymkoli j´ıdlem, pit´ım ˇci drogou. Sp´anek je pro organizmus stejnˇe d˚ uleˇzit´ y jako j´ıdlo a pit´ı. [4, s. 3]
2.1
Definice sp´ anku
Sp´anek je rytmicky se vyskytuj´ıc´ı stav organismu charakterizovan´ y sn´ıˇzenou reaktivitou na vnˇejˇs´ı podnˇety, sn´ıˇzenou pohybovou aktivitou a vˇetˇsinou i druhovˇe typickou polohou, typick´ ymi zmˇenami aktivity mozku zjistiteln´ ymi elektroencefalografi´ı a u ˇclovˇeka sn´ıˇzenou, resp. zmˇenˇenou kognitivn´ı ˇcinnost´ı. [5, s. 27]
3
ˇ ıme jej mezi aktivn´ı dˇeje prob´ıhaj´ıc´ı v organismu, nebot’ k jeho uskuteˇcnˇen´ı Rad´ je nutn´a spolupr´ace r˚ uzn´ ych ˇc´ast´ı mozku ˇci vhodn´e vnˇejˇs´ı podm´ınky.
2.2
V´ yznam sp´ anku
Sp´anek je nezbytnou ˇcinnost´ı organismu. M´a mnoho r˚ uzn´ ych v´ yznam˚ u, napˇr. regenerace rozumov´ ych funkc´ı, coˇz je nezbytn´e pro myˇslen´ı a spr´avn´e ˇr´ızen´ı organismu. Sv˚ uj v´ yznam m´a i v plasticitˇe neuron˚ u, kter´a hraje svou roli v tvorbˇe pamˇeti a to jak kr´atkodob´e, tak dlouhodob´e. Sp´anek prakticky nem´a pro dospˇel´eho ˇclovˇeka v´ yznam jako zp˚ usob konzervace tˇelesn´e energie (vˇetˇsina lid´ı v rozvinut´ ych st´atech m´a nadbyteˇcnˇe vysok´ y energetick´ y pˇr´ıjem), ale m´a v´ yznam pro mozkov´ y energetick´ y metabolismus. Regenerace organismu (s v´ yjimkou mozku) se u ˇclovˇeka uskuteˇcn ˇuje v´ıce v klidn´e bdˇelosti neˇz pˇri sp´anku, ale je pravdˇepodobn´e, ˇze trval´a z´atˇeˇz by vedla k pˇret´ıˇzen´ı a pˇredˇcasn´emu opotˇreben´ı vˇetˇsiny struktur, jejichˇz bdˇelostn´ı reˇzim je v´ yvojem nastaven na 12 aˇz 14 hodin dennˇe. [5, s. 45] Pokud nen´ı sp´anek dostateˇcnˇe kvalitn´ı, doch´az´ı ke zhorˇsen´emu uˇcen´ı, kles´a rychlost a pˇresnost. Sp´anek je d´ale velmi d˚ uleˇzit´ y pro endokrinn´ı ˇr´ızen´ı organismu. Vyluˇcov´an´ı ˇrady hormon˚ u je ovlivnˇeno stˇr´ıd´an´ım dne a noci. Urˇcit´a skupina hormon˚ u b´ yv´a vyluˇcov´ana pˇredevˇs´ım ve dne, jin´a skupina v noci. Vzhledem ke zhorˇsen´ı kvality sp´anku ve st´aˇr´ı mohou vzniknout i hormon´aln´ı zmˇeny v ˇr´ızen´ı organismu. V neposledn´ı ˇradˇe sp´anek ovlivˇ nuje i imunitu organismu. Pˇri dlouhodob´em trv´an´ı nedostateˇcnˇe kvalitn´ıho sp´anku doch´az´ı ke sn´ıˇzen´ı obranyschopnosti organismu.
2.3
Doba sp´ anku
Potˇreba sp´anku je velmi individu´aln´ı a liˇs´ı se i v z´avislosti na vˇeku jedince. Zdrav´ y dospˇel´ y ˇclovˇek sp´ı dennˇe v pr˚ umˇeru 6 aˇz 8 hodin. Jsou vˇsak lid´e, kter´ ym staˇc´ı 5 aˇz 6 hodin dennˇe. Pˇribliˇznˇe 2% populace vyˇzaduj´ı m´enˇe neˇz 5 hodin sp´anku 4
a 2% populace potˇrebuj´ı sp´at d´ele neˇz 9 hodin. [8, s. 18] Kojenec potˇrebuje asi 18, 20 i v´ıce hodin sp´anku dennˇe, d´ıtˇe pˇredˇskoln´ıho vˇeku zhruba 12 hodin, dosp´ıvaj´ıc´ı by mˇeli sp´at 8 hodin dennˇe. [8, s. 19] V pr˚ ubˇehu ˇzivota se mˇen´ı denn´ı rozloˇzen´ı sp´anku. Novorozenci sp´ı v pravideln´ ych intervalech nˇekolikr´at dennˇe tzv. polyf´azick´ ym sp´ankem. Kojenci maj´ı nejˇcastˇeji trif´azick´ y sp´anek, vyznaˇcuj´ıc´ı se dlouh´ ym noˇcn´ım sp´ankem doplnˇen´ ym kr´atk´ ym dopoledn´ım a odpoledn´ım zdˇr´ımnut´ım. Dopoledn´ı sp´anek se postupnˇe vytr´ac´ı a u pˇredˇskol´ak˚ u jiˇz nach´az´ıme dlouh´ y noˇcn´ı sp´anek a odpoledn´ı zdˇr´ımnut´ı, tj. dif´azick´ y sp´anek. S n´astupem do ˇskoly se ztr´ac´ı i odpoledn´ı sp´anek a mluv´ıme tedy o monof´azick´em sp´anku. U starˇs´ıch lid´ı se odpoledn´ı sp´anek znovu obnovuje a u nˇekter´ ych lid´ı se sp´anek m˚ uˇze st´at polyf´azick´ ym ˇci invertovan´ ym, tj. ˇclovˇek sp´ı ve dne a v noci je vzh˚ uru. [6, s. 9] Dostateˇcn´ y u ´ˇcinek sp´anku je z´avisl´ y nejen na d´elce sp´anku, ale i na jeho hloubce a kvalitˇe. Kvalitu sp´anku ovlivˇ nuje hloubka sp´anku a probˇehl´e u ´pln´e sp´ankov´e cykly. Sp´ankov´ ym cyklem rozum´ıme stadium NREM a stadium REM, kter´ ym se budu podrobnˇeji vˇenovat pozdˇeji. [8, s. 19]
2.4
Ospalost a u ´ nava
Nejl´epe se ˇclovˇeku us´ın´a, pokud je ospal´ y. Pojem ospalost se vˇsak nˇekdy m˚ uˇze zamˇen ˇovat s u ´navou, a proto zde budou tyto dva pojmy bl´ıˇze rozvedeny. ´ Unava je sp´ıˇse fyzick´ y stav, kdy n´aˇs organismus pocit’uje potˇrebu se uvolnit, ustat alespoˇ n na chv´ıli v ˇcinnosti (napˇr. po nam´ahav´e fyzick´e pr´aci). Vˇetˇsinou staˇc´ı si na chvilku sednout, uvolnit se a u ´nava odejde, aniˇz bychom museli sp´at. [8, s. 11] Ospalost je stav, kdy organismus jen obt´ıˇznˇe odol´ av´a sp´anku. Pouh´ y
odpoˇcinek napˇr. v kˇresle nestaˇc´ı, je tˇreba urˇcitou dobu sp´at, abychom se znovu c´ıtili fit. [8, s. 12] 5
2.5
F´ aze sp´ anku
Bdˇelost, NREM sp´anek a REM sp´anek jsou tˇri z´akladn´ı funkˇcn´ı stavy ˇr´ızen´ı organismu. Pˇres odliˇsnosti v ˇcinnosti mozku a v ˇr´ızen´ı organismu vˇcetnˇe vegetativn´ıch funkc´ı se NREM a REM sp´anek behavior´alnˇe projevuj´ı velmi podobnˇe. [5, s. 27] Lidsk´ y sp´anek je za norm´aln´ıch podm´ınek stˇr´ıd´an´ı dne a noci souˇc´ast´ı pravideln´eho cirkadi´aln´ıho rytmu bdˇen´ı a sp´anku. Obdob´ı sp´anku se rozdˇeluje do subperiod obou sp´ankov´ ych typ˚ u, kter´e obvykle trvaj´ı 90 aˇz 100 minut a stˇr´ıdaj´ı se ve 4 aˇz 5 sp´ankov´ ych cyklech. Jejich stˇr´ıd´an´ı se mˇen´ı z z´avislosti na 3. a 4. f´azi NREM sp´anku a na pod´ılu REM sp´anku bˇehem jednotliv´ ych sp´ankov´ ych cykl˚ u. Stˇr´ıd´an´ı tˇechto f´az´ı je moˇzn´e odliˇsit charakteristikami na polysomnografu, kter´e se projevuj´ı pˇredevˇs´ım rozd´ıln´ ymi elektrick´ ymi impulsy, svalov´ ym napˇet´ım a pohybem oˇc´ı. Doba a ˇcetnost jednotliv´ ych f´az´ı b´ yv´a zaznamen´ana tzv. hypnogramem, kter´ y popisuje vlastn´ı sp´anek a umoˇzn ˇuje urˇcit, do jak´e m´ıry se sp´anek podob´a pˇrirozen´emu sp´anku, kter´ y organismu poskytuje plnou regeneraci. [7, s. 681] NREM sp´anek dominuje na poˇca´tku cel´eho sp´ankov´eho cyklu, kdeˇzto REM sp´anek pˇrevl´ad´a v pozdˇejˇs´ıch f´az´ıch sp´ankov´e periody. Na obr´azku 2.1 je zobrazen hypnogram dospˇel´eho ˇclovˇeka a je vidˇet, ˇze bˇehem sp´anku se NREM f´aze st´av´a kratˇs´ı a mˇelˇc´ı.
Obr´azek 2.1: Hypnogram dospˇel´eho ˇclovˇeka.
6
REM f´ aze sp´ anku REM neboli Rapid Eye Movement. V ˇcesk´em pˇrekladu rychl´e pohyby oˇc´ı, kter´ ymi se tato f´aze sp´anku projevuje, je obdob´ım intenzivn´ı ˇcinnosti mozku, coˇz dokl´ad´a desynchronizovan´a EEG aktivita a vysok´ y metabolismus mozku, kter´ y je srovnateln´ y se stavem bdˇelosti a je podstatnˇe vyˇsˇs´ı neˇz ve sp´anku NREM, a nakonec tomu odpov´ıd´a i bohat´a snov´a aktivita. REM sp´anek je ˇr´ızen hypothalamem a telencefalem. Struktury zapojen´e do regulace REM sp´anku se na z´akladˇe sledov´an´ı elektrick´e aktivity jednotliv´ ych neuron˚ u rozdˇeluj´ı do dvou skupin a to na neurony REM-off a neurony REMon. [5] Neurony REM-off – jejich aktivita nedovoluje REM sp´ anek, proto mus´ı
b´ yt po dobu REM sp´anku inhibov´any. Neurony REM-on – jsou aktivn´ı pˇri f´ azi REM sp´anku.
REM f´aze sp´anku m´a v´ yznam pro upevnˇen´ı tzv. procedur´aln´ı pamˇeti, kter´a je d˚ uleˇzit´a pro osvojov´an´ı si postup˚ u. D´ale je REM f´aze d˚ uleˇzit´a pro prostorovou pamˇet’ a proˇciˇstˇen´ı pamˇeti.
NREM f´ aze sp´ anku NREM neboli Non-Rapid Eye Movement. V ˇcesk´em pˇrekladu bez rychl´eho pohybu oˇc´ı je souhrnn´e oznaˇcen´ı pro zb´ yvaj´ıc´ıch 80% sp´anku. V t´eto f´azi se tedy neobjevuj´ı rychl´e pohyby oˇc´ı. Snˇen´ı v t´eto f´azi je sp´ıˇse v´ yjimeˇcn´e. Svalov´ y tonus a mimovoln´ı pohyblivost je ve srovn´an´ı s REM f´az´ı vyˇsˇs´ı. F´azi NREM dˇel´ıme na dalˇs´ı ˇctyˇri podf´aze. Podf´azi 1 a 2 ˇrad´ıme do lehk´eho sp´anku. Podf´azi 3 a 4 do hlubok´eho sp´anku. NREM 1 – tuto f´ azi nach´az´ıme na poˇca´tku sp´anku. Tento stav se us´ınaj´ıc´ımu
jev´ı jako ˇc´asteˇcn´e vˇedom´ı. Objevuj´ı se pomal´e pohyby oˇc´ı. NREM 2 – tato f´ aze zauj´ım´a 45 aˇz 55% z cel´eho sp´anku. Charakteristick´e
je sn´ıˇzen´e svalov´e napˇet´ı a ztr´ata vˇedom´ı sp´ıc´ı osoby. 7
NREM 3 - tuto f´azi ˇrad´ıme jiˇz do hlubok´eho sp´ anku. Sp´ıc´ı osoby mo-
hou trpˇet noˇcn´ımi dˇesy, n´amˇes´ıˇcnost´ı, nadmˇern´ ym pocen´ım ˇci mluven´ım ze span´ı. NREM 4 - jedn´a se o nejhlubˇs´ı f´ azi sp´anku. V t´eto f´azi sp´anku je probuzen´ı
nejobt´ıˇznˇejˇs´ı. Doch´az´ı k ukl´ad´an´ı dat do pamˇeti.
2.6
Z´ akladn´ı vegetatitvn´ı funkce ve sp´ anku
Z´akladn´ı vegetativn´ı funkce (krevn´ı obˇeh, d´ ych´an´ı a tˇelesn´a teplota), kter´ ym se v t´eto kapitole budu vˇenovat, jsou ve sp´anku ˇr´ızeny odliˇsnˇe a jejich ˇr´ızen´ı je v nˇekter´ ych ohledech odliˇsn´e i v obdob´ı NREM a REM sp´anku.
Krevn´ı tlak Krevn´ı tlak bˇehem sp´anku kles´a. V NREM sp´anku kles´a o 5-15%. V REM sp´anku doch´az´ı k dalˇs´ımu poklesu tlaku. Pokles krevn´ıho tlaku pˇri sp´anku m˚ uˇze vˇsak v´est aˇz k isch´emii nebo infarktu myokardu. D˚ uleˇzit´e je, ˇze navozen´e probuzen´ı vyvol´a okamˇzitou zmˇenu krevn´ıho tlaku, srdeˇcn´ı frekvence a d´ ych´an´ı do bdˇelostn´ıho pohotovostn´ıho stavu, aby byl ˇzivoˇcich pˇripraven reagovat na nebezpeˇc´ı. [5]
Srdeˇ cn´ı frekvence Srdeˇcn´ı frekvence ve sp´anku kles´a. Bˇehem REM f´aze sp´anku se vˇsak srdeˇcn´ı frekvence mˇen´ı. V urˇcit´e f´azi pˇrevl´ad´a aktivita sympatiku (zvyˇsuje se srdeˇcn´ı frekvence) nebo parasympatiku (sniˇzuje se srdeˇcn´ı frekvence). [5, s. 39]
D´ ych´ an´ı Pˇri us´ın´an´ı ve f´azi NREM 1 je vˇetˇs´ı pravdˇepodobnost ventilaˇcn´ıch abnormalit. V t´eto f´azi sp´anku m˚ uˇze doj´ıt k opakovan´emu stˇr´ıd´an´ı hypoventilace (sn´ıˇzen´a plicn´ı v´ ymˇena) a hyperventilace (zv´ yˇsen´a plicn´ı v´ ymˇena). Pˇri sp´anku NREM 2 a zejm´ena 3 a 4 je d´ ych´an´ı stabilizovan´e, s pomalejˇs´ı frekvenc´ı. Celkov´ y dechov´ y objem je menˇs´ı, jelikoˇz organismus m´a niˇzˇs´ı senzitivitu na hyperkapnii a hypoxii, 8
niˇzˇs´ı stimulaci center, kter´e d´ ych´an´ı ˇr´ıd´ı, a objevuje se zv´ yˇsen´ y odpor v d´ ychac´ıch cest´ach. [5, s. 39]
Tˇ elesn´ a teplota Udrˇzov´an´ı tˇelesn´e teploty je bˇehem NREM sp´anku stabiln´ı, na podobn´e u ´rovni jako pˇri bdˇen´ı. Naopak v REM sp´anku se termoregulaˇcn´ı reaktivita zmenˇsuje a tˇelesn´a teplota je znaˇcnˇe ovlivˇ nov´ana teplotou prostˇred´ı. Organismus vˇsak v bˇeˇzn´ ych podm´ınk´ach zmˇenou teploty netrp´ı, protoˇze REM sp´anek trv´a z tohoto hlediska kr´atkou dobu. [5, s. 39]
9
10
Kapitola 3 Polysomnografie (PSG) Tato kapitola bude vˇenov´ana polysomnografick´emu vyˇsetˇren´ı neboli PSG, coˇz je jedna z nejd˚ uleˇzitˇejˇs´ıch laboratorn´ıch technik pro posuzov´an´ı sp´anku a jeho poruch (pˇr´ıloha A). PSG se skl´ad´a z nahr´avek v´ıce fyziologick´ ych charakteristik bˇehem sp´anku, zat´ımco polygrafie oznaˇcuje z´aznam s podobn´ ymi charakteristikami kdykoliv bˇehem dne. [1, s. 818] Pˇri t´eto metodˇe se nejˇcastˇeji najednou vyˇsetˇruj´ı tyto tˇelesn´e funkce: Elektroencefalogram (EEG) - elektrick´ a aktivita mozku Elektrookulogram (EOG) - oˇcn´ı pohyby Elektromyogram (EMG) - svalov´e napˇet´ı Elektrokardiogram (EKG) - srdeˇcn´ı ˇcinnost
Pˇri polysomnografick´em vyˇsetˇren´ı jsou sledov´any i dalˇs´ı parametry, napˇr´ıklad proud vzduchu pˇri d´ ych´an´ı, d´ ychac´ı pohyby, d´ ychac´ı zvuky, saturace hemoglobinu kysl´ıkem, pohyby doln´ıch konˇcetin ˇci polohy tˇela. Pokud je souˇcasnˇe poˇrizov´an videoz´aznam, vyˇsetˇren´ı naz´ yv´ame videopolysomnografie. Pˇr´ıstroj pro polysomnografick´e vyˇsetˇren´ı se sest´av´a z elektrod a ˇcidel um´ıstˇen´ ych vˇetˇsinou na tˇele vyˇsetˇrovan´eho a d´ale ze zesilovaˇc˚ u a z poˇc´ıtaˇce, kter´ y je centr´aln´ı ˇr´ıd´ıc´ı, archivaˇcn´ı a vyhodnocovac´ı jednotkou. Takov´ yto pˇr´ıstroj m˚ uˇze b´ yt pˇrenosn´ y, ˇci stabiln´ı. Vyˇsetˇrovan´ y s elektrodami a zesilovaˇci je v samostatn´e m´ıstnosti, kter´a 11
m´a p˚ usobit pˇr´ıjemnˇe a je zvukovˇe i svˇetelnˇe izolovan´a. Pˇri nat´aˇcen´ı na videokameru se pouˇz´ıv´a infraˇcerven´eho osvˇetlen´ı. Typick´e zapojen´ı elektrod pˇri PSG ukazuje tabulka 3.1. Svod
Um´ıstˇ en´ı
Typ
1
C3–A2 nebo C4–A1
EEG
2
O2–A1 nebo O1–A2
EEG
3
Prav´e oko-A1
EOG
4
Lev´e oko-A1
EOG
5
Bradov´ y sval
EMG
6
Lev´a noha
EMG
7
Prav´a noha
EMG
8
Svod II
EKG
9
Nos
Termistor
10
Nos
Nosn´ı tlakov´a kanyla
11
Hrudn´ık
Plethysmografie
12
Bˇricho
Plethysmografie
13
Saturace kysl´ıku
Pulsn´ı oxymetr
Tabulka 3.1: Tabulka s typick´ ym zapojen´ım svod˚ u pˇri PSG. [2]
3.1
Elektroencefalogram (EEG)
Elektorencefalogram, d´ale jen EEG, je sumaˇcn´ı z´aznam oscilac´ı elektrick´e aktivity velk´eho mnoˇzstv´ı vzruˇsiv´ ych element˚ u a neurologie v CNS. Tomuto vyˇsetˇren´ı se budu vˇenovat v t´eto podkapitole v´ıce neˇz ostatn´ım vyˇsetˇren´ım v ostatn´ıch podkapitol´ach. Je to z toho d˚ uvodu, ˇze aplikace pro anal´ yzu dlouhodob´ ych polysomnografick´ ych z´aznam˚ u, kter´a je souˇca´st´ı m´e pr´ace, bude pˇrev´aˇznˇe analyzovat dlouhodob´e sp´ankov´e z´aznamy pr´avˇe z vyˇsetˇren´ı EEG. Technicky se z´aznam EEG aktivity prov´ad´ı jako porovn´an´ı potenci´al˚ u dvou 12
bod˚ u na k˚ uˇzi lebky - bipol´ arn´ı z´ aznam, nebo jako mˇeˇren´ı rozd´ılu elektrick´eho potenci´alu mezi aktivn´ım bodem mozkov´e tk´anˇe (pod aktivn´ı, exploraˇcn´ı elektrodou) proti bodu s nulov´ ym potenci´alem (pod neaktivn´ı, referenˇcn´ı elektrodou) unipol´ arn´ı z´ aznam. U unipol´arn´ıho zapojen´ı je tedy exploraˇcn´ı elektroda zapojena proti referenˇcn´ı elektrodˇe, kdy nejˇcastˇeji je referenˇcn´ı elektroda pˇripevnˇena na uˇsn´ım boltci ˇci koˇreni nosu vyˇsetˇrovan´eho. Pˇri bipol´arn´ım zapojen´ı je v´ yhodou lokalizace loˇziska. Nejd˚ uleˇzitˇejˇs´ı elektrody pro EEG vyˇsetˇren´ı jsou tyto: A – aurikul´arn´ı elektroda (v praxi se uv´ ad´ı M – mastoid´aln´ı elektroda) C – centr´ aln´ı elektroda F – front´aln´ı elektroda Fp – frontopol´arn´ı elektroda T – tempor´aln´ı elektroda O – okcipit´ aln´ı elektroda P – pariet´aln´ı elektroda z - nep´arov´e, vertexov´e elektrody
Nejpouˇz´ıvanˇejˇs´ım rozloˇzen´ım tˇechto elektrod je mezin´arodn´ı rozloˇzen´ı 10/20, kter´e definoval Jasper v roce 1958. Pˇri tomto rozloˇzen´ı jsou od sebe elektrody v kaˇzd´e pomysln´e linii vzd´aleny 10-20-20-20-20-10% z jej´ı celkov´e d´elky. Sud´a ˇc´ısla kan´al˚ u jsou uvedena nad pravou hemisf´erou mozku, naopak lich´a na protilehl´e lev´e hemisf´eˇre. Rozloˇzen´ı elektrod zp˚ usobem 10/20 je moˇzn´e vidˇet na obr´azku 3.1.
13
Obr´azek 3.1: Rozloˇzen´ı elektrod zp˚ usobem 10/20. [10]
Ze z´aznam˚ u EEG lze urˇcit nˇekter´e charakteristiky typick´e jak pro jednotlivce, tak i pro ˇclovˇeka jako druh, d´ıky pˇrevl´adaj´ıc´ı frekvenci vln za urˇcit´ ych stav˚ u bdˇen´ı a sp´anku, jejich amplituda a grafoelementy specifick´e pro urˇcit´e fyziologick´e i patologick´e projevy CNS, jako jsou v´ yboje, sp´ankov´a vˇretena atd. Z´akladn´ı typy aktivit neboli EEG rytm˚ u jsou charakterizov´any frekvenc´ı, amplitudou a tvarem vln (viz tabulka v pˇr´ıloze B). 14
Alfa rytmus Nejv´ yraznˇejˇs´ı aktivita EEG, kter´a je typick´a pro zdrav´eho dospˇel´eho ˇclovˇeka v klidu, vleˇze ve stavu klidn´eho bdˇen´ı pˇri zavˇren´ ych oˇc´ıch. Rozptyl frekvence je od 8 do 12 Hz a maxim´aln´ı amplituda tohoto rytmu se zaznamen´av´a nad parietookcipit´aln´ımi oblastmi mozku.
Beta rytmus Tento rytmus m´a frekvenci mezi 18 a 30 Hz a vˇseobecnˇe se spojuje s aktivac´ı CNS, se zv´ yˇsenou pozornost´ı a aktivitou CNS a je nejv´ıce v´ yrazn´ y nad front´aln´ımi laloky mozku.
Gama rytmus Jedn´a se o rytmus s nejvyˇsˇs´ım frekvenˇcn´ım p´asmem EEG (30-50 Hz), kter´ y nen´ı typicky kontinu´aln´ı. Je nestabiln´ı a epizody konstantn´ı frekvence obvykle 100-300 ms s intervaly 15-30 ms. Kaˇzd´a epizoda je spojena s v´ yraznou negativitou stejnosmˇern´eho potenci´alu mozku.
Delta rytmus Rytmus s nejniˇzˇs´ı frekvenc´ı (0,5-4 Hz) vysokovolt´aˇzn´ıch vln se u dospˇel´ ych osob spojuje s nejhlubˇs´ı f´az´ı telencefalitick´eho sp´anku. Z v´ yvojov´eho hlediska se jedn´a o elektrickou aktivitu nezral´eho mozku kojeneck´eho vˇeku.
Theta rytmus Jedn´a se o typick´ y rytmus zraj´ıc´ıho mozku dˇetsk´eho vˇeku s frekvenc´ı mezi 5-7 Hz. U dospˇel´eho ˇclovˇeka se do povrchov´eho z´aznamu projevuje velmi m´alo. [7, s. 671-673] 15
3.2
Elektrookulogram (EOG)
Elektrookulogram neboli EOG je metoda pro sn´ım´an´ı oˇcn´ıch pohyb˚ u ve dvou bipol´arn´ıch svodech E1 a E2 (E 1 cm zevnˇe od zevn´ıho koutku oˇcn´ıho – vlevo E1, vpravo E2) proti lev´e nebo prav´e mastoid´aln´ı nebo aurikul´arn´ı elektrodˇe. V´ yhoda tohoto zapojen´ı spoˇc´ıv´a v tom, ˇze pohyby oˇc´ı jsou v protif´azi, kdeˇzto EEG projevy jsou ve shodn´e f´azi. EOG elektrody by mˇely b´ yt pˇripojeny mˇekkou p´askou vyrobenou pro pouˇzit´ı na k˚ uˇzi a nemˇely by b´ yt nikdy pˇripevnˇeny g´azou nas´aklou kol´odiov´ ym roztokem, protoˇze m˚ uˇze doj´ıt k poˇskozen´ı rohovky, a tak´e proto, ˇze g´aza se st´av´a nepruˇznou v such´em stavu, takˇze m˚ uˇze nastat nejen nepˇr´ıjemn´e svˇedˇen´ı, ale i zvednut´ı a odpadnut´ı elektrody bˇehem sp´anku. V opaˇcn´em pˇr´ıpadˇe mikropor´ezn´ı chirurgick´e p´asky udrˇzuj´ı dobr´ y kontakt po dobu delˇs´ı neˇz 48 hodin nepˇretrˇzit´eho z´aznamu a mohou b´ yt snadno upraveny do poˇzadovan´ ych rozmˇer˚ u. ˇ S´ıˇrka p´asky je obvykle dvojn´asobek pr˚ umˇeru elektrody a je asi 5 aˇz 8 cm pod´el dr´atu. [1, s. 823]
3.3
Elektromyogram (EMG)
Elektromyogram neboli EMG je metoda pro sn´ım´an´ı elektrick´e aktivity sval˚ u na povrchu tˇela. Nejˇcastˇeji je elektroda um´ıstˇena na bradˇe nebo na nohou. Na bradˇe je EMG sn´ım´ano v jednom nebo ve dvou bipol´arn´ıch svodech a um´ıstˇen´ı elektrod je cca 2 cm dol˚ u od bradov´eho v´ ybˇeˇzku. [11, s. 4]
3.4
Elektrokardiogram (EKG)
EKG je pˇri polysomnografii sn´ım´an nejm´enˇe jedn´ım bipol´arn´ım svodem elektrod um´ıstˇen´ ych v poloze standartn´ıch hrudn´ıch elektrod V1 a V4 – V5, jak je zobrazeno na obr´azku 3.2. Pˇri mˇeˇren´ı elektrick´e aktivity se pouˇz´ıvaj´ı samolepic´ı elektrody. Na pr˚ ubˇehu zaznamenan´eho EKG se pot´e popisuje vlna P, komplex QRS a vlna T, coˇz je zobrazeno na obr´azku 3.3. Vlna P - depolarizace s´ın´ı Komplex QRS - depolarizace komor
16
´ Usek ST - repolarizace komor Vlna T - ukonˇcen´ı repolarizace komor
Obr´azek 3.2: Hrudn´ı svody pro EKG. [13]
Obr´azek 3.3: Popis kˇrivky EKG. [13]
17
3.5
Hodnocen´ı polysomnografick´ eho z´ aznamu
Tato kapitola obsahuje popis toho, jak se vyznaˇcuj´ı jednotliv´a st´adia sp´anku v polysomnografick´em z´aznamu, kter´ y se nejˇcastˇeji hodnot´ı po 30 sekundov´ ych ˇcasov´ ych oknech.
Bdˇ elost Nerelaxovan´a bdˇelost EEG - vysok´a desynchronizace z´aznamu, vlny beta (18 a v´ıce Hz), artefakty
z pohybu oˇc´ı EOG - rychl´e sledovac´ı pohyby, nebo naopak ˇz´adn´e pohyby EMG - vysok´a aktivita, intenzita z´avis´ı na aktivaci mimick´ ych sval˚ u (mi-
mika, mluven´ı) Relaxovan´a bdˇelost EEG - vlny alfa (v rozmez´ı 8 – 12Hz), lze rozliˇsit i vlny beta a theta EOG - jako u nerelaxovan´e bdˇelosti m˚ uˇzeme naj´ıt rychl´e pohyby, nebo
ˇza´dn´e pohyby EMG - kontinu´aln´ı tonick´ a svalov´a aktivita o vysok´e intenzitˇe, intenzita
vˇsak kol´ıs´a v z´avislosti na aktivaci mimick´ ych sval˚ u
Obr´azek 3.4: PSG z´aznam - bdˇelost.
18
Sp´ anek NREM 1 EEG - v t´eto f´ azi se nenach´azej´ı alfa vlny, objevuj´ı se vˇsak vlny theta, nebo
ostr´e vertexov´e vlny EOG - pomal´e pohyby oˇc´ı EMG - tomick´ a svalov´a aktivita je v porovn´an´ı s bdˇen´ım niˇzˇs´ı intenzity
Sp´ anek NREM 2 EEG - pˇrevl´ adaj´ıc´ı vlny theta (o frekvenci 4 - 7 Hz) jsou doplnˇeny sp´ankov´ ymi
vˇreteny a K-komplexy – Sp´ ankov´ a vˇ retena jsou skupiny vln o shodn´e frekvenci (12 - 14 Hz), kter´e trvaj´ı d´ele neˇz 0,5 sekundy. Maxim´alnˇe vˇsak trvaj´ı asi 1,5 sekundy. U dospˇel´eho ˇclovˇeka se vˇretena vyskytuj´ı s frekvenc´ı 3 - 8 za minutu sp´anku ve f´azi NREM 2. S pokroˇcil´ ym vˇekem se frekvence sp´ankov´ ych vˇreten zpomaluje a jejich trv´an´ı zkracuje. – K-komplex je bif´azick´a pomal´a vlna o trv´an´ı delˇs´ım neˇz 0,5 s. Svou amplitudou a tvarem jsou lehce odliˇsiteln´e od z´akladn´ı aktivity (theta vln). K-komplexy se vyskytuj´ı 1 - 3 kr´at za minutu. EOG - nedoch´az´ı k pohyb˚ um oˇc´ı EMG - tonick´a svalov´ a aktivita je niˇzˇs´ı v porovn´an´ı s intenzitou v bdˇelosti
ˇci intenzitou v NREM 1
Obr´azek 3.5: PSG z´aznam - lehk´ y sp´anek.
19
Sp´ anek NREM 3 a NREM 4 EEG - vlny delta (2 Hz a niˇzˇs´ı), minim´aln´ı amplituda 75 µ V, sp´ankov´a
vˇretena s K-komplexy se vyskytuj´ı ve f´azi sp´anku NREM 3, ve f´azi NREM 4 se vyskytuj´ı m´enˇe EOG - oˇci se nepohybuj´ı EMG - tonick´ a svalov´a aktivita je o nejniˇzˇs´ı intenzitˇe
Obr´azek 3.6: PSG z´aznam - hlubok´ y sp´anek.
Sp´ anek REM EEG - z´ akladn´ı aktivita m˚ uˇze pˇripom´ınat z´aznam sp´anku NREM 1, nebo
dokonce i bdˇelost, pˇr´ıtomny jsou vlny alfa a theta, sp´ankov´a vˇretena a Kkomplexy se nevyskytuj´ı, typick´e pro tuto f´azi jsou pilovit´e vlny (2 - 4 Hz) EOG - rychl´e pohyby oˇc´ı EMG - ˇz´adn´ a tonick´a aktivita sval˚ u, mohou se objevit nekontrolovateln´e
z´aˇskuby sval˚ u [5, s. 68-71]
20
Kapitola 4 Anal´ yza EEG/PSG V pˇredeˇsl´e kapitole byl ˇcten´aˇr sezn´amen se z´aznamy polysomnografick´eho vyˇsetˇren´ı. Tato podkapitola se bude vˇenovat tomu, jak je moˇzn´e z´aznamy z tohoto vyˇsetˇren´ı rozdˇelit na segmenty a jak´e funkce se daj´ı pouˇz´ıt pro analyzov´an´ı vytvoˇren´ ych segment˚ u z tˇechto z´aznam˚ u.
4.1
Segmentace z´ aznamu
Segmentac´ı z´aznamu se rozum´ı rozdˇelen´ı z´aznamu do menˇs´ıch ˇc´ast´ı. Takov´eto rozdˇelen´ı se prov´ad´ı za u ´ˇcelem dalˇs´ıho zpracov´an´ı z´aznamu a pˇr´ıpadn´e anal´ yzy dan´eho segmentu. Z´akladn´ı rozdˇelen´ı segmentace je na segmentaci konstantn´ı a segmentaci adaptivn´ı, kdy u konstantn´ı segmentace je konstantn´ı d´elka segmentu a u adaptivn´ı je d´elka segmentu promˇenn´a. Adaptivn´ı segmentace je oproti segmentaci konstantn´ı velice v´ ypoˇcetnˇe a ˇcasovˇe n´aroˇcn´a.
4.2
Metody anal´ yzy z´ aznam˚ u
V t´eto ˇca´sti budou pops´any jednotlivˇe nˇekter´e druhy funkc´ı pro anal´ yzu jednotliv´ ych segment˚ u v z´aznamech EEG/PSG. 21
Koeficient ˇ sikmosti (Skewness) Jedn´a se o charakteristiku rozdˇelen´ı n´ahodn´e veliˇciny, kter´a n´am napom´ah´a urˇcit, kter´ ym smˇerem je naˇse promˇenn´a hodnota asymetricky rozloˇzena a jak moc se liˇs´ı od norm´aln´ıho, tedy Gaussova rozdˇelen´ı. Pro jej´ı z´ısk´an´ı se vyuˇz´ıv´a takzvan´eho centr´aln´ı momentu tˇret´ıho stupnˇe, kdy moment k-t´eho stupnˇe je definov´an takto: PN µk =
i=1 (xi
N
− x)k
.
(4.1)
Pokud jiˇz zn´ame centr´aln´ı moment tˇret´ıho stupnˇe µ3 pro n´ami zadan´e veliˇciny, je moˇzn´e urˇcit koeficient ˇsikmosti t´ımto zp˚ usobem:
γ1 =
µ3 E[X − E(X)]3 = , σ3 (V ar(X))3/2
(4.2)
kde hodnota σ je smˇerodatn´a odchylka, hodnota V ar(X) je rozptyl (obˇe hodnoty viz 4.2) a hodnota E(X) je stˇredn´ı hodnota (viz 4.2). Pro koeficient ˇsikmosti se rozliˇsuje hodnota kladn´a, t´eˇz hodnota pravostrann´a, kdy se vˇetˇsina hodnot nach´az´ı pod pr˚ umˇerem a hodnota z´aporn´a, t´eˇz hodnota levostrann´a, kdy se vˇetˇsina hodnot nach´az´ı nad pr˚ umˇerem. Pokud koeficient ˇsikmosti vyjde nulov´ y, je rozloˇzen´ı symetrick´e. [21]
Koeficient ˇ spiˇ catosti (Kurtosis) Jedn´a se o charakteristiku rozdˇelen´ı n´ahodn´e veliˇciny, kter´a n´am ud´av´a, jak se v rozloˇzen´ı ˇcetnost´ı vyskytuj´ı velmi vysok´e a velmi n´ızk´e hodnoty a jak moc se liˇs´ı od norm´aln´ıho, tedy Gaussova rozdˇelen´ı. Pro jej´ı z´ısk´an´ı se vyuˇz´ıv´a tzv. centr´aln´ıho momentu ˇctvrt´eho stupnˇe, kdy moment k-t´eho stupnˇe byl definov´an v pˇredeˇsl´e ˇc´asti o koeficientu ˇsikmosti. Pokud jiˇz zn´ame centr´aln´ı moment ˇctvrt´eho stupnˇe µ4 pro n´ami zadan´e veliˇciny, je moˇzn´e urˇcit koeficient ˇspiˇcatosti t´ımto zp˚ usobem: 22
γ2 =
µ4 E[X − E(X)]4 − 3 = − 3, σ4 (V ar(X))2
(4.3)
kde hodnota σ je smˇerodatn´a odchylka, hodnota V ar(X) je rozptyl (obˇe hodnoty viz 4.2) a hodnota E(X) je stˇredn´ı hodnota (viz 4.2). Pro koeficient ˇspiˇcatosti se rozliˇsuje rozdˇelen´ı na v´ıce ˇspiˇcat´e, neˇz je norm´aln´ı rozdˇelen´ı, t´eˇz naz´ yv´ano jako leptokurtick´e (koeficient kladn´ y), ˇci m´enˇe ˇspiˇcat´e neˇz norm´aln´ı rozdˇelen´ı, t´eˇz naz´ yv´ano jako platykurtick´e (koeficient z´aporn´ y). Pokud koeficient ˇspiˇcatosti vyjde nulov´ y, je rozloˇzen´ı norm´aln´ı. [21]
Maximum (MAX) Matematick´a funkce, jej´ıˇz funkˇcn´ı hodnota pˇredstavuje nejvyˇsˇs´ı hodnotu ze vˇsech vstupn´ıch hodnot. Matematick´ y z´apis t´eto funkce m˚ uˇze vypadat napˇr´ıklad takto:
f (x) : M → R je hodnota y ∈ M takov´a, ˇze f (y) ≥ f (x), ∀x ∈ M.
(4.4)
Minimum (MIN) Matematick´a funkce, jej´ıˇz funkˇcn´ı hodnota pˇredstavuje nejniˇzˇs´ı hodnotu ze vˇsech vstupn´ıch hodnot. Matematick´ y z´apis t´eto funkce m˚ uˇze vypadat napˇr´ıklad takto:
f (x) : M → R je hodnota y ∈ M takov´a, ˇze f (y) ≤ f (x), ∀x ∈ M.
(4.5)
Rychl´ a Fourierova transformace (FFT) Neˇz bude pops´ana samotn´a rychl´a Fourierova transformace (FFT - Fast Fourier Transform), bude nejprve vysvˇetlen pojem spojit´e Fourierovy transformace. Spojit´a Fourierova transformace (FT - Fourier Transform) se nejˇcastˇeji pouˇz´ıv´a 23
pro pˇrevod sign´alu z ˇcasov´e do frekvenˇcn´ı oblasti. Z definici obecn´e Fourierovy transformace bude postupnˇe odvozen jej´ı diskr´etn´ı tvar (DFT - Discrete Fourier Transform), kter´ y je mnohem vhodnˇejˇs´ı pro praktick´e vyuˇzit´ı, a z´avˇer t´eto ˇc´asti bude vˇenov´an jiˇz samotn´e rychl´e Fourierovˇe transformaci. Pokud je funkce sign´alu spojit´a, je FT definov´ana n´asleduj´ıc´ımi rovnicemi. Pro pˇr´ımou transformaci plat´ı vztah:
Z
+∞
x(t)e−i2πf t dt,
X(f ) = k1
(4.6)
−∞
pro zpˇetnou transformaci pak plat´ı vztah:
Z
+∞
X(f )ei2πf t df,
x(t) = k2
(4.7)
−∞
kde parametr f je frekvence, parametr t ˇcas, x(t) hodnota sign´alu v dan´em ˇcase, parametry k1 a k2 jsou konstanty a X(f ) pˇredstavuje hodnotu FT v dan´e frekvenci. [16] Pokud je zpracov´avan´ y sign´al diskr´etn´ı, tedy vzorkovan´ y v koneˇcnˇe mnoha bodech pˇri konstantn´ı vzorkovac´ı frekvenci, hovoˇr´ıme o diskr´etn´ı Fourierovˇe transformaci a je nutn´e upravit v´ yˇse uveden´e integr´aln´ı rovnice 4.6 a 4.7 do n´asleduj´ıc´ıch podob. Pro pˇr´ımou transformaci plat´ı vztah: N −1 2πk 1 X Xk = xn e−i( T )(n∆t) , T n=0
(4.8)
kde ∆t je definov´ana jako: ∆t =
N −1 2πkn 1 X xn e−i( N ) , N n=0
24
(4.9)
pro zpˇetnou transformaci pak plat´ı vztah: xn =
N −1 X
Xk ei(
2πkn ) N
,
(4.10)
n=0
kde parametr T pˇredstavuje celkovou dobu trv´an´ı posloupnosti, N pˇredstavuje celkov´ y poˇcet prvk˚ u posloupnosti, hodnota xn je hodnota n-t´eho diskr´etn´ı posloupnosti, i je imagin´arn´ı jednotka a v´ ysledn´a hodnota Xk je k-t´a frekvenˇcn´ı sloˇzka sign´alu. Na z´akladˇe upraven´ ych rovnic (4.8, 4.9 a 4.10) je moˇzn´e vypoˇc´ıtat hodnoty DFT, ale tento v´ ypoˇcetn´ı algoritmus je velice v´ ypoˇcetnˇe n´aroˇcn´ y, a proto bylo nalezen´ı rychl´eho algoritmu pro v´ ypoˇcet DFT v roce 1956 jedn´ım ze z´asadn´ıch v´ yvojov´ ych krok˚ u v ˇc´ıslicov´em zpracov´an´ı sign´al˚ u. Velk´ y rozd´ıl spoˇc´ıv´a ve v´ yrazn´em sn´ıˇzen´ı doby potˇrebn´e k v´ ypoˇctu. Zat´ımco algoritmus pro DFT potˇrebuje O(N 2 ) operac´ı, tak algoritmus pro FFT potˇrebuje operac´ı pouze O(N log(N )). Algoritmus FFT je zaloˇzen na technice rozdˇel a panuj“ a jeho konkr´etn´ı popis je ” moˇzn´e nal´ezt v ˇradˇe publikac´ı [17]. Samotn´a implementace takov´ehoto algoritmu v nˇekter´em z programovac´ıch jazyk˚ u nen´ı jednoduchou z´aleˇzitost´ı a ˇcasto podl´eh´a n´aroˇcn´e optimalizaci pro dosaˇzen´ı nejlepˇs´ıho v´ ysledku pro dan´ y programovac´ı jazyk. [18]
Smˇ erodatn´ a odchylka (STD) Pro urˇcen´ı hodnoty rozpt´ ylen´ı ˇci odch´ ylen´ı od pr˚ umˇeru dan´ ych hodnot se podobnˇe jako rozptyl pouˇz´ıv´a smˇerodatn´a odchylka (STD - Standard Deviation), kter´a je rovna odmocninˇe z rozptylu. Rozptyl znaˇcen´ y jako Var ud´av´a pr˚ umˇer druh´ ych mocnin vzd´alenost´ı od pr˚ umˇeru. Pokud m´ame soubor hodnot, kter´ y znaˇc´ıme X = [x1 , x2 , ..., xN ], kde x znaˇc´ı pr˚ umˇernou hodnotu z tˇechto hodnot, pak rozptyl m˚ uˇzeme vyj´adˇrit takto:
V ar(X) =
1 ((x1 − x)2 + (x2 − x)2 + · · · + (xN − x)2 ) N 25
(4.11)
Obdobnˇe lze rozptyl vyj´adˇrit i pomoc´ı sumy takto:
V ar(X) =
N 1 X (xi − x)2 N i=1
(4.12)
Pokud zn´ame hodnotu rozptylu, m˚ uˇzeme snadno urˇcit hodnotu smˇerodatn´e odchylky znaˇcen´e σ jako druhou odmocninu z rozptylu takto:
σ=
p V ar(X)
(4.13)
[20]
Spektr´ aln´ı v´ ykonov´ a hustota (PSD) Spektr´aln´ı v´ ykonov´a hustota (PSD - Power Spectral Density) se nejˇcastˇeji pouˇz´ıv´a k odhadu spektra zaznamenan´eho sign´alu s koneˇcnou d´elkou a konstantn´ı vzorkovac´ı frekvenc´ı a ud´av´a z´avislost rozloˇzen´ı hustoty v´ ykonu sign´alu na frekvenci. Pro urˇcen´ı, odhad, PSD se nejˇcastˇeji vyuˇz´ıv´a pˇr´ım´ ych ˇci nepˇr´ım´ ych metod zaloˇzen´ ych pr´avˇe na v´ ypoˇctu diskr´etn´ı Fourierovˇe transformaci zm´ınˇen´e v pˇredeˇsl´e podkapitole. Wiener-Chinˇcin˚ uv teor´em slouˇz´ı pro nepˇr´ım´ y odhad PSD za pouˇzit´ı DFT autokorelaˇcn´ı funkce (Rxx (n)):
P SD(k) =
N −1 X
Rxx (n)e−i2πf n ,
(4.14)
n=0
Naopak modern´ı verze Schusterova periodogramu se pouˇz´ıv´a pro pˇr´ım´ y odhad PSD, kter´ y je poˇc´ıtan´ y jen pro vzorky x0 , x1 aˇz xN −1 a je vyj´adˇren takto: N −1 1 X | P SD(k) = x(n)e−i2πf n |2 , N n=0
(4.15)
Pˇri pouˇzit´ı nepˇr´ım´e ˇc´ı pˇr´ım´e metody pro odhad PSD jsou v´ ysledky obou tˇechto zp˚ usob˚ u totoˇzn´e. [19] 26
Stˇ redn´ı hodnota (Mean) Stˇredn´ı hodnota neboli aritmetick´ y pr˚ umˇer je definov´an jako souˇcet vˇsech hodnot n´ahodn´ ych veliˇcin z mnoˇziny X dˇelen´ y poˇctem hodnot v t´eto mnoˇzinˇe. Vzorec pro v´ ypoˇcet stˇredn´ı hodnoty pak m˚ uˇzeme definovat takto: PN
i=1
EX =
N
27
xi
.
(4.16)
28
Kapitola 5 Aplikace pro anal´ yzu PSG V t´eto kapitole bude ˇcten´aˇri pops´ana v´ ysledn´a aplikace pro anal´ yzu dlouhodob´ ych polysomnografick´ ych z´aznam˚ u a to jak z hlediska pouˇzit´ ych technologi´ı, tak z hlediska uˇzivatelsk´eho i implementaˇcn´ıho. Cel´a tato kapitola bude rozdˇelena do dalˇs´ıch podkapitol, kde budou jednotliv´e technologie a ˇc´asti aplikace podrobnˇeji vysvˇetleny. Celkov´a aplikace byla vytvoˇrena jako univerz´aln´ı a lehce rozˇsiˇriteln´ y n´astroj pro zobrazen´ı a moˇznou anal´ yzu biologick´ ych a fyzick´ ych sign´al˚ u naˇcten´ ych ze souboru form´atu EDF se zamˇeˇren´ım se na pˇr´ıvˇetiv´e a lehce ovladateln´e uˇzivatelsk´e prostˇred´ı.
5.1
Pouˇ zit´ y jazyk, framework, knihovny a datov´ y form´ at
Tato podkapitola postupnˇe pˇredstav´ı implementaˇcn´ı jazyk, v kter´em byla aplikace naps´ana, framework, kter´ y byl pro dan´ y jazyk pouˇzit, open-source knihovny, kter´e aplikace vyuˇz´ıv´a a tak´e datov´ y form´at, ve kter´em se naˇc´ıtaj´ı zdrojov´a data pro tuto aplikaci.
Jazyk C# Jazyk C# je vysoko´ urovˇ nov´ y objektovˇe orientovan´ y programovac´ı jazyk, kter´ y byl vyvinut a navrˇzen spoleˇcnost´ı Microsoft zejm´ena pro spolupr´aci s technologi´ı 29
.NET, kter´a je rovnˇeˇz od spoleˇcnosti Microsoft. Jazyk je odvozen od jazyka C++ a jazyka Java, coˇz jej ˇrad´ı mezi jazyk se syntax´ı jazyka C. Jazyk byl schv´alen´ y standardizaˇcn´ımi komisemi ECMA1 . Pln´e pops´an´ı tohoto jazyka vˇsak nen´ı souˇc´ast´ı t´eto pr´ace, a proto je ˇcten´aˇr odk´az´an na nˇekterou z knih o jazyce C# [14] [15] nebo na odborn´e ˇcl´anky na webu. Pro psan´ı aplikace byla zvolena verze .NET 4.5, kter´a je dostupn´a od srpna roku 2012.
Windows Presentation Foundation (WPF) WPF neboli Windows Presentation Foundation je framework pro komplexn´ı tvorbu bohat´ ych desktopov´ ych ˇci jin´ ych nativn´ıch aplikac´ı, kter´ y je souˇca´st´ı .NET frameworku od verze 3.0. Vznikl za u ´ˇcelem v´ yvoj´aˇrsk´e volnosti pˇri psan´ı takov´ ychto aplikac´ı, kdy je v´ yvoj´aˇri umoˇznˇeno vytv´aˇret vlastn´ı komponenty ˇci ˇcerpat z komponent pˇredpˇripraven´ ych a nen´ı odk´az´an pouze na starˇs´ı zp˚ usob ve formˇe Windows Forms. Pro celkov´ y popis frameworku WPF by bylo potˇreba napsat v´ıce jak jednu knihu, a proto se tato ˇca´st v n´asleduj´ıc´ıch ˇra´dc´ıch zamˇeˇr´ı pouze na d˚ uleˇzit´e aspekty tohoto frameworku a jejich z´akladn´ı popis. Jazyk XAML Veˇsker´e komponenty ve frameworku WPF jsou rozdˇeleny do dvou z´akladn´ıch vrstev. A to do prezenˇcn´ı vrstvy, kterou pˇredstavuje jazyk XAML, a do vrstvy logick´e, tzv. Code Behind, kter´a je reprezentov´ana klasickou tˇr´ıdou v jazyce C#. Jak jiˇz bylo zm´ınˇeno, jazyk XAML slouˇz´ı ke k´odov´an´ı prezentaˇcn´ı vrstvy aplikace a popisujeme v nˇem, jak m´a n´ami vytvoˇren´a komponenta vypadat. Jazyk XAML vych´az´ı z XML, kdy XML oznaˇcuje eXtensible Markup Language, tedy rozˇsiˇriteln´ y znaˇckovac´ı jazyk a XAML oznaˇcuje eXtensible Application Markup Language, tedy XML se znaˇckami pro tvorbu aplikac´ı. Pˇr´ıklad takov´e komponenty v XAML je moˇzn´e vidˇet na obr´azku 5.1.
1
http://www.ecma-international.org/publications/standards/Ecma-334.htm
30
Obr´azek 5.1: K´od jazyka XAML pro komponentu pˇrid´avac´ıho tlaˇc´ıtka.
Jak je moˇzn´e na obr´azku 5.1 vidˇet, v jazyce XAML je nejen pops´an v´ ysledn´ y vzhled dan´e komponenty, ale i zmˇena stylu komponenty pˇri urˇcit´e situaci, na kterou reaguj´ı takzvan´e triggery, kter´e budou bl´ıˇze pops´any n´ıˇze. Nicm´enˇe d´ıky trigger˚ um pak Code Behind m˚ uˇze obsahovat jen minimum implementace, jak je vidˇet na obr´azku 5.2, kde je zobrazen Code Behind pro XAML na obr´azku 5.1.
Obr´azek 5.2: Code Behind pro komponentu pˇrid´avac´ıho tlaˇc´ıtka.
31
Trigger Jednoduˇse pops´ano, trigger se pouˇz´ıv´a za u ´ˇcelem proveden´ı nˇejak´e akce ˇci zmˇeny pˇri zmˇenˇe nˇejak´e vlastnosti ˇci vyvol´an´ı ud´alosti na elementu, pro kter´ y je trigger naps´an. Triggery vytv´aˇrej´ı vizu´aln´ı efekty pro danou komponentu, ve kter´e jsou pouˇzity, a umoˇzn ˇuj´ı tak omezit velk´e mnoˇzstv´ı k´odu v Code Behind, jako by byly napˇr´ıklad metody pro obsluhu ud´alost´ı. Je moˇzn´e jednoduˇse napsat napˇr´ıklad trigger na zmˇenu barvy tlaˇc´ıtka pˇri najet´ı na toto tlaˇc´ıtko, aniˇz bychom museli napsat v Code Behind metodu pro obsluhu t´eto ud´alosti, kterou bychom pak v XAML pˇriˇradili do atributu MouseEnter dan´emu elementu. Trigger dˇel´ıme do tˇr´ı typ˚ u: Property Trigger - Provede zmˇenu zadan´ ych vlastnost´ı pˇri zmˇenˇe jedn´e
vlastnosti dan´eho elementu. (viz obr. 5.3) Event Trigger - Provede akci, nejˇcastˇeji animaci, pokud je vyvol´ ana
ud´alost typu RoutedEvent. Data Trigger - Provede zmˇenu zadan´ ych vlastnost´ı pˇri zmˇenˇe data bin-
ding.
Obr´azek 5.3: Pˇr´ıklad triggeru typu Property Trigger.
Data binding Data binding je technika, jak naplnit vizu´aln´ı prvky informacemi na pozad´ı ˇci pˇren´est informace mezi jednotliv´ ymi prvky. Jedn´a se o techniku, kter´a 32
umoˇzn ˇuje oddˇelit vizu´aln´ı vrstvu od vrstvy datov´e. Kr´asa data binding je pr´avˇe v tom, ˇze umoˇzn ˇuje poskytnout vizu´aln´ı komponentˇe informace pro zobrazen´ı pˇri naps´an´ı mal´eho ˇci ˇza´dn´eho mnoˇzstv´ı k´odu v Code Behind. Data binding ve WPF umoˇzn ˇuje vz´ıt si data t´emˇeˇr z jak´ekoliv vlastnosti objektu ˇci jak´ehokoli datov´eho kontextu a nav´azat je na t´emˇeˇr jakoukoli jinou vlastnost jin´eho objektu. Jako pˇr´ıklad je moˇzn´e uv´est situaci, kdy chceme zobrazit aktu´aln´ı hodnotu komponenty Slider v textov´e podobˇe v komponentˇe TextBlock, aniˇz bychom museli v Behin Code ps´at metodu na obsluhu ud´alosti pˇri zmˇenˇe hodnoty na Slideru, kter´a by obsah TextBlocku mˇenila na aktu´aln´ı hodnotu. Tento pˇr´ıklad je zobrazen na obr´azku 5.4.
Obr´azek 5.4: Pˇr´ıklad data binding mezi komponentou Slider a TextBlock.
Resource dictionary Resource dictionary je ve WPF oznaˇcen´ı pro soubor psan´ y v jazyce XAML a slouˇz´ı pro definov´an´ı znovupouˇziteln´ ych zdroj˚ u, jako jsou texty, styly tlaˇc´ıtek, barvy a dalˇs´ı. Pˇredstavme si napˇr´ıklad, ˇze chceme definovat nov´ y styl tlaˇc´ıtka, kter´e se bude pouˇz´ıvat u ´plnˇe v cel´e aplikaci. Nen´ı tedy ˇza´douc´ı, abychom v kaˇzd´e komponentˇe, kde chceme toto tlaˇc´ıtko pouˇz´ıt, definovali tento styl znovu. Proto nap´ıˇseme tento styl pro komponentu tlaˇc´ıtka do souboru Resource dictionary a pot´e jiˇz pro kaˇzd´e tlaˇc´ıtko pouˇzijeme data binding k nastaven´ı tohoto stylu. Jeˇstˇe neˇz vˇsak je moˇzn´e styl takto pouˇz´ıt, je nutn´e novˇe vytvoˇrenou Resource dictionary pˇriˇradit do seznamu zdroj˚ u do souboru App.xaml, kter´ y je vˇzdy souˇc´ast´ı projektu WPF. Ve vytvoˇren´e aplikaci je t´eto vlastnosti vyuˇzito i pro vytvoˇren´ı Resource dictionary s veˇsker´ ymi texty (viz obr. 5.5), kter´e by pak bylo moˇzn´e lehce pˇreloˇzit a aplikaci tak pˇrev´est do jin´eho jazyka. 33
Obr´azek 5.5: Uk´azka souboru s veˇsker´ ymi texty aplikace.
Pouˇ zit´ e open-source knihovny Jelikoˇz tato pr´ace je prac´ı diplomovou a nejedn´a se o ˇz´adn´ y finanˇcnˇe podpoˇren´ y projekt, je v´ ysledn´a aplikace odk´az´ana pouze na knihovny, kter´e jsou uvedeny pod nˇejak´ ym typem open-source licence a jsou tedy volnˇe staˇziteln´e z internetu a pouˇziteln´e dle dan´e licence. V t´eto kapitole budou pouˇzit´e knihovny jednotlivˇe 34
struˇcnˇe pops´any. MathApps.Metro MathApps.Metro je projekt, kter´ y zaloˇzil Paul Jenkins jiˇz v roce 2011, jako jednoduch´ y zp˚ usob, jak pˇremˇenit klasick´ y vzhled nˇekter´ ych z´akladn´ıch komponent frameworku WPF na vzhled v takzvan´em Metro stylu, s kter´ ym pˇriˇsla firma Microsoft. Tento projekt je open-source pod licenc´ı MS-PL2 a je dostupn´ y ze str´anek projektu3 , nebo na GitHubu4 . V aplikaci pro anal´ yzu dlouhodob´ ych polysomnografick´ ych z´aznam˚ u je knihovna vyuˇzita pro modern´ı vzhled oken a vˇsech z´akladn´ıch komponent. Oxyplot Oxyplot je cross-platformn´ı knihovna pro .NET a slouˇz´ı k vykreslov´an´ı dat do graf˚ u a pr´aci s vykreslen´ ymi grafy, jako je interpolace bod˚ u, pˇribl´ıˇzen´ı a dalˇs´ı. Jej´ı k´od je open-source pod licenc´ı MIT5 a je dostupn´ y ze str´anek projektu6 , nebo na GitHubu7 . V v´ ysledn´e aplikaci je knihovna vyuˇz´ıv´ana pro vykreslov´an´ı a veˇskerou pr´aci s grafy. Math.NET Numerics Math.NET Numerics je projekt pro .NET, kter´ y si klade za c´ıl poskytnout metody a algoritmy pro numerick´e v´ ypoˇcty ve vˇedˇe, inˇzen´ yrstv´ı i v kaˇzdodenn´ım pouˇzit´ı. Zahrnuje napˇr´ıklad speci´aln´ı funkce pro line´arn´ı algebru, modely s nejvˇetˇs´ı pravdˇepodobnost´ı n´ahodn´ ych ˇc´ısel, interpolaci, integraci, regresi, optimalizaˇcn´ı probl´emy a dalˇs´ı. Tento projekt je open-source pod licenc´ı MIT8 a je dostupn´ y ze str´anek projektu9 , nebo na GitHubu10 . V v´ ysledn´e aplikaci je knihovna vyuˇz´ıv´ana 2
https://opensource.org/licenses/MS-PL http://mahapps.com/ 4 https://github.com/MahApps/MahApps.Metro 5 https://opensource.org/licenses/MIT 6 http://oxyplot.org/ 7 https://github.com/oxyplot/oxyplot 8 https://opensource.org/licenses/MIT 9 http://numerics.mathdotnet.com/ 10 https://github.com/mathnet/mathnet-numerics 3
35
zejm´ena pro jej´ı rychl´e implementace nˇekter´ ych metod pro anal´ yzu EEG/PSG.
European Data Format (EDF) Evropsk´ y datov´ y form´at neboli EDF je dlouholet´ y zaveden´ y standard pro ukl´ad´an´ı a zpˇetn´e naˇc´ıt´an´ı,pro moˇznou vizualizaci ˇci anal´ yzu polyosomnografick´ ych z´aznam˚ u. V t´eto kapitole bude bl´ıˇze pops´ana jeho struktura i jeho zp˚ usob naˇc´ıt´an´ı. EDF je jednoduch´ y a flexibiln´ı form´at pro v´ ymˇenu a skladov´an´ı multikan´alov´ ych biologick´ ych a fyzick´ ych sign´al˚ u. Byl vyvinut nˇekolika evropsk´ ymi zdravotnick´ ymi inˇzen´ yry, kteˇr´ı se poprv´e setkali v roce 1987 na mezin´arodn´ım sp´ankov´em kongresu v Kodani. Tito inˇzen´ yˇri chtˇeli uplatnit sv´e algoritmy pro anal´ yzu sp´anku i na z´aznamech ostatn´ıch uˇzivatel˚ u a porovnat jednotliv´e v´ ysledky anal´ yzy, a proto se v lednu roku 1990 dohodli na velmi jednoduch´em form´atu pro v´ ymˇenu jejich sp´ankov´ ych z´aznam˚ u. Tento dohodnut´ y form´at se stal zn´am´ y jako European Data Format a poprv´e byl zveˇrejnˇen v roce 1992 v pr´aci Electroencephalography and Clinical Neurophysiology 82 na str´ank´ach 391 - 393 a od t´e doby se EDF stalo de-facto standardem pro z´aznam EEG a PSG. Od roku 2003 je zn´am´e i jeho rozˇs´ıˇren´ı oznaˇcen´e jako EDF+. Pro moˇznost naˇcten´ı tohoto form´atu byl vytvoˇren vlastn´ı knihovn´ı projekt s n´azvem EDFToolkit. Takto vytvoˇren´a knihovna je posl´eze referencov´ana v projektu cel´e aplikace a je moˇzn´e ji pouˇz´ıt i v jin´ ych aplikac´ıch, kde bude potˇreba pr´ace se soubory EDF. Specifikace EDF Jedn´a se o jeden datov´ y soubor, kter´ y obsahuje jeden nepˇreruˇsovan´ y digitalizovan´ y polygrafick´ y z´aznam. Datov´ y soubor se skl´ad´a z n´avˇeˇst´ı neboli hlaviˇcky, kter´e je n´asledovan´e jednotliv´ ymi datov´ ymi z´aznamy. Hlaviˇcka m´a promˇenlivou d´elku, v kter´e se identifikuje pacient a specifikuj´ı se technick´e vlastnosti zaznamenan´ ych sign´al˚ u.
36
Prvn´ıch 256 byt˚ u hlaviˇcky obsahuje ˇc´ıslo verze tohoto form´atu, informace o pacientovi a identifikaci z´aznamu, ˇcasov´e informace o nahr´avce, poˇcet datov´ ych z´aznam˚ u a poˇcet sign´al˚ u (NS) v kaˇzd´em datov´em z´aznamu. Pot´e kaˇzd´ ych 256 byt˚ u za hlaviˇckou obsahuje specifikaci typ sign´alu (napˇr´ıklad EEG, tˇelesn´a teplota, atd.), amplitudu kalibrace a poˇcet vzork˚ u v kaˇzd´em datov´em z´aznamu. D´ıky tomuto zp˚ usobu z´aznamu, je umoˇznˇeno ukl´adat sign´aly s r˚ uznou vzorkovac´ı frekvenc´ı. Celkovˇe tedy hlaviˇcka obsahuje 256 + (NS + 256) byt˚ u a za n´ı n´asleduje NS datov´ ych z´aznam˚ u o d´elce - poˇcet vzork˚ u v sign´alu (NR) * int. Celkov´a specifikace je uvedena na webu11 a zde je uvedena pouze tabulka 5.1, kter´a ukazuje strukturu tohoto form´atu.
11
http://www.edfplus.info/specs/edf.html
37
ˇ HLAVICKA D´ elka
V´ yznam
8 ascii
Verze form´atu
80 ascii
Informace o pacientovi
80 ascii
Identifikace z´aznamu
8 ascii 8 ascii
Datum zapoˇcet´ı nahr´avky ˇ zapoˇcet´ı nahr´avky Cas
8 ascii
Poˇcet byt˚ u v hlaviˇcce
44 ascii
Rezervov´ano
8 ascii
Poˇcet datov´ ych z´aznam˚ u
8 ascii
Doba trv´an´ı datov´eho z´aznamu v sekund´ach
4 ascii
Poˇcet sign´al˚ u (NS) v datov´em z´aznamu
NS * 16 ascii
NS * Popisek sign´alu
NS * 80 ascii
NS * Typ sn´ımaˇce
NS * 8 ascii
NS * Fyzik´aln´ı veliˇcina
NS * 8 ascii
NS * Fyzik´aln´ı minimum
NS * 8 ascii
NS * Fyzik´aln´ı maximum
NS * 8 ascii
NS * Digit´aln´ı minimum
NS * 8 ascii
NS * Digit´aln´ı maximum
NS * 80 ascii
NS * Pˇredfiltrov´an´ı
NS * 8 ascii
NS * Poˇcet vzork˚ u v kaˇzd´em datov´em z´aznamu (NR)
NS * 32 ascii
NS * Rezervov´ano
´ ZAZNAM ´ DATOVY D´ elka
V´ yznam
NR pro 1. z´aznam * int
Prvn´ı sign´al v datov´em z´aznamu
NR pro 2. z´aznam * int
Druh´ y sign´al v datov´em z´aznamu
... NR pro NS-t´ y z´aznam * int
Posledn´ı sign´al v datov´em z´aznamu
Tabulka 5.1: Tabulka zn´azorˇ nuj´ıc´ı strukturu datov´eho souboru EDF.
38
5.2
Struktura aplikace
V t´eto ˇca´sti bude probr´ano celkov´e pojet´ı vytvoˇren´e aplikace z hlediska uˇzivatelsk´eho pr˚ uchodu aplikac´ı. Tento pr˚ uchod byl hlavn´ım stavebn´ım kamenem, co se do rozdˇelen´ı aplikace na jednotliv´e komponenty t´ yˇce. Nejprve bylo nutn´e rozmyslet, jak by mohl uˇzivatel aplikaci pouˇz´ıvat pro anal´ yzu z´aznam˚ u, a tak´e to, aby analyzov´an´ı z´aznam˚ u prob´ıhalo pro uˇzivatele co moˇzn´a nejintuitivnˇeji a pˇr´ıvˇetivˇe. Jak je zobrazeno na obr´azku 5.6, je aplikace rozdˇelena celkem do ˇsesti v´ıce ˇci m´enˇe komplexn´ıch komponent, kter´e uˇzivateli umoˇzn ˇuj´ı analyzovat biologick´e z´aznamy od jejich zad´an´ı ve form´atu EDF aˇz po v´ ypoˇcet zadan´ ych pˇr´ıznak˚ u v ohodnocen´ ych a rozsegmentovan´ ych u ´sec´ıch.
Obr´azek 5.6: Struktura a jednotliv´e ˇc´asti aplikace.
39
5.3
Jednotliv´ eˇ c´ asti aplikace
Jak bylo v pˇredeˇsl´e ˇca´sti zm´ınˇeno, celkov´a aplikace se skl´ad´a z v´ıce ˇci m´enˇe komplexn´ıch komponent, kter´e jsou uvedeny v n´asleduj´ıc´ım seznamu a kter´e budou d´ale v´ıce pops´any na n´asleduj´ıc´ıch ˇr´adc´ıch. Komponenta pro zad´av´ an´ı zdrojov´ ych soubor˚ u Komponenta pro v´ ybˇer poˇzadovan´ ych sign´al˚ u Komponenta pro zobrazen´ı a ohodnocov´an´ı vybran´ ych sign´al˚ u Komponenta pro pˇrehled ohodnocen´ı v cel´em z´ aznamu Komponenta pro zad´av´ an´ı pˇr´ıznak˚ u pro v´ ypoˇcet Komponenta pro zobrazen´ı vypoˇcten´ ych pˇr´ıznak˚ u
Komponenta pro zad´ av´ an´ı zdrojov´ ych soubor˚ u Komponenta, kter´a slouˇz´ı uˇzivateli pro zad´an´ı povinn´eho zdrojov´eho EDF souboru (kapitola 5.1) a nepovinn´eho znaˇckovac´ıho souboru XML. Uˇ zivatelsk´ y pohled Komponenta je rozdˇelena do dvou samostatn´ ych r´amc˚ u (viz obr´azek 5.7) pro zad´an´ı jednotliv´ ych soubor˚ u. Pro samotn´e zad´an´ı soubor˚ u m˚ uˇze uˇzivatel pouˇz´ıt bud’ klasick´ y zp˚ usob, kdy se mu po kliknut´ı do pˇr´ısluˇsn´eho r´amce zobraz´ı syst´emov´e okno pro vyhled´an´ı poˇzadovan´eho souboru, nebo m˚ uˇze poˇzadovan´ y soubor do pˇr´ısluˇsn´eho r´amce pˇresunout pomoc´ı myˇsi tzv. metodou Drag and drop.
Obr´azek 5.7: R´amce komponenty pro zad´av´an´ı zdrojov´ ych soubor˚ u. Pot´e, co uˇzivatele zad´a poˇzadovan´ y soubor, r´amec, kter´ y m´a soubor zadan´ y, deaktivuje moˇznost v´ ybˇeru ˇci pˇretaˇzen´ı souboru a zobraz´ı u ´plnou cestu k za40
dan´emu souboru a na jej´ı prav´e stranˇe kˇr´ıˇzek pro pˇr´ıpadn´e odebr´an´ı souboru a pˇresunut´ı se opˇet k moˇznosti jeho v´ ybˇeru, jak je vidˇet na obr´azku 5.8.
Obr´azek 5.8: Uk´azka zadan´eho zdrojov´eho soubor EDF. Pokud je uˇzivatel se zad´an´ım soubor˚ u spokojen´ y a zadal povinn´ y zdrojov´ y soubor EDF, zpˇr´ıstupn´ı se uˇzivateli tlaˇc´ıtko v podobˇe ˇsipky v prav´e ˇca´sti t´eto komponenty pro naˇcten´ı hlaviˇckov´ ych dat ze souboru EDF (viz kapitola 5.1) a zobrazen´ı vˇsech sign´al˚ u, kter´e soubor obsahuje. Implementace Z implementaˇcn´ıho hlediska se jedn´a o novˇe vytvoˇren´ y User Control reprezentovan´ y tˇr´ıdou a souborem XAML s n´azvem FilePicker, kter´ y se skl´ad´a z Gridu, ˇıˇre prvn´ıch dvou sloupc˚ kter´ y je rozdˇelen do tˇr´ı sloupc˚ u. S´ u je automatick´a dle prostoru, kter´ y umoˇzn ˇuje celkov´e okno a to z d˚ uvodu adaptivn´ıho layoutu pr´avˇe pˇri zmˇenˇe velikosti okna. Posledn´ı sloupec m´a jiˇz pevnˇe zadanou ˇs´ıˇrku dle velikosti tlaˇc´ıtka pro pokraˇcov´an´ı. Takto rozvrˇzen´a komponenta m´a nad jednotliv´ ymi ˇca´stmi urˇcen´e triggery a pˇr´ısluˇsn´ y data binding (viz kapitola 5.1), kter´e se staraj´ı o celkovou funkcionalitu tak, aby k´odu ve tˇr´ıdˇe na pozad´ı v Code Behind bylo co moˇzn´a nejm´enˇe a o vˇetˇsinu funkcionality bylo postar´ano v samotn´em jazyce XAML. Jak jiˇz bylo zm´ınˇeno, aby mohl uˇzivatel pokraˇcovat k n´asleduj´ıc´ı komponentˇe, je nutn´e, aby zadal zdrojov´ y soubor EDF, kdy zad´an´ı znaˇckovac´ıho souboru nem´a na zpˇr´ıstupnˇen´ı t´eto moˇznosti pokraˇcovat vliv. Toto chov´an´ı je implementov´ano dle n´asleduj´ıc´ı pravdivostn´ı tabulky:
41
A
B
Out
0
0
0
0
1
0
1
0
1
1
1
1
Tabulka 5.2: Pravdivostn´ı tabulka pro logiku zad´av´an´ı zdrojov´ ych soubor˚ u.
kde A rovno jedn´e znamen´a zad´an´ı zdrojov´eho souboru EDF a B rovno jedn´e znamen´a zad´an´ı znaˇckovac´ıho souboru XML. Tato tabulka vede na takovouto v´ yslednou funkci:
AB + AB = A,
(5.1)
jej´ıˇz v´ ysledek je ve sloupci Out.
Komponenta pro v´ ybˇ er poˇ zadovan´ ych sign´ al˚ u Komponenta, kter´a slouˇz´ı uˇzivateli pro v´ ybˇer sign´al˚ u naˇcten´ ych ze zadan´eho zdrojov´eho souboru EDF, kter´e poˇzaduje d´ale zobrazit a n´aslednˇe je ohodnocovat. Uˇ zivatelsk´ y pohled Pokud uˇzivatel zadal poˇzadovan´ y zdrojov´ y soubor typu EDF a klikl na tlaˇc´ıtko pro naˇcten´ı hlaviˇckov´ ych z´aznam˚ u ze souboru, pak mu tato komponenta naˇcte a zobraz´ı vˇsechny sign´aly, jejichˇz z´aznamy soubor EDF obsahuje. Zobrazen´ı tˇechto sign´al˚ u je moˇzn´e vidˇet na obr´azku 5.9.
Obr´azek 5.9: Komponenta pro v´ ybˇer poˇzadovan´ ych sign´al˚ u. 42
Kaˇzd´ y takto zobrazen´ y n´azev sign´alu se chov´a jako samostatn´e tlaˇc´ıtko funguj´ıc´ı jako klasick´ y checkbox pro v´ ybˇer ˇci zneplatnˇen´ı v´ ybˇeru, kdy po naˇcten´ı a prvn´ım zobrazen´ı jsou veˇsker´e sign´aly oznaˇceny jako vybran´e. Pokud vˇsak uˇzivatel zneplatn´ı veˇsker´e nab´ızen´e sign´aly, tlaˇc´ıtko pro potvrzen´ı a pokraˇcov´an´ı k vykreslen´ı polysomnogramu vybran´ ych sign´al˚ u se zneplatn´ı tak´e, viz obr´azek 5.10.
Obr´azek 5.10: Zneplatnˇen´ı vˇsech n´azv˚ u sign´al˚ u a tlaˇc´ıtka pro pokraˇcov´an´ı.
Implementace Z hlediska implementaˇcn´ıho se jedn´a o novˇe vytvoˇren´ y User Control s n´azvem SignalSelector, kter´ y reprezentuje tuto komponentu rozdˇelenou na dva ˇra´dky, kdy prvn´ı ˇr´adek obsahuje pouze data binding na text nadpisu a ve druh´em ˇr´adku je speci´aln´ı panel, kter´ y sv´e potomky z hlediska XML zalom´ı dle velikosti okna, a tak je opˇet vyˇreˇsen adaptivn´ı layout. Samotn´a komponenta vyˇzaduje data binding pole ˇretˇezc˚ u, kter´e obsahuje jednotliv´e n´azvy vˇsech sign´al˚ u obsaˇzen´ ych ve zdrojov´em souboru. Jakmile uˇzivatel potvrdil vybran´ı zdrojov´eho souboru v pˇredeˇsl´e komponentˇe, naˇcetla se hlaviˇcka s informacemi, mezi kter´ ymi jsou i informace o vˇsech sign´alech zaznamenan´ ych v souboru. Ty se pˇrevedly na pole ˇretˇezc˚ u a pˇredaly t´eto komponentˇe pr´avˇe pomoc´ı data binding. Komponenta pˇred sv´ ym vykreslen´ım projde cel´e pole pˇredan´ ych n´azv˚ u sign´al˚ u a pro kaˇzd´ y sign´al vytvoˇr´ı novou instanci vytvoˇren´e v´ ybˇerov´e komponenty, checkboxu, pro sign´al, kter´e se pˇred´a n´azev sign´alu pomoc´ı data binding pro zobrazen´ı. D´ale se instanci pˇriˇrad´ı spoleˇcn´a metoda pro obsluhu ud´alosti zmˇeny stavu. Takto vytvoˇren´a instance se n´aslednˇe pˇrid´a jako potomek z´alamovac´ıho panelu. Pokud uˇzivatel klikne na urˇcitou instanci tohoto checkboxu, zavol´a se spoleˇcn´a ud´alost, event, na zmˇenu stavu tlaˇc´ıtka, a pokud byl dan´ y sign´al zneplatnˇen, odebere se n´azev tohoto sign´alu z pole pro poˇzadovan´e sign´aly. Naopak, pokud bude 43
sign´al oznaˇcen jako vybran´ y, pˇrid´a se n´azev tohoto sign´alu do zm´ınˇen´eho pole. Velikost pole pro poˇzadovan´e sign´aly je jako data binding v data triggeru definovan´em v jazyce XAML, kter´ y se star´a o zneplatnˇen´ı tlaˇc´ıtka pro pokraˇcov´an´ı, pokud je pole pr´azdn´e, a kter´ y je zobrazen na obr´azku 5.11. Pokud vˇsak uˇzivatel zad´a alespoˇ n jeden jedin´ y sign´al, tlaˇc´ıtko je pˇr´ıstupn´e a uˇzivatel tak m˚ uˇze pokraˇcovat k dalˇs´ı komponentˇe pro vykreslen´ı a ohodnocov´an´ı vybran´ ych sign´al˚ u.
Obr´azek 5.11: Trigger pro zneplatnˇen´ı tlaˇc´ıtka pro pokraˇcov´an´ı. Zjednoduˇsen´e sch´ema implementaˇcn´ı struktury t´eto komponenty je na obr´azku 5.12.
44
Obr´azek 5.12: Zjednoduˇsen´ y diagram komponenty pro v´ ybˇer poˇzadovan´ ych sign´al˚ u.
45
Komponenta pro zobrazen´ı a ohodnocov´ an´ı vybran´ ych sign´ al˚ u Komponenta, kter´a slouˇz´ı uˇzivateli k n´ahledu na jednotliv´a vykreslen´a ˇcasov´a okna poˇzadovan´ ych sign´al˚ u a tak´e k moˇznosti ohodnotit libovolnˇe vybran´ y ˇcasov´ y u ´sek z´aznamu poˇzadovanou znaˇckou. Uˇ zivatelsk´ y pohled Jakmile je uˇzivatel spokojen´ y s v´ ybˇerem poˇzadovan´ ych sign´al˚ u a potvrd´ı tento v´ ybˇer tlaˇc´ıtkem pro pokraˇcov´an´ı k zobrazen´ı vybran´ ych sign´al˚ u, zobraz´ı se mu tato nejkomplexnˇejˇs´ı komponenta sloˇzen´a z menˇs´ıch d´ılˇc´ıch komponent. Tyto d´ılˇc´ı komponenty jsou mezi sebou propojeny a tvoˇr´ı tuto velkou komponentu jako jeden velk´ y celek pro zobrazov´an´ı a ohodnocov´an´ı vybran´ ych a naˇcten´ ych sign´al˚ u. Obr´azek 5.13 zobrazuje tuto komponentu vykresluj´ıc´ı vybran´e sign´aly.
46
47
oro-nasal, EOG horizontal, EEG Pz-Oz, EEG Fpz-Cz.
Obr´azek 5.13: Vykreslen´ı vybran´ ych sign´al˚ u. Na obr´azku jsou vykresleny n´asleduj´ıc´ı sign´aly: EMG submental, Resp
Jak je moˇzn´e vidˇet na obr´azku 5.13, komponenta umoˇzn ˇuje zobrazen´ı vybran´ ych sign´al˚ u ve zvolen´em rozsahu ˇcasov´eho okna, kter´ y je moˇzn´ y zadat pomoc´ı takzvan´eho Slideru, kter´ y je na obr´azku komponenty u ´plnˇe ve spodn´ı ˇc´asti. Pˇri prvn´ım vykreslen´ı je pro uˇzivatele automaticky pˇredvolen rozsah 30 sekund, coˇz je nejˇcastˇejˇs´ı rozsah ˇcasov´eho okna pˇri ohodnocov´an´ı PSG z´aznam˚ u. Pˇrechod mezi jednotliv´ ymi ˇcasov´ ymi okny umoˇzn ˇuj´ı postrann´ı tlaˇc´ıtka kolem vykreslen´ ych dat, kdy prav´e tlaˇc´ıtko slouˇz´ı k posunu ˇcasov´eho okna dopˇredu a lev´e tlaˇc´ıtko nazpˇet. Je tak´e moˇzn´e si povˇsimnout, ˇze lev´e tlaˇc´ıtko m´a na obr´azku ˇsedivou barvu, kdeˇzto tlaˇc´ıtko prav´e m´a barvu svˇetle modrou. To je zp˚ usoben´e t´ım, ˇze je zobrazeno prvn´ı ˇcasov´e okno a nen´ı moˇzn´e se na ˇcasov´e ose posunout nazpˇet. Opaˇcnˇe se prav´e tlaˇc´ıtko zneplatn´ı, pokud uˇzivatel dojde aˇz na posledn´ı ˇcasov´e okno. Aby uˇzivatel nebyl nucen nˇekolikan´asobnˇe klikat na tlaˇc´ıtka pro posun po ˇcasov´e ose a mohl si zobrazit poˇzadovan´e ˇcasov´e okno, je pod vykreslen´ ym grafem po cel´e jeho d´elce Slider pro posun na poˇzadovan´e ˇcasov´e okno. Co se samostatn´eho vykreslen´ı sign´al˚ u t´ yˇce, jednotliv´e sign´aly jsou do grafu vykresleny se spoleˇcnou ˇcasovou osou X a s vlastn´ı hodnotovou osou Y. U kaˇzd´eho sign´alu je nav´ıc vykresleno normovan´e minimum a maximum dan´eho sign´alu a je umoˇznˇeno koleˇckem myˇsi pˇribliˇzovat ˇci oddalovat jednotliv´e sign´aly v r´amci jejich osy Y. Obr´azek 5.14 zobrazuje vybran´ y sign´al ve v´ ychoz´ı naˇcten´e podobˇe a pot´e v podobˇe pˇribl´ıˇzen´e. Je na nˇem tak´e moˇzn´e vidˇet zm´ınˇen´e normovan´e minimum a maximum.
48
Obr´azek 5.14: V´ ychoz´ı a zvˇetˇsen´e zobrazen´ı PSG z´aznamu v grafu. Na obr´azku je vykreslen´ y sign´al EEG Fpz-Cz. Pro pˇresn´ y hodnotov´ yu ´daj v urˇcit´em ˇcase m˚ uˇze uˇzivatel podrˇzet lev´e tlaˇc´ıtko myˇsi nad vykreslen´ ym pr˚ ubˇehem sign´alu a zobraz´ı se mu informace s pˇresnou hodnotou a pˇresn´ ym ˇcasem v dan´em bodˇe sign´alu. Tato vlastnost je zobrazena na obr´azku 5.15.
49
Obr´azek 5.15: Zobrazen´ı informace pro zvolen´ y ˇcasov´ yu ´sek. Na obr´azku je vykreslen´ y sign´al EEG Fpz-Cz. Tato komponenta uˇzivateli umoˇzn ˇuje tak´e pˇrid´avat ohodnocen´ı pro vybran´ y ˇcasov´ yu ´sek z´aznamu. Pˇrid´an´ı hodnot´ıc´ı znaˇcky uˇzivatel uˇcin´ı tak, ˇze v grafu vykreslen´ ych sign´al˚ u, kde chce, aby dan´a znaˇcka zaˇc´ınala, stiskne a podrˇz´ı prav´e tlaˇc´ıtko myˇsi a posunem myˇsi se stisknut´ ym prav´ ym tlaˇc´ıtkem urˇc´ı velikost pˇrid´avan´e znaˇcky a tlaˇc´ıtko pust´ı, pokud s touto velikost´ı bude spokojen. Pokud uˇzivatel nebude s v´ ybˇerem spokojen´ y, postaˇc´ı, kdyˇz klikne prav´ ym tlaˇc´ıtkem kamkoli do grafu, a v´ ybˇer zmiz´ı. Jakmile uˇzivatel ukonˇc´ı v´ ybˇer u ´seku, zobraz´ı se ve spodn´ı ˇc´asti komponenty takzvan´ y ComboBox s pˇredpˇripraven´ ymi znaˇckami (viz obr´azek 5.16), z kter´eho m˚ uˇze uˇzivatel jednu znaˇcku vybrat a pˇriˇradit ji v´ ybˇeru. Pokud si uˇzivatel z pˇredpˇripraven´ ych znaˇcek nevybere, ComboBox umoˇzn ˇuje uˇzivateli zadat libovolnou znaˇcku, kter´e je po jej´ım pˇrid´an´ı automaticky pˇridˇelena urˇcit´a barva, kterou pot´e bude oznaˇcen´ yu ´sek zv´ yraznˇen. Barva m´a urˇcit´ y stupeˇ n pr˚ uhlednosti, coˇz umoˇzn ˇuje pˇrekr´ yv´an´ı jednotliv´ ych u ´sek˚ u se znaˇckami. ComboBox umoˇzn ˇuje zadat aˇz 15 libovoln´ ych znaˇcek. Pokud uˇzivatel pˇri v´ ybˇeru zdrojov´ ych soubor˚ u zadal i soubor se znaˇckami jiˇz existuj´ıc´ımi, bude ComboBox obsahovat pouze ty znaˇcky, kter´e jsou obsaˇzeny ve znaˇckovac´ım souboru XML, a u ´seky znaˇcek obsaˇzen´e ve znaˇckovac´ım souboru budou vykresleny z polysomnografick´em z´aznamu.
50
51
nasal, EOG horizontal, EEG Pz-Oz, EEG Fpz-Cz.
Obr´azek 5.16: Uˇzivatelem vybran´ yu ´sek pro ohodnocen´ı. Na obr´azku jsou vykresleny n´asleduj´ıc´ı sign´al: Resp oro-
Pokud si uˇzivatel v ComboBoxu vybere poˇzadovanou znaˇcku ˇci do nˇej dop´ıˇse jin´ y n´azev znaˇcky a klikne na tlaˇc´ıtko Oznaˇcit“, pˇriˇrad´ı se vybran´a ˇci zadan´a ” znaˇcka vybran´emu u ´seku, v prav´e horn´ı ˇc´asti komponenty se zobraz´ı tlaˇc´ıtko pro moˇznost exportu zadan´ ych znaˇcek do znaˇckovac´ıho souboru XML a zmiz´ı ComboBox pro v´ ybˇer znaˇcky. Vˇse bude tak, jak je zobrazeno na obr´azku 5.17.
52
53
EOG horizontal, EEG Pz-Oz, EEG Fpz-Cz.
Obr´azek 5.17: Uˇzivatelem ohodnocen´ y vybran´ yu ´sek. Na obr´azku jsou vykresleny n´asleduj´ıc´ı sign´aly: Resp oro-nasal,
Jakmile uˇzivatel klikne na tlaˇc´ıtko Exportovat znaˇcky“, bude vyzv´an k vybr´an´ı ” sloˇzky, do kter´e m´a b´ yt soubor XML se vˇsemi znaˇckami v cel´em sign´alu uloˇzen. Znaˇcky obsaˇzen´e v souboru XML maj´ı jednoduchou strukturu, kdy jsou v elementu <marking> uvedeny jednotliv´e elementy <mark> s atributy name, start a duration. Atribut name ud´av´a n´azev znaˇcky, atribut start ud´av´a dobu od zaˇc´atku z´aznamu, kdy znaˇcka zaˇcala, a atribut duration ud´av´a dobu, po kterou znaˇcka trv´a. Pˇr´ıklad takto vyexportovan´eho souboru je uveden na obr´azku 5.18.
Obr´azek 5.18: Uk´azka vyexportovan´ ych znaˇcek v souboru XML.
Implementace Z implementaˇcn´ıho pohledu se jedn´a o nejkomplexnˇejˇs´ı a nejsloˇzitˇejˇs´ı komponentu v cel´e aplikaci a celkov´ y implementaˇcn´ı popis by byl tedy velice rozs´ahl´ y, takˇze obsah t´eto ˇc´asti bude omezen pouze na jej´ı nejd˚ uleˇzitˇejˇs´ı aspekty. Tak jako v pˇredeˇsl´ ych komponent´ach se opˇet jedn´a o novˇe vytvoˇren´ y User Control reprezentovan´ y tˇr´ıdou a souborem XAML s n´azvem Polysomnogram. Co se datov´eho kontextu t´eto komponenty t´ yˇce, jakmile uˇzivatel potvrd´ı v´ ybˇer sign´al˚ u pro zobrazen´ı, naˇctou se cel´e z´aznamy tˇechto sign´al˚ u ze zdrojov´eho souboru EDF a jsou pomoc´ı data binding pˇred´any t´eto komponentˇe. Zde je d˚ uleˇzit´e zd˚ uraznit, ˇze dokud uˇzivatel neklikne na kˇr´ıˇzek pro odebr´an´ı zdrojov´eho souboru, tak se jiˇz jednou naˇcten´e informace z tohoto souboru nenaˇc´ıtaj´ı znovu, coˇz pˇrisp´ıv´a k v´ yrazn´emu zrychlen´ı, pokud uˇzivatel ˇcasto mˇen´ı v´ ybˇer poˇzadovan´ ych sign´al˚ u. Pˇr´ıklad naˇc´ıt´an´ı zdrojov´ ych dat ze souboru EDF pˇri zmˇen´ach poˇzadovan´ ych sign´al˚ u je uveden na obr´azku 5.19.
54
Obr´azek 5.19: Naˇc´ıt´an´ı dat ze souboru EDF pˇri zmˇen´ach poˇzadovan´ ych sign´al˚ u. Tak jako v pˇredeˇsl´ ych komponent´ach je i tato komponenta do velk´e ˇca´sti pops´ana jazykem XAML s velk´ ym mnoˇzstv´ım trigger˚ u staraj´ıc´ıch se o obsluhu velk´eho mnoˇzstv´ı ud´alost´ı a je takt´eˇz opˇet rozdˇelena do Grid blok˚ u s automatickou ˇci roztaˇznou velikost´ı pro dosaˇzen´ı adaptivn´ıho layoutu. Nicm´enˇe se takto komplexn´ı komponenta neobeˇsla bez velk´eho mnoˇzstv´ı k´odu v Code Behind, kde bylo nutn´e nastavit PlotModel grafu z knihovny OxyPlot (viz 5.1), jehoˇz nastaven´ı je zobrazeno na obr´azku 5.20.
55
Obr´azek 5.20: Code Behind pro nastaven´ı PlotModel komponenty grafu. D´ale bylo potˇreba vykreslovat ˇcasov´a okna grafu a pˇrekreslovat je, pokud uˇzivatel pˇreklikl na zobrazen´ı jin´eho ˇcasov´eho okna. Hodnoty celkov´eho z´aznamu pro dan´ y sign´al jsou uchov´av´any v jednom cel´em poli hodnot a bylo tedy nutn´e vypoˇc´ıtat vˇzdy poˇca´teˇcn´ı index, kter´ y urˇcoval, kde hodnoty pro dan´e ˇcasov´e okno v poli zaˇc´ınaj´ı, a koncov´ y index, kter´ y urˇcoval, kde hodnoty pro dan´e ˇcasov´e okno v poli konˇc´ı. U takov´ehoto v´ ypoˇctu bylo nutn´e br´at v potaz nejen ˇc´ıslo aktu´aln´ıho ˇcasov´eho okna, ale tak´e velikost zobrazovan´eho okna a vzorkovac´ı frekvenci dan´eho sign´alu. Poˇc´ateˇcn´ı index se vypoˇc´ıt´a takto:
start = W N ∗ W W ∗ SF a koncov´ y index takto: 56
(5.2)
end = (W N + 1) ∗ W W ∗ SF,
(5.3)
kde hodnota W N pˇredstavuje ˇc´ıslo ˇcasov´eho okna, hodnota W W ˇs´ıˇri ˇcasov´eho okna a hodnota SF je hodnota vzorkovac´ı frekvence pro dan´ y sign´al. Celkov´a implementace t´eto komponenty je uvedena ve zdrojov´ ych k´odech t´eto aplikace na pˇriloˇzen´em CD.
Komponenta pro pˇ rehled ohodnocen´ı v cel´ em z´ aznamu Komponenta, kter´a slouˇz´ı uˇzivateli k pˇrehledu vˇsech uˇzivatelem zadan´ ych ohodnocen´ıch v celkov´em z´aznamu. Uˇ zivatelsk´ y pohled Pokud si chce uˇzivatel zobrazit celkov´ y pˇrehled vˇsech j´ım zadan´ ych nebo naˇcten´ ych ohodnocen´ı v cel´em z´aznamu, mus´ı nejprve ve spodn´ı ˇca´sti aplikace urˇcit hodnotu intervalu segmentace a pot´e kliknout na tlaˇc´ıtko, kter´e vede k segmentaci sign´alu (obr. 5.21).
Obr´azek 5.21: ComboBox pro v´ ybˇer intervalu segmentace z´aznamu. 57
Jakmile uˇzivatel v ComboBoxu s hodnotami moˇzn´ ych interval˚ u segmentace vybere poˇzadovan´ y interval segmentace a klikne na tlaˇc´ıtko pro pokraˇcov´an´ı k segmentaci, zobraz´ı se mu dalˇs´ı okno aplikace, kter´e naopak od prvn´ıho okna, kter´e slouˇz´ı k v´ ybˇeru, zobrazen´ı a ohodnocov´an´ı sign´al˚ u, slouˇz´ı k analyzov´an´ı z´aznamu. V prvn´ı ˇca´sti tohoto novˇe zobrazen´eho okna aplikace je uvedena pr´avˇe tato komponenta pro pˇrehled ohodnocen´ı v cel´em z´aznamu, kter´a je zobrazena na obr´azku 5.22.
Obr´azek 5.22: Komponenta pro pˇrehled ohodnocen´ı v cel´em z´aznamu.
Jak je na obr´azku vidˇet, komponenta je graf zobrazuj´ıc´ı jednotliv´e znaˇcky v z´aznamu na ose Y a ˇcas od zaˇca´tku do konce z´aznamu na ose X. V jednotliv´ ych os´ach Y pro jednotliv´e znaˇcky jsou vykresleny vˇzdy barevn´e obd´eln´ıky, kter´e zaˇc´ınaj´ı v ˇcase na ose X, kde dan´a znaˇcka v z´aznamu zaˇc´ın´a a konˇc´ı v ˇcase na ose X, kde znaˇcka v z´aznamu konˇc´ı. Jednotliv´e obd´eln´ıky jsou odliˇseny barevnˇe tak, aby jejich barva v t´eto komponentˇe odpov´ıdala barvˇe znaˇcky v komponentˇe pro vykreslen´ı a ohodnocov´an´ı z´aznamu. Pro lepˇs´ı uˇzivatel˚ uv pˇrehled umoˇzn ˇuje komponenta pˇribl´ıˇzit u ´sek z´aznamu, na kter´ y ukazuje kurzor myˇsi, pomoc´ı ot´aˇcen´ım stˇredn´ıho koleˇcka myˇsi smˇerem od uˇzivatele ˇci zam´aˇcknut´ım, pˇridrˇzen´ım stˇredn´ıho koleˇcka myˇsi a oznaˇcen´ım poˇzadovan´eho u ´seku taˇzen´ım myˇsi, kdy pˇri uvolnˇen´ı tlaˇc´ıtka dojde k pˇribl´ıˇzen´ı vybran´eho u ´seku. Pokud si uˇzivatel zadan´ yu ´sek pˇribl´ıˇzil, umoˇzn ˇuje komponenta posun ˇcasov´e osy v tomto pˇribl´ıˇzen´ı, pokud uˇzivatel pˇridrˇz´ı stlaˇcen´e prav´e tlaˇc´ıtko myˇsi. Pro zpˇetn´e odd´alen´ı se vyuˇz´ıv´a ot´aˇcen´ı stˇredn´ıho koleˇcka myˇsi smˇerem k uˇzivateli. Uk´azku pˇribl´ıˇzen´ı znaˇcek vybran´eho u ´seku z´aznamu zobrazuje obr´azek 5.23. 58
Obr´azek 5.23: Pˇribl´ıˇzen´e znaˇcky vybran´eho u ´seku z´aznamu. Implementace Z hlediska implementaˇcn´ıho se jedn´a o novˇe vytvoˇren´ y User Control s n´azvem Markupgram, kter´ y reprezentuje tuto komponentu rozdˇelenou na dva ˇr´adky, kdy prvn´ı ˇr´adek obsahuje pouze data binding na text nadpisu a ve druh´em ˇr´adku komponenta PlotView z knihovny OxyPlot, kter´a se star´a o vykreslen´ı zadan´ ych hodnot. Proto, aby bylo moˇzn´e komponentˇe PlotView v Behind Code t´eto komponenty nastavit data binding pro parametr PlotModel, je nutn´e, aby tato komponenta ve sv´em data binding dostala pole znaˇcek obsaˇzen´ ych v cel´em z´aznamu. Jednotliv´e znaˇcky v tomto poli jsou reprezentov´any tˇr´ıdou Annotation, kter´a nese informace o n´azvu znaˇcky, minim´aln´ı a maxim´aln´ı hodnotˇe osy X a barvu t´eto znaˇcky. Pokud je takov´eto pole znaˇcek komponentˇe pˇred´ano, komponenta vytvoˇr´ı z dan´eho pole takzvan´ y Lookup, coˇz je struktura, kter´a vytvoˇr´ı skupiny pod jednotliv´ ymi kl´ıˇci, coˇz jsou unik´atn´ı n´azvy znaˇcek. Do tˇechto jednotlivˇe vytvoˇren´ ych skupin se uloˇz´ı vˇzdy pole instanc´ı vˇsech znaˇcek se stejn´ ym n´azvem.
59
Obr´azek 5.24: Zn´azornˇen´ı pˇrevodu pole znaˇcek na Lookup. Jakmile je pole pˇrevedeno na Lookup, jak zn´azorˇ nuje obr´azek 5.24, projde se vytvoˇren´ y Lookup tak, ˇze vnˇejˇs´ı cyklus proch´az´ı seˇrazen´e unik´atn´ı n´azvy jednotliv´ ych znaˇcek v Lookup. Pro kaˇzd´ y unik´atn´ı n´azev znaˇcky je vytvoˇrena instance osy Y, kter´a je n´aslednˇe pˇrid´ana do instance tˇr´ıdy PlotModel. Po pˇrid´an´ı osy Y n´asleduje vnoˇren´ y cyklus proch´azej´ıc´ı jiˇz samotn´a pole instanc´ı tˇr´ıdy Annotation pro dan´ y n´azev znaˇcky. Jednotliv´e prvky pole reprezentuj´ıc´ı jednotliv´e znaˇcky jsou pˇrid´any do vytvoˇren´e osy Y v dan´ y ˇcas na ose X. Pokud jsou cykly dokonˇceny, pˇred´a se nastaven´a instance tˇr´ıdy PlotModel komponentˇe PlotView pro vykreslen´ı grafu s pˇrehledem znaˇcek v cel´em z´aznamu. Zjednoduˇsen´ y diagram pr˚ uchodu cykly je uveden na obr´azku 5.25.
60
Obr´azek 5.25: Zjednoduˇsen´ y diagram zpracov´an´ı Lookup se znaˇckami v z´aznamu. Pokud celkov´ y z´aznam neobsahuje ani jednu znaˇcku, je do PlotModel pˇrid´ana informace o absenci znaˇcek v cel´em z´aznamu a uˇzivatel vid´ı informaci tak, jak je uvedeno na obr´azku 5.26.
Obr´azek 5.26: Zobrazen´ı informace o absenci znaˇcek v z´aznamu.
61
Komponenta pro zad´ av´ an´ı pˇ r´ıznak˚ u pro v´ ypoˇ cet Komponenta, kter´a slouˇz´ı uˇzivateli k zad´an´ı poˇzadovan´ ych pˇr´ıznak˚ u, kter´e se maj´ı vypoˇc´ıtat a v n´asleduj´ıc´ı komponentˇe vykreslit. Uˇ zivatelsk´ y pohled Jakmile se uˇzivatel nach´az´ı ve druh´em oknˇe aplikace, tak jiˇz zadal interval segmentace, kter´ ym se budou jednotliv´a ohodnocen´ı dˇelit na menˇs´ı segmenty. Aby vˇsak mohl zad´avat pˇr´ıznaky pro v´ ypoˇcet, mus´ı nejprve zadat alespoˇ n jednu ohodnocuj´ıc´ı znaˇcku pro nahl´ıˇzen´ y z´aznam. Pokud tak neuˇcin´ı, je mu tato komponenta sice zobrazena, ale neumoˇzn ˇuje mu zad´avat pˇr´ıznaky pro v´ ypoˇcet. Takov´eto zobrazen´ı je vidˇet na obr´azku 5.27.
Obr´azek 5.27: Nepˇr´ıstupn´a komponenta pro zad´av´an´ı pˇr´ıznak˚ u pro v´ ypoˇcet. Takov´eto chov´an´ı je z toho d˚ uvodu, ˇze pˇr´ıznaky se vypoˇc´ıt´avaj´ı pouze ze segment˚ u vytvoˇren´ ych segmentac´ı znaˇcek zadan´ ych uˇzivatelem. Segmentace bude v´ıce pops´ana v implementaˇcn´ım popisu t´eto komponenty. Pokud vˇsak uˇzivatel zad´a alespoˇ n jedinou znaˇcku do prohl´ıˇzen´eho z´aznamu, je tato komponenta zpˇr´ıstupnˇena (viz obr´azek 5.28) a m˚ uˇze jiˇz zad´avat jednotliv´e pˇr´ıznaky pro v´ ypoˇcet.
62
Obr´azek 5.28: Komponenta pro zad´av´an´ı pˇr´ıznak˚ u pro v´ ypoˇcet. Zad´an´ı prob´ıh´a tak, ˇze si uˇzivatel v prvn´ım Comoboxu na obr´azku 5.29 vybere druh sign´alu, pro kter´ y chce dan´ y pˇr´ıznak vypoˇc´ıtat.
Obr´azek 5.29: V´ ybˇer sign´alu pro v´ ypoˇcet pˇr´ıznaku. V druh´em ComboBoxu, zobrazen´em na obr´azku 5.30, si uˇzivatel vybere v´ ypoˇcetn´ı metodu, kterou budou pˇr´ıznaky vypoˇcteny.
63
Obr´azek 5.30: V´ ybˇer metody pro v´ ypoˇcet pˇr´ıznaku. Pokud v´ ypoˇcetn´ı metoda vyˇzaduje zad´an´ı frekvenˇcn´ıho rozsahu, ve kter´em se bude pˇr´ıznak poˇc´ıtat, je zobrazen tˇret´ı ComboBox pro zad´an´ı tohoto rozsahu, jak je vidˇet na obr´azku 5.29 a 5.30. Pokud v´ ypoˇcetn´ı metoda frekvenˇcn´ı rozsah nevyˇzaduje, tˇret´ı ComboBox se nezobraz´ı (viz obr´azek 5.31).
Obr´azek 5.31: Vybran´ y pˇr´ıznak bez frekvenˇcn´ıho rozsahu. Je-li uˇzivatel s nastaven´ım pˇr´ıznaku pro v´ ypoˇcet spokojen´ y, staˇc´ı, aby klikl na tlaˇc´ıtko plus a pˇr´ıznak se oznaˇc´ı jako pˇr´ıznak pˇridan´ y a uˇzivatel bude moci zadat dalˇs´ı pˇr´ıznak k v´ ypoˇctu. Pokud bude cht´ıt uˇzivatel jeden z pˇr´ıznak˚ u jiˇz zadan´ ych odebrat, staˇc´ı, aby klikl na tlaˇc´ıtko kˇr´ıˇzku u dan´eho pˇr´ıznaku, a pˇr´ıznak se odebere. Pˇr´ıklad nˇekolika zadan´ ych pˇr´ıznak˚ u pro v´ ypoˇcet je zobrazen na obr´azku 5.32.
64
Obr´azek 5.32: Pˇr´ıklad zadan´ ych pˇr´ıznak˚ u pro v´ ypoˇcet. Na obr´azku jsou pro sign´al EEG Fpz-Cz zad´any tyto pˇr´ıznaky: MAX, PSDA α (8 - 12 Hz), FFT γ (30 - 50 Hz), SKEW. Jak je na obr´azku 5.32 vidˇet, pokud je jiˇz uˇzivatel spokojen´ y se vˇsemi zadan´ ymi pˇr´ıznaky, je vpravo pod pˇr´ıznaky tlaˇc´ıtko, kter´ ym uˇzivatel vyvol´a v´ ypoˇcet vˇsech zadan´ ych pˇr´ıznak˚ u. Toto tlaˇc´ıtko je uˇzivateli nepˇr´ıstupn´e, pokud nen´ı zad´an ani jeden pˇr´ıznak pro vypoˇcten´ı. Vedle tlaˇc´ıtka je tak´e zobrazena v´ ystraˇzn´a ikona, na kterou, kdyˇz uˇzivatel najeden myˇs´ı, se zobraz´ı text o tom, ˇze operace v´ ypoˇctu pˇr´ıznak˚ u m˚ uˇze b´ yt velice ˇcasovˇe a pamˇet’ovˇe n´aroˇcn´a. Vˇsechny pˇr´ıznaky, kter´e jsou v aplikaci implementov´any a kter´e uˇzivatel m˚ uˇze zadat, jsou uvedeny v tabulce 5.3.
65
Zkratka N´ azev
Frekvenˇ cn´ı rozsah α (8 - 12 Hz) β (12 - 30 Hz)
FFT
γ (30 - 50 Hz)
Fast Fourier Transform
δ (0,5 - 4,0 Hz) θ (4 - 7 Hz) sp´ankov´a vˇretena (12 - 14 Hz)
KURT
Kurtosis
MAX
Maximum
MEAN
Mean
MIN
Minimum α (8 - 12 Hz) β (12 - 30 Hz)
PSDA
Power Spectral Density - Absolute
γ (30 - 50 Hz) δ (0,5 - 4,0 Hz) θ (4 - 7 Hz) sp´ankov´a vˇretena (12 - 14 Hz) α (8 - 12 Hz) β (12 - 30 Hz)
PSDR
Power Spectral Density - Relative
γ (30 - 50 Hz) δ (0,5 - 4,0 Hz) θ (4 - 7 Hz) sp´ankov´a vˇretena (12 - 14 Hz)
SKEW
Skewness
STD
Standard Deviation Tabulka 5.3: Seznam vˇsech pˇr´ıznak˚ u, kter´e byly implementov´any.
Implementace Z implementaˇcn´ıho hlediska se jedn´a o novˇe vytvoˇren´ y User Control s n´azvem ComputationalSymptomsSelector, kter´ y reprezentuje tuto komponentu rozdˇelenou 66
na dva ˇra´dky, kdy prvn´ı ˇra´dek obsahuje pouze data binding na text nadpisu a ve druh´em ˇra´dku je speci´aln´ı panel, kter´ y sv´e potomky z hlediska XML zalom´ı dle velikosti okna, a tak je opˇet vyˇreˇsen adaptivn´ı layout stejnˇe jako u komponenty pro v´ ybˇer poˇzadovan´ ych sign´al˚ u. Jako prvn´ı potomek v panelu pro zalomen´ı potomk˚ u je zadan´ y novˇe vytvoˇren´ y User Control s n´azvem ComputationalSymptom, kter´ y pˇredstavuje komponentu pro zad´an´ı jednoho pˇr´ıznaku. Tato komponenta m´a dva stavy, kdy prvn´ı v´ ychoz´ı stav je stav, kdy komponenta umoˇzn ˇuje v´ ybˇer ze zobrazen´ ych ComboBox˚ u, a druh´ y stav, kdy uˇzivatel klikne na tlaˇc´ıtko plus a komponenta uzamkne vybran´e hodnoty v ComboBoxech a zobraz´ı tlaˇc´ıtko kˇr´ıˇzku pro n´avrat do prvn´ıho stavu. Tato komponenta umoˇzn ˇuje nav´azat na svou zmˇenu stavu venkovn´ı metodu pro obsluhu ud´alosti. ComputationalSymptomsSelector, kter´ y ve v´ ychoz´ım stavu obsahuje jednu instanci komponenty ComputationalSymptom, m´a implementovanou pr´avˇe takovou metodu pro obsluhu ud´alosti, kter´a se star´a o pˇrid´av´an´ı dalˇs´ıch komponent nebo pro odebr´an´ı jiˇz zadan´ ych typu ComputationalSymptom. Jakmile tedy uˇzivatel klikne na tlaˇc´ıtko plus, ˇc´ımˇz pˇrepne danou komponentu do druh´eho stavu, vyvol´a se ud´alost, kterou obslouˇz´ı pˇridˇelen´a metoda. Metoda zjist´ı, zda dan´a komponenta byla pˇrepnuta do prvn´ıho (odebr´an´ı) ˇci druh´eho stavu (pˇrid´an´ı). Pokud byla komponenta vyvol´avaj´ıc´ı ud´alost pˇrepnuta do druh´eho stavu, pˇrid´a se do pole pro pˇr´ıznaky novˇe zadan´ y pˇr´ıznak reprezentovan´ y tˇr´ıdou Symptom, kter´ y obsahuje zadan´e hodnoty z t´eto komponenty. N´aslednˇe se vytvoˇr´ı nov´a instance komponenty ComputationalSymptom, kter´e je nastavena totoˇzn´a metoda pro obsluhu ud´alosti, a tato instance se pˇrid´a do panelu komponenty ComputationalSymptomsSelector. V opaˇcn´em pˇr´ıpadˇe se odebere komponenta vyvol´avaj´ıc´ı ud´alost z panelu komponenty ComputationalSymptomsSelector a tak´e se odebere pˇr´ısluˇsn´a instance tˇr´ıdy Symptom z pole zadan´ ych pˇr´ıznak˚ u. Diagram zn´azorˇ nuj´ıc´ı pˇr´ıklad
67
takov´eho pˇrid´an´ı a odebr´an´ı pˇr´ıznak˚ u je zobrazen na obr´azku 5.33.
Obr´azek 5.33: Zjednoduˇsen´ y diagram zad´an´ı a odebr´an´ı pˇr´ıznak˚ u. Hlavn´ı implementaˇcn´ı ˇca´st´ı t´eto komponenty nen´ı zad´av´an´ı pˇr´ıznak˚ u pro v´ ypoˇcet, ale jejich samotn´ y v´ ypoˇcet. V´ ypoˇcet pˇr´ıznak˚ u prob´ıh´a tak, ˇze se veˇsker´e znaˇcky v dan´em z´aznamu rozdˇel´ı na menˇs´ı segmenty dle pˇredem zvolen´eho intervalu. Rozdˇelen´ı znaˇcek prob´ıh´a tak, ˇze se pro kaˇzdou znaˇcku vytvoˇr´ı instance tˇr´ıdy Segment. T´eto instanci se pˇri jej´ım vytvoˇren´ı v konstruktoru pˇred´a poˇca´teˇcn´ı hodnota na ose X, koncov´a hodnota na ose X a uˇzivatelem vybran´ y interval segmentace. Jakmile jsou tyto parametry konstruktoru pˇred´any, je vytv´aˇren´ y segment, reprezentuj´ıc´ı celou znaˇcku, rozdˇelen na menˇs´ı segmenty reprezentovan´e tak´e tˇr´ıdou Segment a jsou pˇrid´any jako potomci nadˇrazen´eho segmentu. Nadˇrazen´ y segment reprezentuj´ıc´ı celou znaˇcku je pˇrid´an do pole vˇsech nadˇrazen´ ych segment˚ u. Segmentov´an´ı znaˇcky je implementov´ano tak, ˇze pro kaˇzdou znaˇcku se zaˇcne v poˇca´teˇcn´ım ˇcase znaˇcky a od tohoto ˇcasu se bude znaˇcka konstantnˇe segmentovat 68
dle zvolen´e konstantn´ı doby segmentace. Pokud zbyl´a ˇca´st znaˇcky bude kratˇs´ı neˇzli p˚ ul sekundy, zbytek se pˇriˇrad´ı k pˇredeˇsl´emu segmentu, kter´ y tak bude o nepatrnou ˇca´st delˇs´ı. V opaˇcn´em pˇr´ıpadˇe, pokud zbytek znaˇcky bude p˚ ul sekundy nebo delˇs´ı, ale nebude dosahovat pln´e d´elky segmentu, bude z tohoto zbytku vytvoˇren samostatn´ y kratˇs´ı segment. Zn´azornˇen´ı segmentace takov´eto znaˇcky je zobrazeno na obr´azku 5.34.
Obr´azek 5.34: Zn´azornˇen´ı segmentace zadan´e znaˇcky.
Jakmile jsou veˇsker´e znaˇcky rozdˇeleny na segmenty, projde se cel´e pole zadan´ ych pˇr´ıznak˚ u v cyklu. V tomto cyklu se vˇzdy zpracov´av´a uˇzivatelem zadan´ y pˇr´ıznak, kter´emu jsou pˇridˇeleny vypoˇcten´e hodnoty pro vˇsechny znaˇcky rozdˇelen´e na segmenty. Kaˇzd´ y v´ ypoˇcet tˇechto hodnot prob´ıh´a tak, ˇze v cyklu jsou iterov´any vˇsechny znaˇcky reprezentovan´e tˇr´ıdou Segment, kter´a jako sv´e potomky obsahuje podsegmenty dan´e znaˇcky. Vnitˇrn´ı cyklus zpracuje vˇsechny podsegmenty segmentu z vnˇejˇs´ıho cyklu a pro kaˇzd´ y podsegment vypoˇcte hodnotu dle zpracov´avan´eho pˇr´ıznaku pro dan´ y sign´al. Zjednoduˇsen´ y diagram pr˚ ubˇehu v´ ypoˇctu ´ pˇr´ıznak˚ u pro rozdˇelen´e znaˇcky je uveden na obr´azku 5.35. Uplnou implementaci jednotliv´ ych v´ ypoˇcetn´ıch funkc´ı je moˇzn´e nal´ezt ve zdrojov´ ych k´odech t´eto aplikace, kter´e jsou na pˇriloˇzen´em CD. 69
Obr´azek 5.35: Zjednoduˇsen´ y diagram v´ ypoˇctu pˇr´ıznak˚ u.
Komponenta pro zobrazen´ı vypoˇ cten´ ych pˇ r´ıznak˚ u Komponenta, kter´a slouˇz´ı uˇzivateli k zobrazen´ı vypoˇcten´ ych pˇr´ıznak˚ u, kter´e uˇzivatel zadal v pˇredeˇsl´e komponentˇe. Uˇ zivatelsk´ y pohled Po dokonˇcen´ı v´ ypoˇctu veˇsker´ ych zadan´ ych pˇr´ıznak˚ u jsou v´ ysledky pˇred´any komponentˇe pro zobrazen´ı vypoˇcten´ ych pˇr´ıznak˚ u, kter´a vypoˇcten´e pˇr´ıznaky jednotlivˇe vykresl´ı do grafu. Graf obsahuje vlastn´ı osu Y pro kaˇzd´ y vypoˇcten´ y pˇr´ıznak a spoleˇcnou ˇcasovou osu X. Tato komponenta s vykreslen´ ym grafem je zobrazena na obr´azku 5.36.
70
71
PSDA β (12 - 30 Hz) pro sign´al C3-A2, FFT α (8 - 12 Hz) pro sign´al Fz-Cz.
Obr´azek 5.36: Vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. Na obr´azku jsou vykresleny tyto pˇr´ıznaky: STD pro sign´al C4-A1,
Jak je na obr´azku vidˇet, kaˇzd´a ˇca´st vypoˇcten´eho pˇr´ıznaku je oznaˇcena jinou barvou. Tato barva odpov´ıd´a barvˇe znaˇcky v dan´em u ´seku z´aznamu, kter´a je zobrazena v komponentˇe pro pˇrehled ohodnocen´ı v cel´em z´aznamu. Graf v t´eto komponentˇe umoˇzn ˇuje stejnˇe jako graf v komponentˇe pro pˇrehled ohodnocen´ı v cel´em z´aznamu pˇribl´ıˇzit u ´sek z´aznamu, na kter´ y ukazuje kurzor myˇsi pomoc´ı ot´aˇcen´ı stˇredn´ıho koleˇcka myˇsi smˇerem od uˇzivatele ˇci zam´aˇcknut´ım, pˇridrˇzen´ım stˇredn´ıho koleˇcka myˇsi a oznaˇcen´ım poˇzadovan´eho u ´seku taˇzen´ım myˇsi, kdy pˇri uvolnˇen´ı tlaˇc´ıtka dojde k pˇribl´ıˇzen´ı vybran´eho u ´seku. Pokud si uˇzivatel zadan´ y u ´sek pˇribl´ıˇzil, umoˇzn ˇuje komponenta posun ˇcasov´e osy v tomto pˇribl´ıˇzen´ı, pokud uˇzivatel pˇridrˇz´ı stlaˇcen´e prav´e tlaˇc´ıtko myˇsi. Pro zpˇetn´e odd´alen´ı se vyuˇz´ıv´a ot´aˇcen´ı stˇredn´ıho koleˇcka myˇsi smˇerem k uˇzivateli. Uk´azku pˇribl´ıˇzen´ı vypoˇcten´ ych pˇr´ıznak˚ u ve vybran´em u ´seku z´aznamu zobrazuje obr´azek 5.37.
72
Obr´azek 5.37: Pˇribl´ıˇzen´ y u ´sek vypoˇcten´eho pˇr´ıznaku. Na obr´azku je vykreslen pˇr´ıznak STD pro sign´al C4-A1. Na pˇribl´ıˇzen´e ˇca´sti obr´azku je vidˇet, ˇze v´ ysledn´ y vykreslen´ y graf z vypoˇcten´ ych pˇr´ıznak˚ u je schodov´ y. To je zp˚ usobeno t´ım, ˇze uˇzivatel zad´av´a nˇejak´ y interval segmentace, pro kter´ y je v dan´em segmentu v´ıce hodnot, z kter´ ych se n´aslednˇe vypoˇcte pouze jedna hodnota pro dan´ y pˇr´ıznak. Tato v´ ysledn´a hodnota plat´ı pro cel´ y interval segmentu a z toho d˚ uvodu je graf schodov´ y, protoˇze hodnota plat´ı po cel´e d´elce schodu. Pro moˇznost zobrazit si hodnotu schodu v dan´em ˇcase m˚ uˇze uˇzivatel stisknout lev´e tlaˇc´ıtko myˇsi nad vybran´ ym schodem ve zvolen´ y ˇcas a zobraz´ı se mu informace s pˇresnou hodnotou a pˇresn´ ym ˇcasem, jak zobrazuje obr´azek 5.38.
73
Obr´azek 5.38: Zobrazen´ı informace pro zvolen´ y schodov´ yu ´sek. Jedna z hlavn´ıch pˇrednost´ı t´eto komponenty je ta, ˇze pˇred vykreslen´ım vypoˇcten´ ych pˇr´ıznak˚ u je prov´az´ana ˇcasov´a osa tohoto grafu s ˇcasovou osou grafu v komponentˇe pro pˇrehled ohodnocen´ı v cel´em z´aznamu. D´ıky tomuto prov´az´an´ı je umoˇznˇeno to, ˇze jakmile si uˇzivatel pˇribl´ıˇz´ı jak´ ykoli u ´sek v jedno z graf˚ u v jedn´e z tˇechto komponent, automaticky se mu na stejn´ yu ´sek pˇribl´ıˇz´ı graf v druh´e komponentˇe. Pokud si tedy pˇribl´ıˇz´ı nˇejakou znaˇcku zobrazenou v grafu komponenty pro pˇrehled ohodnocen´ı, tak se mu pˇribl´ıˇz´ı u ´sek s vypoˇcten´ ymi pˇr´ıznaky v grafu t´eto komponenty. Pˇribl´ıˇzen´ı znaˇcky z´aroveˇ n s vypoˇcten´ ymi pˇr´ıznaky m˚ uˇze vypadat tak jako na obr´azku 5.39.
74
Obr´azek 5.39: Prov´az´an´ı ˇcasov´e osy mezi grafy komponent. Na obr´azku je vypoˇcten pˇr´ıznak FFT α (8 - 12 Hz) pro sign´al EEG Fpz-Cz. Implementace Z hlediska implementaˇcn´ıho se jedn´a o novˇe vytvoˇren´ y User Control s n´azvem Symptogram, kter´ y reprezentuje tuto komponentu rozdˇelenou na dva ˇr´adky, kdy prvn´ı ˇra´dek obsahuje pouze data binding na text nadpisu a ve druh´em ˇra´dku komponenta PlotView z knihovny OxyPlot, kter´a se star´a o vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. Proto, aby bylo moˇzn´e komponentˇe PlotView v Behind Code t´eto komponenty nastavit data binding pro parametr PlotModel, je nutn´e, aby tato komponenta ve sv´em data binding dostala pole pˇr´ıznak˚ u s vypoˇcten´ ymi hodnotami pro jednotliv´e segmenty vˇsech znaˇcek v z´aznamu. Jednotliv´e pˇr´ıznaky jsou pot´e proch´azeny a pro kaˇzd´ y pˇr´ıznak se vytvoˇr´ı vlastn´ı osa Y. V kaˇzd´em proch´azen´em pˇr´ıznaku jsou proch´azeny jednotliv´e znaˇcky a u kaˇzd´e jednotliv´e znaˇcky jsou proch´azeny jej´ı segmenty. Kaˇzd´ y proch´azen´ y segment obsahuje ˇcas sv´eho zaˇc´atku a konce a hodnotu, kter´a byla vypoˇctena dle dan´eho pˇr´ıznaku. D´ıky tomu, ˇze je zn´am poˇc´atek, 75
konec a hodnota pˇr´ıznaku pro segment, m˚ uˇze b´ yt segment pro dan´ y pˇr´ıznak vykreslen do osy Y dan´eho pˇr´ıznaku. Jakmile jsou veˇsker´e hodnoty segment˚ u pro vˇsechny znaˇcky vykresleny, je osa Y dan´eho pˇr´ıznaku pˇrid´ana do PlotModel. Po zpracov´an´ı vˇsech pˇr´ıznak˚ u je PlotModel nastaven komponentˇe PlotView a graf se vykresl´ı. Zjednoduˇsen´ y diagram vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u je uveden na obr´azku 6.1.
Obr´azek 5.40: Zjednoduˇsen´ y diagram vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. Prov´az´an´ı ˇcasov´e osy X mezi touto komponentou a komponentou pro pˇrehled ohodnocen´ı je implementov´ano tak, ˇze obˇema os´am je pˇridˇelena metoda pro obsluhu ud´alosti, kter´a ˇreˇs´ı zmˇenu hodnoty pˇribl´ıˇzen´ı v jednom ˇci druh´em grafu. Pokud se tedy v jednom grafu zmˇen´ı hodnota pˇribl´ıˇzen´ı, je vyvol´ana ud´alost, kterou odchytne implementovan´a metoda. Metoda porovn´a novˇe z´ıskanou hodnotu pˇribl´ıˇzen´ı od grafu, jenˇz vyvolal ud´alost s hodnotou pˇribl´ıˇzen´ı druh´eho grafu, a pokud si hodnoty nejsou rovny, nastav´ı druh´emu grafu totoˇznou hodnotu. 76
Kapitola 6 Ovˇ eˇ ren´ı aplikace nad re´ aln´ ymi z´ aznamy Tato kapitola se bude vˇenovat ovˇeˇren´ı v´ ysledn´e aplikace na re´aln´ ych datech. Cel´a kapitola bude koncipov´ana tak, ˇze nejprve budou pops´ana re´aln´a data, kter´a budou aplikaci testovat, a poˇc´ıtaˇc, na kter´em byla aplikace spuˇstˇena bˇehem testov´an´ı. N´aslednˇe budou pops´any testovac´ı sc´en´aˇre, kter´e byly pro testov´an´ı zvoleny, a tak´e jejich pr˚ ubˇeh. V z´avˇeru t´eto kapitoly budou zhodnoceny v´ ysledky z probˇehl´ ych test˚ u pro popsan´e sc´en´aˇre, kdy sledovan´e hodnoty byly pˇredevˇs´ım vyuˇzit´ı procesoru, pamˇet’ov´a n´aroˇcnost a ˇcasov´a odezva pˇri urˇcit´ ych uˇzivatelem vykon´avan´ ych akc´ı.
6.1
Re´ aln´ a data
Re´aln´a data anonymn´ıch dlouhodob´ ych polysomnografick´ ych z´aznam˚ u byla poskytnuta Ing. V´aclavem Gerlou Ph.D.. Jednalo se o soubory ve form´atu EDF, jejichˇz velikost byla kolem 140MB, a ke kaˇzd´emu souboru byl pˇriloˇzen textov´ y soubor s ohodnocen´ ym hypnogramem pro cel´ y z´aznam. Hypnogram byl zaznamen´am v textov´em souboru tak, ˇze kaˇzd´ y ˇra´dek souboru obsahoval jedno z ˇc´ısel 1 aˇz 5 a pˇredstavoval ohodnocen´ı pro 30 sekund z´aznamu. Kaˇzd´e ˇc´ıslo odpov´ıdalo jedn´e sp´ankov´e f´azi dle uveden´e tabulky 6.1.
77
ˇ ıslo C´
F´ aze sp´ anku
1
NREM 3
2
NREM 2
3
NREM 1
4
REM
5
WAKE
Tabulka 6.1: Tabulka mapuj´ıc´ı hodnoty hypnogramu na sp´ankov´e f´aze.
Aby bylo moˇzn´e cel´ y hodnot´ıc´ı hypnogram vyuˇz´ıt ve v´ ysledn´e aplikaci, bylo zapotˇreb´ı pˇrev´est pˇriloˇzen´ y hypnogram do form´atu znaˇckovac´ıho souboru XML, kter´ y aplikace umoˇzn ˇuje naˇc´ıst pro vykreslen´ı ohodnocen´ı cel´eho z´aznamu. Kaˇzd´ y ˇra´dek hypnogramu se tedy musel pˇrev´est na ˇra´dek s elementem <mark> obsahuj´ıc´ım atribut name, kter´ y obsahoval n´azev sp´ankov´e f´aze pro dan´e ˇc´ıslo na pˇrev´adˇen´em ˇra´dku, atribut start, kter´ y obsahoval hodnotu zaˇca´tku sp´ankov´e f´aze, a tribute duration, kter´ y ud´aval dobu trv´an´ı znaˇcky, tedy 30 sekund. Pro takov´ yto pˇrevod byl vytvoˇren jednoduch´ y konzolov´ y program, kter´emu se pˇred´a cesta k souboru s hypnogramem, a program vytvoˇr´ı soubor XML se znaˇckami. Program je tak´e obsaˇzen na pˇriloˇzen´em CD.
6.2
Poˇ c´ıtaˇ c k testov´ an´ı
V´ ysledn´a aplikace byla testov´ana na poˇc´ıtaˇci t´eto konfigurace: Procesor: Intel Core i7-3610MQ Ivy Bridge, 2.3GHz Operaˇ cn´ı pamˇ et’: 12GB DDR3 SO-DIMM, 1600MHz Grafick´ a karta: Nvidia GT 630M, 2GB Pevn´ y disk: SSD Kingston HyperX Savage 240GB, 6Gb/s Operaˇ cn´ı syst´ em: Wondows 8.1 Enterprise
D´ale je vhodn´e uv´est, ˇze bˇehem testov´an´ı na tomto poˇc´ıtaˇci bˇeˇzela pouze testovan´a aplikace a neprob´ıhaly ˇz´adn´e operace na pozad´ı, jako napˇr´ıklad antivirov´ y test ˇci defragmentace disku. 78
6.3
Testovac´ı sc´ en´ aˇ re
Pro testov´an´ı byly zvoleny tˇri testovac´ı sc´en´aˇre, kter´e by mˇely otestovat re´alnou pouˇzitelnost v´ ysledn´e aplikace. Jednotliv´e sc´en´aˇre jsou n´aslednˇe uvedeny v podobˇe seznam˚ u, kdy kaˇzd´ y seznam obsahuje n´azev zdrojov´eho souboru EDF a n´azev znaˇckovac´ıho souboru XML, poˇcet sign´al˚ u, kter´e si uˇzivatel nechal zobrazit, interval segmentace, kter´ ym budou ohodnocen´ı rozdˇeleny na segmenty a uveden´e pˇr´ıznaky, kter´e byly zad´any k v´ ypoˇctu.
1. testovac´ı sc´ en´ aˇ r
Zdrojov´ y soubor EDF: 007p12.edf Znaˇ ckovac´ı soubor XML: 007p12 − hypnogram.marking.xml Poˇ cet uˇ zivatelem zobrazen´ ych sign´ al˚ u: 11 Interval segmentace: 5s Zadan´ e pˇ r´ıznaky pro v´ ypoˇ cet: 1. Pˇ r´ıznak: – Sign´ al: C3-A2 – Metoda: FFT – Frekvenˇ cn´ı rozsah: α(8-12 Hz) 2. Pˇ r´ıznak: – Sign´ al: Fz-Cz – Metoda: PSDA – Frekvenˇ cn´ı rozsah: γ(30-50 Hz) 3. Pˇ r´ıznak: – Sign´ al: C4-A1 – Metoda: PSDR – Frekvenˇ cn´ı rozsah: θ(4-7 Hz) 4. Pˇ r´ıznak: – Sign´ al: ECG – Metoda: SKEW 5. Pˇ r´ıznak: – Sign´ al: Flow – Metoda: STD 79
2. testovac´ı sc´ en´ aˇ r Zdrojov´ y soubor EDF: 026s14f ilt.edf Znaˇ ckovac´ı soubor XML: 026s14f ilt − hypnogram.marking.xml Poˇ cet uˇ zivatelem zobrazen´ ych sign´ al˚ u: 7 Interval segmentace: 10s Zadan´ e pˇ r´ıznaky pro v´ ypoˇ cet:
1. Pˇ r´ıznak: – Sign´ al: C3-A2 – Metoda: PSDA – Frekvenˇ cn´ı rozsah: α(8-12 Hz) 2. Pˇ r´ıznak: – Sign´ al: C4-A1 – Metoda: FFT – Frekvenˇ cn´ı rozsah: β(12-30 Hz) 3. Pˇ r´ıznak: – Sign´ al: RLeg – Metoda: MEAN 4. Pˇ r´ıznak: – Sign´ al: LLeg – Metoda: KURT
80
3. testovac´ı sc´ en´ aˇ r Zdrojov´ y soubor EDF: 031s14f ilt.edf Znaˇ ckovac´ı soubor XML: 031s14f ilt − hypnogram.marking.xml Poˇ cet uˇ zivatelem zobrazen´ ych sign´ al˚ u: 5 Interval segmentace: 30s Zadan´ e pˇ r´ıznaky pro v´ ypoˇ cet:
1. Pˇ r´ıznak: – Sign´ al: C3-A2 – Metoda: PSDA – Frekvenˇ cn´ı rozsah: α(8-12 Hz) 2. Pˇ r´ıznak: – Sign´ al: Fz-Cz – Metoda: SKEW
6.4
Testov´ an´ı aplikace
Kaˇzd´ y z pˇredchoz´ıch uveden´ ych sc´en´aˇr˚ u byl testov´an tak, ˇze uˇzivatel spustil aplikaci, naˇcetl poˇzadovan´ y zdrojov´ y soubor EDF a znaˇckovac´ı soubor XML. Vybral sc´en´aˇrem urˇcen´ y poˇcet sign´al˚ u k zobrazen´ı a nechal si je zobrazit. V t´eto f´azi testov´an´ı se pozorovalo vyuˇzit´ı procesoru a pamˇet’ov´a n´aroˇcnost aplikace pˇri jej´ım ˇ spuˇstˇen´ı a pˇri naˇc´ıt´an´ı zvolen´ ych sign´al˚ u ze souboru. Casov´ a odezva se mˇeˇrila v t´eto ˇca´sti pouze pro dobu od zapoˇcet´ı naˇc´ıt´an´ı sign´al˚ u ze souboru po jejich vykreslen´ı. Jakmile se uˇzivateli sign´aly vykreslily, uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı a ohodnocov´an´ı vybran´ ych sign´al˚ u, kter´e byly pops´any v ˇca´sti 5.3. V t´eto f´azi se mˇeˇrila pouze ˇcasov´a n´aroˇcnost pro vykreslen´ı pˇetiminutov´eho okna z´aznamu a pˇrekliknut´ı na n´asleduj´ıc´ı ˇcasov´e okno. Pokud uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı a ohodnocov´an´ı vybran´ ych sign´al˚ u, zvolil sc´en´aˇrem zadan´ y interval segmentace a pokraˇcoval na n´asleduj´ıc´ı okno pro analyzov´an´ı z´aznamu. V tomto oknˇe uˇzivatel 81
vyzkouˇsel veˇsker´e funkce komponenty pro pˇrehled ohodnocen´ı v cel´em z´aznamu a v komponentˇe pro zad´av´an´ı pˇr´ıznak˚ u pro v´ ypoˇcet zadal veˇsker´e pˇr´ıznaky, kter´e popsal dan´ y sc´en´aˇr, a potvrdil jejich v´ ypoˇcet. Tato testovac´ı ˇca´st se zamˇeˇrila na vyuˇzit´ı procesoru a pamˇeti pˇri v´ ypoˇctu zadan´ ych pˇr´ıznak˚ u. D´ale byla mˇeˇrena celkov´a doba od zad´an´ı v´ ypoˇctu pˇr´ıznak˚ u aˇz po jejich vykreslen´ı. Po vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u vyzkouˇsel uˇzivatel veˇsker´e vlastnosti komponenty pro zobrazen´ı vypoˇcten´ ych pˇr´ıznak˚ u a mˇeˇrila se ˇcasov´a odezva pˇri pˇribl´ıˇzen´ı zvolen´eho u ´seku a posun ˇcasov´eho okna.
Testov´ an´ı - 1. testovac´ı sc´ en´ aˇ r 1. Uˇzivatel spustil aplikaci a spuˇstˇen´a aplikace vyuˇz´ıv´a 0,17% procesoru a 26 412kB operaˇcn´ı pamˇeti. 2. Uˇzivatel naˇcetl zdrojov´ y EDF soubor s n´azvem 007p12.edf a znaˇckovac´ı soubor XML s n´azvem 007p12 − hypnogram.marking.xml. V tuto chv´ıli aplikace vyˇzadovala 30 520kB operaˇcn´ı pamˇeti. 3. Uˇzivatel vybral 11 poˇzadovan´ ych sign´al˚ u a nechal vybran´e sign´aly vykreslit. Bˇehem vykreslov´an´ı aplikace vyuˇzila procesor na maxim´aln´ı hodnotu 13,82% a vyuˇz´ıvala 817 948kB operaˇcn´ı pamˇeti. Doba od naˇcten´ı po vykreslen´ı a zobrazen´ı vybran´ ych sign´al˚ u trvala 9,43s a v´ ysledn´e vykreslen´ı je vidˇet na obr´azku 6.1.
82
Obr´azek 6.1: 1. testovac´ı sc´en´aˇr - vykreslen´ı sign´al˚ u. Na obr´azku jsou vykresleny tyto sign´aly: SpO2, Flow, Thor, Abd, LLeg, RLeg, ECG, Chin1-Chin2, C4-A1, C3-A2, Fz-Cz. 4. Uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı a ohodnocov´an´ı vybran´ ych sign´al˚ u - veˇsker´e funkce probˇehly v poˇra´dku. Doba pro pˇrekreslen´ı ˇcasov´eho okna z v´ ychoz´ıch 30s na pˇetiminutov´e ˇcasov´e okno byla 1,85s a doba pˇrechodu do n´asleduj´ıc´ıho pˇetiminutov´eho ˇcasov´eho okna byla 1,64s. 5. Uˇzivatel zadal pˇetisekundov´ y ˇcasov´ y interval pro segmentaci zadan´ ych ohodnocen´ı a pokraˇcoval do n´asleduj´ıc´ıho okna pro anal´ yzu sign´alu. Zde vyzkouˇsel veˇsker´e funkce komponenty pro pˇrehled ohodnocen´ı v cel´em z´aznamu - veˇsker´e funkce probˇehly v poˇra´dku. V t´eto f´azi vyuˇz´ıvala aplikace 991 164kB operaˇcn´ı pamˇeti a 0,19% procesoru. 6. Uˇzivatel pˇridal poˇzadovan´e pˇr´ıznaky dle sc´en´aˇre a zadal jejich v´ ypoˇcet. Bˇehem v´ ypoˇctu aplikace vyuˇzila procesor na maxim´aln´ı hodnotu 36,52% a vyuˇz´ıvala 1 209 100kB operaˇcn´ı pamˇeti. Doba od zad´an´ı v´ ypoˇctu pˇr´ıznak˚ u po jejich vykreslen´ı a zobrazen´ı trvala 57,19s a v´ ysledn´e vykreslen´ı je vidˇet 83
na obr´azku 6.2.
Obr´azek 6.2: 1. testovac´ı sc´en´aˇr - vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. Na obr´azku jsou vykresleny tyto pˇr´ıznaky: STD pro sign´al Flow, SKEW pro sign´al ECG, PSDR θ(4-7 Hz) pro sign´al C4-A1, PSDA γ(30-50 Hz) pro sign´al Fz-Cz, FFT α(8-12 Hz) pro sign´al C3-A2. 7. Uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı vypoˇcten´ ych pˇr´ıznak˚ u - veˇsker´e funkce probˇehly v poˇra´dku. Doba pro vykreslen´ı pˇribl´ıˇzen´eho vybran´eho u ´seku vypoˇcten´ ych pˇr´ıznak˚ u byla 2,92s a doba reakce na plynul´ y posun ˇcasov´eho okna pomoc´ı prav´eho tlaˇc´ıtka byla 4,35s.
Testov´ an´ı - 2. testovac´ı sc´ en´ aˇ r 1. Uˇzivatel spustil aplikaci a spuˇstˇen´a aplikace vyuˇz´ıv´a 0,17% procesoru a 27 112kB operaˇcn´ı pamˇeti. 2. Uˇzivatel naˇcetl zdrojov´ y EDF soubor s n´azvem 026s14f ilt.edf a znaˇckovac´ı soubor XML s n´azvem 026s14f ilt−hypnogram.marking.xml. V tuto chv´ıli aplikace vyˇzadovala 30 968kB operaˇcn´ı pamˇeti. 84
3. Uˇzivatel vybral 7 poˇzadovan´ ych sign´al˚ u a nechal vybran´e sign´aly vykreslit. Bˇehem vykreslov´an´ı aplikace vyuˇzila procesor na maxim´aln´ı hodnotu 13,36% a vyuˇz´ıvala 668 852kB operaˇcn´ı pamˇeti. Doba od naˇcten´ı po vykreslen´ı a zobrazen´ı vybran´ ych sign´al˚ u trvala 8,74s a v´ ysledn´e vykreslen´ı je vidˇet na obr´azku 6.3.
Obr´azek 6.3: 2. testovac´ı sc´en´aˇr - vykreslen´ı sign´al˚ u. Na obr´azku jsou vykresleny tyto sign´aly: Flow, Thor, LLeg, RLeg, C4-A1, C3-A2, Fz-Cz. 4. Uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı a ohodnocov´an´ı vybran´ ych sign´al˚ u - veˇsker´e funkce probˇehly v poˇra´dku. Doba pro pˇrekreslen´ı ˇcasov´eho okna z v´ ychoz´ıch 30s na pˇetiminutov´e ˇcasov´e okno byla 1,05s a doba pˇrechodu do n´asleduj´ıc´ıho pˇetiminutov´eho ˇcasov´eho okna byla 1,37s. 5. Uˇzivatel zadal desetisekundov´ y ˇcasov´ y interval pro segmentaci zadan´ ych ohodnocen´ıch a pokraˇcoval do n´asleduj´ıc´ıho okna pro anal´ yzu sign´alu. Zde vyzkouˇsel veˇsker´e funkce komponenty pro pˇrehled ohodnocen´ı v cel´em z´aznamu - veˇsker´e funkce probˇehly v poˇra´dku. V t´eto f´azi vyuˇz´ıvala aplikace 873 808kB operaˇcn´ı pamˇeti a 0,19% procesoru. 85
6. Uˇzivatel pˇridal poˇzadovan´e pˇr´ıznaky dle sc´en´aˇre a zadal jejich v´ ypoˇcet. Bˇehem v´ ypoˇctu aplikace vyuˇzila procesor na maxim´aln´ı hodnotu 33,89% a vyuˇz´ıvala 1 128 438kB operaˇcn´ı pamˇeti. Doba od zad´an´ı v´ ypoˇctu pˇr´ıznak˚ u po jejich vykreslen´ı a zobrazen´ı trvala 50,58s a v´ ysledn´e vykreslen´ı je vidˇet na obr´azku 6.4.
Obr´azek 6.4: 2. testovac´ı sc´en´aˇr - vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. Na obr´azku jsou vykresleny tyto pˇr´ıznaky: KURT pro sign´al LLeg, MEAN pro sign´al RLeg, FFT β(12-30 Hz) pro sign´al C4-A1, PSDA α(8-12 Hz) pro sign´al C3-A2
7. Uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı vypoˇcten´ ych pˇr´ıznak˚ u - veˇsker´e funkce probˇehly v poˇra´dku. Doba pro vykreslen´ı pˇribl´ıˇzen´eho vybran´eho u ´seku vypoˇcten´ ych pˇr´ıznak˚ u byla 2,45s a doba reakce na plynul´ y posun ˇcasov´eho okna pomoc´ı prav´eho tlaˇc´ıtka byla 3,39s.
Testov´ an´ı - 3. testovac´ı sc´ en´ aˇ r 1. Uˇzivatel spustil aplikaci a spuˇstˇen´a aplikace vyuˇz´ıv´a 0,17% procesoru a 27 060kB operaˇcn´ı pamˇeti. 86
2. Uˇzivatel naˇcetl zdrojov´ y EDF soubor s n´azvem 031s14f ilt.edf a znaˇckovac´ı soubor XML s n´azvem 031s14f ilt−hypnogram.marking.xml. V tuto chv´ıli aplikace vyˇzadovala 31 560kB operaˇcn´ı pamˇeti. 3. Uˇzivatel vybral 5 poˇzadovan´ ych sign´al˚ u a nechal vybran´e sign´aly vykreslit. Bˇehem vykreslov´an´ı aplikace vyuˇzila procesor na maxim´aln´ı hodnotu 13,31% a vyuˇz´ıvala 426 584kB operaˇcn´ı pamˇeti. Doba od naˇcten´ı po vykreslen´ı a zobrazen´ı vybran´ ych sign´al˚ u trvala 4,80s a v´ ysledn´e vykreslen´ı je vidˇet na obr´azku 6.5.
Obr´azek 6.5: 3. testovac´ı sc´en´aˇr - vykreslen´ı sign´al˚ u. Na obr´azku jsou vykresleny tyto sign´aly: Flow, Thor, C4-A1, C3-A2, Fz-Cz. 4. Uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı a ohodnocov´an´ı vybran´ ych sign´al˚ u - veˇsker´e funkce probˇehly v poˇra´dku. Doba pro pˇrekreslen´ı ˇcasov´eho okna z v´ ychoz´ıch 30s na pˇetiminutov´e ˇcasov´e okno byla 0,73s a doba pˇrechodu do n´asleduj´ıc´ıho pˇetiminutov´eho ˇcasov´eho okna byla 0,91s. 5. Uˇzivatel zadal tˇricetisekundov´ y ˇcasov´ y interval pro segmentaci zadan´ ych ohodnocen´ıch a pokraˇcoval do n´asleduj´ıc´ıho okna pro anal´ yzu sign´alu. Zde 87
vyzkouˇsel veˇsker´e funkce komponenty pro pˇrehled ohodnocen´ı v cel´em z´aznamu - veˇsker´e funkce probˇehly v poˇra´dku. V t´eto f´azi vyuˇz´ıvala aplikace 454 368kB operaˇcn´ı pamˇeti a 0,19% procesoru. 6. Uˇzivatel pˇridal poˇzadovan´e pˇr´ıznaky dle sc´en´aˇre a zadal jejich v´ ypoˇcet. Bˇehem v´ ypoˇctu aplikace vyuˇzila procesor na maxim´aln´ı hodnotu 28,70% a vyuˇz´ıvala 541 357kB operaˇcn´ı pamˇeti. Doba od zad´an´ı v´ ypoˇctu pˇr´ıznak˚ u po jejich vykreslen´ı a zobrazen´ı trvala 38,63s a v´ ysledn´e vykreslen´ı je vidˇet na obr´azku 6.6.
Obr´azek 6.6: 3. testovac´ı sc´en´aˇr - vykreslen´ı vypoˇcten´ ych pˇr´ıznak˚ u. Na obr´azku jsou vykresleny tyto pˇr´ıznaky: SKEW pro sign´al Fz-Cz, PSDA α(8-12 Hz) pro sign´al C3-A2.
7. Uˇzivatel vyzkouˇsel veˇsker´e funkce komponenty pro zobrazen´ı vypoˇcten´ ych pˇr´ıznak˚ u - veˇsker´e funkce probˇehly v poˇra´dku. Doba pro vykreslen´ı pˇribl´ıˇzen´eho vybran´eho u ´seku vypoˇcten´ ych pˇr´ıznak˚ u byla 1,39s a doba reakce na plynul´ y posun ˇcasov´eho okna pomoc´ı prav´eho tlaˇc´ıtka byla 2,24s. 88
6.5
Zhodnocen´ı test˚ u
Testov´an´ı aplikace prok´azalo, ˇze uveden´e sc´en´aˇre je v aplikaci moˇzn´e realizovat a ˇze naˇcten´ı a vykreslen´ı sign´al˚ u ˇci v´ ypoˇcet zadan´ ych pˇr´ıznak˚ u prob´ıhaj´ı v rozumn´ ych ˇcasov´ ych mez´ıch. Testov´an´ı tak´e dok´azalo, ˇze aplikace zvl´adla veˇsker´e poˇzadovan´e a implementovan´e funkce. Nicm´enˇe je potˇreba pouk´azat na to, ˇze aplikace je do jist´e m´ıry n´aroˇcn´a na operaˇcn´ı pamˇet’, a tak´e na to, ˇze odezvy nˇekter´ ych u ´kon˚ u pˇredevˇs´ım u graf˚ u s velk´ ym mnoˇzstv´ım vykreslen´ ych hodnot ˇ nejsou u ´plnˇe plynul´e. Spatn´ a plynulost tˇechto u ´kon˚ u je zp˚ usoben´a pˇredevˇs´ım nutnost´ı pˇrekreslovat velk´e mnoˇzstv´ı hodnot pro celkov´ y z´aznam. Pˇri plynul´em posunu okna grafu je ˇcasov´a prodleva jeˇstˇe markantnˇejˇs´ı, coˇz je zp˚ usobeno vyˇsˇs´ı frekvenc´ı pˇrekreslov´an´ı velk´eho mnoˇzstv´ı bod˚ u v grafu. Celkovˇe lze testov´an´ı aplikace zhodnotit jako pozitivn´ı a aplikaci jako pouˇzitelnou nad re´aln´ ymi daty. Pouˇzitelnost aplikace se vˇsak odv´ıj´ı od poˇzadovan´eho mnoˇzstv´ı dat pro zobrazen´ı, kdy je nutn´e pˇri vˇetˇs´ım objemu dat poˇc´ıtat s delˇs´ı odezvou aplikace. V´ ysledky jednotliv´ ych test˚ u jsou rekapitulov´any v uveden´ ych tabulk´ach 6.2, 6.3.
89
Sc´ en´ aˇ r
Naˇ cten´ı CPU [%]
Spuˇ stˇ en´ı
RAM [kB]
soubor˚ u
RAM [kB]
aplikace CPU [%]
Vykreslen´ı
Zvˇ etˇ sen´ı
sign´ al˚ u ˇ cas. okna ˇ [s] ˇ [s] RAM [kB] Cas Cas
1,05
1,85 8,74
0,734
9,43 668 852
4,80
817 948 13,36
426 584
13,82 30 968
13,31
30 520 27 112
31 560
26 412
0,17
27 060
0,17
2. 0,17
1. 3.
Tabulka 6.2: Tabulka v´ ysledn´ ych hodnot z testov´an´ı sc´en´aˇr˚ u - 1. ˇca´st.
90
91
Pˇ rehled
1,64
1,37
0,91
1.
2.
3.
454 368
873 808
991 164 28,70
33,89
36,52
CPU [%]
Vybr´ an´ı
541 357
1 128 438
1 209 100
38,63
50,58
57,19
1,39
2,45
2,92
ˇ cas. u ´ seku ˇ [s] ˇ [s] RAM [kB] Cas Cas
pˇ r´ıznak˚ u
V´ ypoˇ cet
Tabulka 6.3: Tabulka v´ ysledn´ ych hodnot z testov´an´ı sc´en´aˇr˚ u - 2. ˇca´st.
0,19
0,19
0,19
Sc´ en´ aˇ r ˇ cas. okna ohodnocen´ı ˇ [s] Cas CPU [%] RAM [kB]
Pˇ repnut´ı
2,24
3,39
4,53
posun ˇ [s] Cas
Plynul´ y
Jelikoˇz se tato pr´ace pˇrev´aˇznˇe vˇenuje sp´anku a sp´ankov´ ym f´az´ım, budou zde v z´avˇeru testovan´ı uvedeny obr´azky, kter´e porovn´avaj´ı vykreslen´ı jednotliv´ ych sign´al˚ u pˇri rozd´ıln´ ych sp´ankov´ ych f´az´ıch. Postupnˇe budou uvedeny sign´aly FzCz, C3-A2, C4-A1, ECG pro f´aze sp´anku WAKE, REM, NREM 1, NREM2, NREM 3 a kaˇzd´ y obr´azek (6.7, 6.8, 6.9, 6.10) bude zobrazovat 30s z´aznamu.
92
93 Obr´azek 6.7: Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al Fz-Cz.
Obr´azek 6.8: Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al C3-A2.
94
95 Obr´azek 6.9: Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al C4-A1.
Obr´azek 6.10: Vykreslen´e porovn´an´ı f´az´ı sp´anku pro sign´al ECG.
96
Kapitola 7 Z´ avˇ er Vu ´vodn´ıch kapitol´ach t´eto pr´ace byly vysvˇetleny z´akladn´ı informace t´ ykaj´ıc´ı se sp´anku, jako je jeho definice, v´ yznam pro ˇclovˇeka ˇci jeho jednotliv´e f´aze. D´ale se pr´ace vˇenovala polysomnografick´emu vyˇsetˇren´ı, kter´ ym jsou z´ısk´av´any z´aznamy pro v´ yslednou anal´ yzu v implementovan´e aplikaci. Po uveden´ı jednotliv´ ych metod polysomnografick´eho vyˇsetˇren´ı byly uvedeny zp˚ usoby hodnocen´ı z´ıskan´ ych z´aznam˚ u z tˇechto vyˇsetˇren´ı. Implementaˇcn´ı ˇca´st t´eto pr´ace byla vˇenov´ana n´avrhu a popisu aplikace nad platformou .NET v jazyce C# za pouˇzit´ı frameworku WPF. D´ıky pouˇzit´emu frameworku byla aplikace koncipov´ana modul´arnˇe a v budoucnu je tedy umoˇznˇeno jej´ı snadn´e rozˇs´ıˇren´ı. Aplikace mimo naˇcten´ı pouze zdrojov´eho souboru EDF umoˇzn ˇuje naˇc´ıst i znaˇckovac´ı soubor XML, kter´ y obsahuje uˇzivatelem jiˇz zadan´a a exportovan´a ohodnocen´ı. Naˇcten´ı zdrojov´ ych soubor˚ u je umoˇznˇeno dvˇema zp˚ usoby, kdy prvn´ı spoˇc´ıv´a v klasick´em vyhled´an´ı souboru pˇres syst´emov´e okno a druh´ y zp˚ usob je pˇretaˇzen´ım souboru do pˇr´ısluˇsn´eho pole pro soubor takzvanou metodou Drag & Drop. Moˇznost v´ ybˇeru sign´al˚ u, kter´e se maj´ı naˇc´ıst ze zdrojov´eho souboru EDF a n´aslednˇe vykreslit, byla realizov´ana zp˚ usobem pˇrehledu vˇsech sign´al˚ u obsaˇzen´ ych ve zdrojov´em souboru, kdy uˇzivatel kliknut´ım na pˇr´ısluˇsn´ y n´azev sign´alu sign´al vybral, ˇci zneplatnil. Vykreslen´ı sign´alu bylo realizov´ano pomoc´ı open-source knihovny OxyPlot a vykreslen´e sign´aly jsou vykreslov´any v uˇzivatelem zadan´em ˇcasov´em intervalu. Pro prohl´ıˇzen´ı cel´eho z´aznamu byla 97
implementov´ana moˇznost posunu ˇcasov´eho okna za pomoci postrann´ıch ˇsipek grafu, ˇci posuvn´ıkem ˇcasov´e osy pod grafem. V r´amci nahl´ıˇzen´eho ˇcasov´eho u ´seku je uˇzivateli umoˇznˇeno oznaˇcit ˇca´st z´aznamu, kterou je moˇzn´e n´aslednˇe ohodnotit nˇekterou z klasifikaˇcn´ıch tˇr´ıd definovan´ ych uˇzivatelem. Jako zp˚ usob segmentace jednotliv´ ych u ´sek˚ u ohodnocen´ ych uˇzivatelem byla implementov´ana konstantn´ı segmentace, kdy konstantn´ı hodnotu intervalu pro segmentaci si zad´a s´am uˇzivatel. Aplikaci je d´ale moˇzn´e vyuˇz´ıt pro zad´an´ı pˇr´ıznak˚ u, kter´e se maj´ı pro kaˇzd´ y segment ohodnocen´eho u ´seku vypoˇc´ıtat a n´aslednˇe zobrazit. Zad´an´ı jednotliv´ ych pˇr´ıznak˚ u je realizov´ano tak, ˇze je uˇzivateli umoˇznˇeno vybrat sign´al, pro kter´ y se m´a dan´ y pˇr´ıznak vypoˇc´ıtat, n´aslednˇe si m˚ uˇze vybrat jednu z dev´ıti implementovan´ ych v´ ypoˇcetn´ıch metod, a pokud v´ ypoˇcetn´ı metoda poˇzaduje, tak i frekvenˇcn´ı rozsah, pro kter´ y se m´a pˇr´ıznak vypoˇc´ıtat. Jako metody pro v´ ypoˇcet frekvenˇcn´ıch pˇr´ıznak˚ u byly zvoleny metody zaloˇzen´e na Fourierovˇe transformaci, jako je FFT a PSD ˇci metody pro odhad statistick´ ych pˇr´ıznak˚ u, jako je Skewness, Kurtosis a dalˇs´ı. V ˇca´sti, kter´a se vˇenovala testov´an´ı v´ ysledn´e aplikace, byly stanoveny tˇri z´akladn´ı testovac´ı sc´en´aˇre, kdy kaˇzd´ y z uveden´ ych sc´en´aˇr˚ u byl n´aslednˇe testov´an. Pˇri testov´an´ı kaˇzd´eho ze sc´en´aˇr˚ u byly zaznamen´av´any hodnoty pro vyuˇzit´ı procesoru, operaˇcn´ı pamˇeti a ˇcasov´e n´aroˇcnosti nˇekter´ ych uˇzivatelem prov´adˇen´ ych akc´ı. Zaznamenan´e hodnoty byly n´aslednˇe shrnuty do tabulek, cel´a aplikace byla zhodnocena a byly pˇrid´any uk´azky nˇekter´ ych vykreslen´ ych sign´al˚ u pro r˚ uzn´e f´aze sp´anku. Testov´an´ı dok´azalo, ˇze aplikace splˇ nuje veˇsker´e ze stanoven´ ych c´ıl˚ u a to jak implementaˇcnˇe, tak i co se vyuˇzit´ı poˇc´ıtaˇce ˇci rozumn´ ych ˇcasov´ ych prodlev nˇekter´ ych operac´ı t´ yˇce. V´ ysledky potvrdily, ˇze aplikace je pouˇziteln´a k anal´ yze dlouhodob´ ych polysomnografick´ ych sign´al˚ u a ˇze i za pouˇzit´ı volnˇe dostupn´ ych prostˇredk˚ u je moˇzn´e implementovat uˇziteˇcn´ y a pouˇziteln´ y n´astroj. Potvrzen´ım praktick´e vyuˇzitelnosti v´ ysledn´e aplikace je i to, ˇze jiˇz bˇehem implementov´an´ı a prezentace implementovan´ ych ˇc´ast´ı byla nab´ıdnuta spolupr´ace ˇ na dalˇs´ım rozvoji v´ ysledn´e aplikace v r´amci v´ yzkumn´ ych u ´ˇcel˚ u CVUT, jako je napˇr´ıklad anal´ yza stresov´e z´atˇeˇze z PSG sign´alu. Dalˇs´ı moˇzn´a rozˇs´ıˇren´ı aplikace
98
by tak´e mohla spoˇc´ıvat v implementov´an´ı nov´ ych v´ ypoˇcetn´ıch metod pro v´ ypoˇcet pˇr´ıznak˚ u, ˇci implementov´an´ı dalˇs´ıch modul˚ u, napˇr´ıklad pro statistickou anal´ yzu a porovn´an´ı z´aznam˚ u, ˇci implementovat funkci adaptivn´ı segmentace.
99
100
Pˇ r´ıloha A Poruchy sp´ anku V pˇredeˇsl´ ych kapitol´ach a podkapitol´ach je pops´ana fyziologie sp´anku u zdrav´ ych lid´ı. N´asleduj´ıc´ı str´anky pˇr´ılohy t´eto pr´ace se budou vˇenovat jeho patologii, tedy ˇ ıme jeho poruch´am. Poruchy sp´anku rozdˇelujeme do velk´eho mnoˇzstv´ı skupin. Rad´ sem poruchy, pˇri kter´ ych jedinec trp´ı nedostatkem sp´anku, ˇci naopak sp´ankem tr´av´ı velkou ˇca´st dne. V n´asleduj´ıc´ıch podkapitol´ach jsou pops´any z´akladn´ı typy sp´ankov´ ych poruch.
A.1
Diagn´ oza poruchy sp´ anku
Z´akladem pro spr´avnou diagn´ozu poruchy sp´anku je podrobn´a anamn´eza. Zaj´ım´a n´as d´elka sp´anku, jeho pravidelnost, doba od ulehnut´ı do usnut´ı (mˇela by b´ yt pˇribliˇznˇe 20 minut), probuzen´ı bˇehem noci. V pr˚ ubˇehu sp´anku n´as zaj´ım´a chr´ap´an´ı, v´ yskyt apnoick´ ych pauz, po probuzen´ı pˇr´ıpadn´a u ´nava a bolesti hlavy. V´ yznam maj´ı i podm´ınky pro sp´anek (teplota m´ıstnosti, pˇr´ıtomnost hluku). O poruˇse sp´anku se snaˇz´ıme zjistit, jak dlouho trv´a, p´atr´ame po moˇzn´ ych zevn´ıch pˇr´ıˇcin´ach, jako je stres a pˇrepracovanost. [9, s. 264] Poruch sp´anku pˇrib´ yv´a s vˇekem. Starˇs´ı lid´e se bud´ı r´ano ˇcastˇeji, sp´anek je kratˇs´ı, pˇri probuzen´ı bˇehem sp´anku obt´ıˇznˇe znovu us´ınaj´ı. Hlavn´ı vyˇsetˇrovac´ı metodou poruch sp´anku je sp´ankov´a polysomnografie, kter´e se budu bl´ıˇze vˇenovat v kapitole 3. 101
A.2
Nadmˇ ern´ a denn´ı spavost
Nadmˇern´a denn´ı spavost (EDS - Excessive Daytime Sleepiness) je velk´ ym handicapem ˇzivota jedince. Omezuje nejen v pracovn´ım ˇzivotˇe, ale tak´e ve voln´em ˇcase ˇci partnersk´em ˇzivotˇe. Je vˇsak zaj´ımav´e, ˇze nadmˇernou denn´ı spavost´ı trp´ı 15 ˇ ek trp´ıc´ı EDS nen´ı schopen udrˇzet plynulou bdˇelost bˇehem – 20% populace. Clovˇ dne. V pr˚ ubˇehu dne se objevuje us´ın´an´ı s ospalost´ı. U nˇekter´ ych pacient˚ u se objevuje prodlouˇzen´ y noˇcn´ı sp´anek. Nejvˇetˇs´ı pod´ıl na ospalosti v pr˚ ubˇehu dne m´a napˇr. syndrom sp´ankov´e apnoe, syndrom neklidn´ ych nohou ˇci insomnie. Sv˚ uj nepatrn´ y vliv m´a i provinˇen´ı proti sp´ankov´e hygienˇe. [5] V t´eto podkapitole se d´ale budeme vˇenovat podrobnˇeji hypersomnii centr´aln´ıho p˚ uvodu.
Narkolepsie a kataplexie Narkolepsie a kataplexie je generalizovan´a funkˇcn´ı desorganizace sp´anku a bdˇen´ı. REM f´aze sp´anku pˇredch´az´ı NREM. Neklidn´ y a redukovan´ y noˇcn´ı sp´anek kompenzuje nadmˇern´a denn´ı spavost. [9, s. 264] Narkolepsie je charakterizov´ana sp´ankem, kter´ y je velmi nutkav´ y. Sp´anek se objevuje r˚ uznˇe v pr˚ ubˇehu dne. Jeho d´elka se tak´e r˚ uzn´ı. Jeho trv´an´ı m˚ uˇze b´ yt 5 - 10 minut, nebo i m´enˇe. Nˇekdy naopak m˚ uˇze trvat i 20 – 30 minut a je doprov´azen i sny. Na tuto poruchu sp´anku m´a vliv i ˇcinnost, kterou osoba prov´ad´ı. Pokud je stereotypn´ı a monot´onn´ı ˇci v klidu, objevuje se ˇcastˇeji. M˚ uˇze se vˇsak objevit i v jakoukoli dobu pˇri jak´ekoli pohybov´e aktivitˇe. Jedinec trp´ıc´ı touto poruchou se probud´ı sp´ankem osvˇeˇzen´ y. Toto vˇsak netrv´a dlouho. Po kr´atk´e dobˇe znovu us´ın´a. Narkolepsie m˚ uˇze b´ yt doplnˇen´a jeˇstˇe o kataplexii. V tomto pˇr´ıpadˇe jde o narkolepsii s kataplexi´ı. Kataplexi´ı rozum´ıme stavy n´ahl´e svalov´e atonie. Obliˇcejov´e a ˇs´ıjov´e svalstvo ochabne, m˚ uˇze doj´ıt k podklesnut´ı doln´ıch konˇcetin a t´ım aˇz k p´adu. D´elka z´achvatu je dlouh´a nˇekolik vteˇrin, ojedinˇele nˇekolik minut. Nekol´ıs´a pouze jeho d´elka, ale tak´e m˚ uˇze prob´ıhat od pocitu lehk´e slabosti aˇz po u ´pln´e ochrnut´ı. 102
Klinick´ e pˇ r´ıznaky: Narkolepsie Onemocnˇen´ı zaˇc´ın´a mezi 15 - 35 lety. Z´achvat˚ u sp´anku b´ yv´a 3 - 5 dennˇe. Z´avaˇznost onemocnˇen´ı urˇcuj´ı okolnosti, za kter´ ych pacient us´ın´a. Je velk´ y rozd´ıl, zda jedinec us´ın´a v prostˇredku hromadn´e dopravy, v kˇresle pˇri sledov´an´ı televize ˇci pˇri j´ıdle, j´ızdˇe na kole ˇci pˇri rozhovoru. Pokud jsou pˇr´ıznaky m´ırn´e, jedinec ˇcasto v˚ ubec nevyhled´a l´ekaˇre. Pokud jsou vˇsak v´aˇzn´e, jedinci n´aleˇz´ı invalidn´ı d˚ uchod. Onemocnˇen´ı vede velmi ˇcasto k dopravn´ım nehod´am. Kataplexie Pˇri tomto onemocnˇen´ı maj´ı velk´ y vliv emoce – sm´ıch, strach, leknut´ı, pˇrekvapen´ı. Pˇri parci´aln´ı kataplexii doch´az´ı k podklesnut´ı v kolenou ˇci poklesu doln´ı ˇcelisti. K p´adu nemus´ı doj´ıt. Vˇedom´ı je vˇsak neporuˇseno. Zhruba 70% jedinc˚ u navˇst´ıv´ı l´ekaˇre s poruchou sp´anku pr´avˇe kv˚ uli kataplexii. Toto onemocnˇen´ı m˚ uˇze m´ıt i dalˇs´ı projevy, napˇr. hypnagogick´e halucinace a sp´ankovou obrnu. Hypnagogick´e halucinace se vyskytuj´ı u 40 – 80% jedinc˚ u. Maj´ı svou vazbu na us´ın´an´ı ˇci probouzen´ı, m´ıvaj´ı charakter pˇretrv´avaj´ıc´ıho snu. Halucinace mohou b´ yt sluchov´e, zrakov´e, taktiln´ı ˇci komplexn´ı. Nemocn´ y jedinec je velmi proˇz´ıv´a. Sp´ankov´a obrna se vyskytuje u stejn´eho poˇctu jedinc˚ u jako ˇ eji se objevuje po probuzen´ı. Postiˇzen´ı jedinci je hypnagogick´e halucinace. Castˇ tak´e vn´ımaj´ı jako nepˇr´ıjemn´e pocity. Pacient v tuto chv´ıli nen´ı schopen pohybu, ale je plnˇe pˇri vˇedom´ı. Nen´ı schopen promluvit ˇci jinak se kontaktovat s okol´ım. Pˇreruˇsit tento z´achvat m˚ uˇze druh´a osoba, kter´a hlasitˇe promluv´ı ˇci se nemocn´eho dotkne. Noˇcn´ı sp´anek u lid´ı, kteˇr´ı trp´ı narkolepsi´ı, b´ yv´a nedostateˇcn´ y. Je velmi neklidn´ y a pˇreruˇsovan´ y. Diagnostick´ a krit´ eria: Narkolepsie s kataplexi´ı Nadmˇern´a denn´ı spavost s pˇrev´aˇznˇe kaˇzdodenn´ım v´ yskytem obt´ıˇz´ı po dobu
alespoˇ n 3 mˇes´ıc˚ u. 103
Pˇr´ıtomnost typick´ ych kataplektick´ ych z´achvat˚ u prov´azen´ ych ztr´atou sva-
lov´eho tonu v n´avaznosti na emoci. Diagn´ oza by mˇela b´ yt potvrzena noˇcn´ı polysomnografi´ı (prokazuj´ıc´ı ale-
spoˇ n 6 hodin sp´anku) s n´asledn´ ym MSLT (Multiple Sleep Latency Test) s pr˚ umˇernou latenc´ı usnut´ı 8 minut nebo m´enˇe a pˇr´ıtomnost´ı dvou nebo v´ıce SOREM (Sleep Onset REM), pˇr´ıpadnˇe deficitem hypokretinu 1 v mozkom´ıˇsn´ım moku. Zv´ yˇsen´a denn´ı spavost nen´ı vysvˇetliteln´a jinou pˇr´ıˇcinou, tj. sekundaritou
onemocnˇen´ı. Narkolepsie bez kataplexie Nadmˇern´a denn´ı spavost s pˇrev´aˇznˇe kaˇzdodenn´ım v´ yskytem obt´ıˇz´ı po dobu
alespoˇ n 3 mˇes´ıc˚ u. Nepˇr´ıtomnost typick´ ych kataplektick´ ych z´achvat˚ u (ne zcela pˇresvˇedˇciv´e ˇci
atypick´e stavy mohou b´ yt pˇr´ıtomny). Diagn´ oza by mˇela b´ yt potvrzena noˇcn´ı polysomnografi´ı (prokazuj´ıc´ı alespoˇ n
6 hodin sp´anku) s n´asledn´ ym MSLT s pr˚ umˇernou latenc´ı usnut´ı 8 minut nebo m´enˇe a pˇr´ıtomnost´ı dvou nebo v´ıce SOREM. Zv´ yˇsen´a denn´ı spavost nen´ı vysvˇetliteln´a jinou pˇr´ıˇcinou, tj. sekundaritou
onemocnˇen´ı. [5, s. 180]
Hypersomnie Pˇri hypersomnii nemocn´ y trp´ı nadmˇernou denn´ı spavost´ı. Jedinec sp´ı d´ele neˇz 12 hodin dennˇe. Po sp´anku se vˇsak c´ıt´ı nevyspal´ y a neodpoˇcat´ y. Hypersomnii d´ale dˇel´ıme na idiopatickou a rekurentn´ı. Idiopatick´ a hypersomnie Toto onemocnˇen´ı je charakterizov´ano zv´ yˇsenou potˇrebou denn´ıho sp´anku, kter´ y nem´a nutkav´ y r´az. Sp´anek pˇres den trv´a nˇekolik hodin. Nejsou vˇsak pˇr´ıtomny hypnagogick´e halucinace, sp´ankov´a obrna ani kataplexie. Prvn´ı ataka se objevuje 104
do 25. roku ˇzivota. T´emˇeˇr u 50% jedinc˚ u nalezneme idiopatickou hypersomnii v rodinˇe. U hypersomnie s dlouh´ ym noˇcn´ım cyklem pozorujeme prodlouˇzen´ y sp´anek na 12 - 14 hodin. Diagnostick´ a krit´ eria: Idiopatick´ a hypersomnie s dlouh´ ym noˇ cn´ım sp´ ankem Pacient m´ a nadmˇernou denn´ı spavost s v´ yskytem kaˇzdodenn´ıch obt´ıˇz´ı po
dobu alespoˇ n 3 mˇes´ıc˚ u, sp´anek je neosvˇeˇzuj´ıc´ı, delˇs´ıho trv´an´ı (delˇs´ı neˇz 1 hodinu). Noˇcn´ı sp´ anek je souˇcasnˇe prodlouˇzen´ y (v´ıce neˇz 10 hodin), dokumento-
van´ y klinick´ ym pohovorem nebo sp´ankov´ ym den´ıkem. Probuzen´ı z noˇcn´ıho i denn´ıho sp´anku je zpravidla obt´ıˇzn´e, ˇcasto s pˇr´ıznaky sp´ankov´e opilosti. Noˇcn´ı polysomnografie vylouˇc´ı jinou pˇr´ıˇcinu denn´ı spavosti. Polysomnografick´e vyˇsetˇren´ı prok´aˇze kr´ atkou latenci usnut´ı, noˇcn´ı sp´anek
je prodlouˇzen alespoˇ n na 10 hodin. N´ asledn´e MSLT prok´aˇze pr˚ umˇernou latenci usnut´ı kratˇs´ı neˇz 8 minut a
poˇcet SOREM je menˇs´ı neˇz dva. Hypersomnie nen´ı l´epe vysvˇetliteln´a jinou pˇr´ıˇcinou.
Idiopatick´ a hypersomnie bez dlouh´ eho noˇ cn´ıho sp´ anku Pacient m´ a nadmˇernou denn´ı spavost s v´ yskytem kaˇzdodenn´ıch obt´ıˇz´ı po
dobu alespoˇ n 3 mˇes´ıc˚ u. Noˇcn´ı sp´ anek je norm´aln´ıho trv´an´ı (v´ıce neˇz 6 hodin, ale m´enˇe neˇz 10 hodin)
dokumentovan´ y klinick´ ym pohovorem, sp´ankov´ ym den´ıkem nebo aktigrafi´ı. Noˇcn´ı polysomnografie vylouˇc´ı jinou pˇr´ıˇcinu denn´ı spavosti. Polysomnografick´e vyˇsetˇren´ı prok´aˇze norm´ aln´ı d´elku sp´anku (v´ıce neˇz 6
hodin, ale m´enˇe neˇz 10 hodin). N´ asledn´e MSLT prok´aˇze pr˚ umˇernou latenci kratˇs´ı neˇz 8 minut a poˇcet SO-
REM je menˇs´ı neˇz dva. Hypersomnie nen´ı l´epe vysvˇetliteln´a jinou pˇr´ıˇcinou.
[5, s. 181] 105
Rekurentn´ı hypersomnie Pˇri rekurentn´ı neboli periodick´e hypersomnii se stˇr´ıd´a obdob´ı dlouh´eho sp´anku s obdob´ım norm´aln´ıho sp´anku. Obdob´ı dlouh´eho sp´anku trv´a nˇekolik dn˚ u aˇz t´ ydn˚ u. V tomto obdob´ı jedinec prosp´ı 16 - 18 hodin ze dne. Probouz´ı se pouze na j´ıdlo ˇci pˇri potˇrebˇe na WC. Toto obdob´ı zaˇc´ın´a u ´navou, bolest´ı hlavy ˇci vznˇetlivost´ı. Diagnostick´ a krit´ eria: U nemocn´eho se objevuj´ı opakovan´e epizody zv´ yˇsen´e spavosti o trv´an´ı 2
dn˚ u aˇz 4 t´ ydn˚ u. Ataky se objevuj´ı alespoˇ n jednou za rok. V meziobdob´ı obt´ıˇz´ı nem´ a nemocn´ y ˇz´adn´e sp´ankov´e pot´ıˇze, kognitivn´ı funkce
i chov´an´ı jsou norm´aln´ı. Hypersomnie nen´ı l´epe vysvˇetliteln´a jinou pˇr´ıˇcinou.
[5, s. 183]
A.3
Parasomnie
Parasomnie je charakterizov´ana jako poruchy chov´an´ı v pr˚ ubˇehu sp´anku. ˇ Rad´ıme sem benign´ı z´aˇskuby, senzorick´e vjemy pˇri us´ın´an´ı, noˇcn´ı paroxysm´aln´ı dystonie, somnambulismus a sp´ankovou obrnu a noˇcn´ı dˇes. Tyto projevy se objevuj´ı v r˚ uzn´ ych etap´ach sp´anku – pˇri us´ın´an´ı, bˇehem sp´anku ˇci v pr˚ ubˇehu probouzen´ı. Parasomnii d´ale dˇel´ıme do tˇr´ı skupin. 1. Parasomnie s poruchou probuzen´ı z NREM sp´anku. 2. Parasomnie v´azan´e na REM sp´anek. 3. Ostatn´ı parasomnie.
Parasomnie s poruchou probuzen´ı z NREM sp´ anku Do t´eto skupiny ˇrad´ıme probuzen´ı se zmatenost´ı, n´amˇes´ıˇcnost a noˇcn´ı dˇesy. Tyto poruchy sp´anku se objevuj´ı pˇrev´aˇznˇe v dˇetsk´em vˇeku. N´amˇes´ıˇcnost a noˇcn´ı 106
dˇesy se vyskytuj´ı aˇz u 17% dˇet´ı. U dospˇel´ ych procentu´aln´ı v´ yskyt kles´a. Ojedinˇel´e epizody n´amˇes´ıˇcnosti se vyskytuj´ı aˇz u jedn´e tˇretiny dˇet´ı. Chov´an´ı jedince pˇri t´eto poruˇse sp´anku m´a podobn´ y r´az jako pˇri bdˇelosti a z´aroveˇ n i pˇri sp´anku. Dotyˇcn´ y mluv´ı, aˇz kˇriˇc´ı, pohybuje se, m´a vˇsak zmˇenˇen´e vn´ım´an´ı a je obt´ıˇznˇe probuditeln´ y. Pokud se snaˇz´ıme dotyˇcn´eho probudit, m˚ uˇze b´ yt zmaten´ y aˇz agresivn´ı. Agresivita se vyskytuje zvl´aˇstˇe u dospˇel´ ych muˇz˚ u. Pˇri epizodˇe parasomnie m˚ uˇze doj´ıt i k zranˇen´ı, napˇr. p´ad z okna. Probuzen´ı se zmatenost´ı V tomto stavu pˇrevl´ad´a psychick´a zmatenost nebo zmaten´e chov´an´ı pˇri ˇc´asteˇcn´em probuzen´ı bud’ typicky z delta-sp´anku v prvn´ı ˇca´sti noci, nebo pˇri rann´ım proˇ ci nerobuzen´ı. [5, s. 213] U osoby pozorujeme dezorientaci ˇcasu i m´ıstem. Reˇ zum´ıme ˇci je zpomalen´a. Pˇri zevn´ıch podnˇetech jsou reakce zpomalen´e s projevy mozeˇckov´e ataxie. U dˇet´ı spatˇrujeme zmatenost, ne´ uˇceln´e pohyby, neztiˇsiteln´ y pl´aˇc, kter´ y je jeˇstˇe umocˇ nov´an snahou rodiˇc˚ u o uklidnˇen´ı, nebot’ d´ıtˇe je nepozn´av´a. Tyto epizody trvaj´ı v r´amci minut (5 - 15min), ojedinˇele nˇekolik hodin. Diagnostick´ a krit´ eria: Psychick´a zmatenost nebo zmaten´e chov´an´ı bˇehem probouzec´ı reakce nebo
probuzen´ı z noˇcn´ıho nebo denn´ıho sp´anku. Nelze vysvˇetlit jinou poruchou sp´anku, jin´ ym intern´ım, neurologick´ ym, psy-
chiatrick´ ym onemocnˇen´ım, uˇz´ıv´an´ım l´ek˚ u nebo n´avykov´ ych l´atek. [5, s. 215] Somnambulismus Porucha vznik´a jako n´ahl´e ne´ upln´e probuzen´ı brzy po usnut´ı ze stadia 3 - 4 NREM. [9, s. 266] N´amˇes´ıˇcnost je spojena s komplexn´ım automatick´ ym chov´an´ım, kter´e zahrnuje ch˚ uzi. Epizoda zaˇc´ın´a posazen´ım na posteli, zmaten´ ym v´ yrazem, n´aslednˇe 107
jedinec opouˇst´ı l˚ uˇzko a chod´ı po m´ıstnosti. Pˇri ch˚ uzi hroz´ı i opuˇstˇen´ı bytu. Epizoda konˇc´ı n´avratem do postele ˇci usnut´ım na jin´em m´ıstˇe. Pˇri somnambulismu rozliˇsujeme dva typy chov´an´ı – adekv´atn´ı a neadekv´atn´ı. Do adekv´atn´ıho ˇrad´ıme ch˚ uzi, kter´a je vˇsak uskuteˇcn ˇovan´a v nespr´avnou dobu. V neadekv´atn´ım chov´an´ı se vyskytuje napˇr. mikce mimo toaletu, stˇehov´an´ı n´abytku ˇci ˇcinnosti, kter´e jsou zd´anlivˇe u ´ˇceln´e, ale z´aroveˇ n mohou b´ yt nebezpeˇcn´e. [5, s. 214]
Diagnostick´ a krit´ eria: Ch˚ uze bˇehem sp´anku. Pˇretrv´av´ an´ı sp´anku, zmˇenˇen´eho stavu vˇedom´ı nebo poruˇsen´eho u ´sudku
bˇehem ch˚ uze v podobˇe alespoˇ n jednoho pˇr´ıznaku: 1. 2. 3. 4. 5. 6.
Nemoˇznost probuzen´ı postiˇzen´eho. Psychick´a zmatenost po probuzen´ı. Amn´ezie (´ upln´a nebo ˇc´asteˇcn´a) na epizodu. Bˇeˇzn´e chov´an´ı v nepˇrimˇeˇren´ y ˇcas. Neadekv´atn´ı nebo nesmysln´e chov´an´ı. Nebezpeˇcn´e nebo potenci´alnˇe nebezpeˇcn´e chov´an´ı.
Nelze vysvˇetlit jinou poruchou sp´anku, jin´ ym intern´ım, neurologick´ ym, psy-
chiatrick´ ym onemocnˇen´ım, uˇz´ıv´an´ım l´ek˚ u nebo n´avykov´ ych l´atek.
[5, s. 216]
Noˇ cn´ı dˇ esy (pavor nocturnus) Stejnˇe jako somnambulismus vznikaj´ı i noˇcn´ı dˇesy pˇri ne´ upln´em probuzen´ı brzy po usnut´ı ze stadia 3 - 4 NREM. Noˇcn´ı dˇesy jsou nejm´enˇe ˇcastou poruchou z t´eto skupiny sp´ankov´ ych poruch. Epizoda obvykle zaˇc´ın´a n´ahl´ ym hlasit´ ym pl´aˇcem a kˇrikem. Dan´ y jedinec vykazuje zn´amky strachu (tachykardie, tachypnoe, zv´ yˇsen´ y svalov´ y tonus, mydri´aza), bˇehem epizody m˚ uˇze na posteli pouze sedˇet ˇci pob´ıhat zmatenˇe po pokoji. Noˇcn´ı dˇes trv´a 1 - 5 minut. 108
Diagnostick´ a krit´ eria: N´ ahl´a epizoda dˇesu vyskytuj´ıc´ı se bˇehem sp´anku, uv´adˇen´a obvykle pl´aˇcem
nebo hlasit´ ym kˇrikem, doprov´azen´a aktivac´ı autonomn´ıho nervov´eho syst´emu a chov´an´ım vyjadˇruj´ıc´ım intenzivn´ı strach. Je pˇr´ıtomen alespoˇ n jeden dalˇs´ı projev:
1. 2. 3. 4.
Obt´ıˇzn´a probuditelnost. Psychick´a zmatenost po probuzen´ı. Amn´ezie (ˇca´steˇcn´a nebo u ´pln´a) na epizodu. Nebezpeˇcn´e nebo potencion´alnˇe nebezpeˇcn´e chov´an´ı.
Nelze vysvˇetlit jinou poruchou sp´anku, jin´ ym intern´ım, neurologick´ ym, psy-
chiatrick´ ym onemocnˇen´ım, uˇz´ıv´an´ım l´ek˚ u nebo n´avykov´ ych l´atek. [5, s. 217]
Parasomnie v´ azan´ e na REM sp´ anek (RBD) Pˇri RBD (REM Behavior Disorder) pozorujeme abnorm´aln´ı chov´an´ı v pr˚ ubˇehu REM sp´anku, kter´e se objevuj´ı v z´avislosti na snu. Sny b´ yvaj´ı akˇcn´ı a n´asiln´e povahy, ˇcasto se vyskytuj´ı typy sn˚ u, ve kter´ ych je dotyˇcn´ y nˇek´ ym pron´asledov´an. Nemocn´ y se typicky bud´ı do pln´e bdˇelosti. T´ımto je sp´anek rozdˇelen do r˚ uzn´ ych etap. Vzhledem k nedostateˇcn´e svalov´e atonii hroz´ı poranˇen´ı sp´ıc´ı osoby ˇci partnera v posteli. Mezi projevy poruchy ˇrad´ıme z´aˇskuby, jednoduch´e pohyby, srozumiteln´e ˇci nesrozumiteln´e vokalizace, sm´ıch a kˇrik. Zranˇen´ı pacient˚ u vznik´a napˇr. pˇri p´adu z l˚ uˇzka nebo pˇri boji s osobou, kter´a se jej snaˇz´ı probudit. RBD dˇel´ıme do dvou skupin: sekund´arn´ı RBD a idiopatick´a RBD.
Sekund´ arn´ı RBD Sekund´arn´ı RBD se vyskytuje jako porucha, kter´a je spojen´a s jin´ ym neurologick´ ym onemocnˇen´ım. M˚ uˇze se vyskytovat jako abstinenˇcn´ı syndrom pˇri z´avislosti na alkoholu ˇci drog´ach. 109
Idiopatick´ a RBD Tato porucha se pomalu rozv´ıj´ı. Objevuje se vˇetˇsinou po 50. roce ˇzivota, pˇriˇcemˇz postihuje pˇrev´aˇznˇe pouze muˇze. U pacient˚ u, u kter´ ych je diagnostikov´an tento druh choroby, je v 65% pozdˇeji diagnostikov´ana Parkinsonova choroba, parkinsonsk´ y syndrom ˇci demence. Diagnostick´ a krit´ eria: Pˇr´ıtomnost REM sp´ anku bez atonie: nadmˇern´e trval´e nebo intermitentn´ı
zv´ yˇsen´ı svalov´eho tonu v subment´aln´ım EMG nebo nadmˇern´e f´azick´e z´aˇskuby sval˚ u brady nebo konˇcetin v EMG. Alespoˇ n jeden z n´asleduj´ıc´ıch jev˚ u:
1. V anamn´eze je chov´an´ı spojen´e se zranˇen´ım, s rizikem zranˇen´ı nebo s ruˇsiv´ ym chov´an´ım bˇehem sp´anku. 2. Klinick´a manifestace abnorm´aln´ıho chov´an´ı v REM sp´anku zachycen´a pˇri PSG. Nepˇr´ıtomnost epileptiformn´ı aktivity v EEG bˇehem REM sp´ anku, pˇri souˇcasn´em
v´ yskytu RBD a z´achvatov´e poruchy v REM sp´anku mus´ı b´ yt RBD od t´eto poruchy jednoznaˇcnˇe odliˇsiteln´e. Nelze vysvˇetlit jinou poruchou sp´anku, jin´ ym intern´ım, neurologick´ ym, psy-
chiatrick´ ym onemocnˇen´ım, uˇz´ıv´an´ım l´ek˚ u nebo n´avykov´ ych l´atek. [5, s. 223]
A.4
Insomnie
Insomnie je definov´ana jako chronick´a neschopnost sp´at, pˇrestoˇze pro sp´anek jsou adekv´atn´ı podm´ınky. Probl´emy mohou spoˇc´ıvat v us´ın´an´ı, udrˇzen´ı sp´anku ˇci ˇcasn´em probuzen´ı. Nespavost pˇrevl´ad´a u lid´ı ve vyˇsˇs´ım vˇeku. [9, s. 267] Pˇri t´eto poruˇse se vyskytuje latence usnut´ı, kter´a je delˇs´ı neˇz 30 minut. Pot´ıˇze s us´ın´an´ım se vyskytuj´ı i v pr˚ ubˇehu noci pˇri probuzen´ı. Pacient se probouz´ı dˇr´ıve, 110
neˇz m´a napl´anov´ano, a to aˇz o 30 minut. Tato porucha sp´anku se vyskytuje alespoˇ n 3kr´at t´ ydnˇe v trv´an´ı minim´alnˇe jednoho mˇes´ıce. [5, s. 88] Krit´ eria insomnie:
Obt´ıˇzn´e us´ın´an´ı (neschopnost navodit sp´anek). ˇ e probouzen´ı (neschopnost udrˇzet sp´anek). Cast´ ˇ Casn´ e probouzen´ı. Sp´anek je neosvˇeˇziv´ y, nekvalitn´ı, vyskytuje se u ´nava, poruchy koncentrace a pamˇeti, poruchy n´alady, podr´aˇzdˇenost, denn´ı spavost atd.
[5, s. 87] V dalˇs´ıch podkapitol´ach rozdˇel´ım nespavost dle klasifikace nespavosti.
Insomnie z poruchy pˇ rizp˚ usoben´ı, akutn´ı insomnie Insomnie z poruchy pˇrizp˚ usoben´ı se vyskytuje u 15 - 20% lid´ı jak´ehokoli vˇeku. Opakov´an´ı poruchy je ˇcast´e. Obt´ıˇze mohou spoˇc´ıvat v lehk´em sp´anku ˇci s probl´emy se sp´ankem bˇehem psychick´e z´atˇeˇze. Jako doprovodn´e pˇr´ıznaky jsou uvedeny napˇr. obavy, smutek a deprese v z´avislosti na stresoru. Komplikac´ı m˚ uˇze b´ yt alkoholismus ˇci dlouhodob´e uˇz´ıv´an´ı l´ek˚ u. Akutn´ı insomnie m˚ uˇze v´est k osobn´ım a pracovn´ım probl´em˚ um. Akutn´ı insomnie m˚ uˇze pˇrej´ıt do st´adia chronick´eho onemocnˇen´ı ˇci psychiatrick´eho onemocnˇen´ı. Diagnostick´ a krit´ eria: Z´ akladn´ı diagnostick´a krit´eria insomnie splnˇena. Porucha sp´ anku je ˇcasovˇe spojena s identifikovateln´ ym stresorem (psycholo-
gick´ ym, psychosoci´aln´ım, interperson´aln´ım, z okoln´ıho prostˇred´ı, fyzick´ ym). Je pˇredpoklad, ˇze sp´ankov´ a porucha vymiz´ı, kdyˇz vymiz´ı stresor nebo kdyˇz se pacient na nˇej adaptuje. Trv´an´ı maxim´alnˇe 3 mˇes´ıce (nˇekolik dn˚ u aˇz t´ ydn˚ u, vˇetˇsinou n´ahl´ y zaˇc´atek). Poruchu nelze vysvˇetlit jinou pˇr´ıˇcinou (sp´ ankovou, neurologickou, duˇsevn´ı, medikac´ı, jinou l´atkou). [5, s. 90] 111
Psychofyziologick´ a insomnie, prim´ arn´ı insomnie Psychofyziologickou insomnii nach´az´ıme u 1 - 2% populace, pˇriˇcemˇz ˇcastˇeji se vyskytuje u ˇzen r˚ uzn´eho vˇeku. Vyvol´avaj´ıc´ım faktorem m˚ uˇze b´ yt stres a ˇzivotn´ı zmˇeny. Bˇehem dne se jedinci zhorˇsuje n´alada, vyskytuj´ı se poruchy pozornosti a koncentrace. Pacienti vˇsak sp´ankov´ y deficit pˇres den nedoh´anˇej´ı. Pro tuto poruchu jsou charakteristick´e obavy o sv´e zdrav´ı, ztr´ata ˇzivotn´ı pohody a pˇrepracovanost. Pokud se jedinec s touto poruchou nel´eˇc´ı, kvalita sp´anku se zhorˇsuje, m˚ uˇze dokonce doj´ıt aˇz k velk´e depresi. Diagnostick´ a krit´ eria: Z´ akladn´ı diagnostick´a krit´eria insomnie splnˇena. Trv´an´ı nejd´ele jeden mˇes´ıc. Plat´ı nejm´enˇe jedno z n´asleduj´ıc´ıch krit´eri´ı:
1. Chronicky ud´avan´e stˇr´ıd´an´ı period, kdy pacient m´alo nebo v˚ ubec nesp´ı, s relativnˇe norm´aln´ımi periodami. ´ 2. Udaje ze sp´ankov´eho kalend´aˇre neodpov´ıdaj´ı normˇe, ˇcasto nen´ı ud´av´an sp´anek po nˇekolik noc´ı. Nejsou zn´amky pˇres den. 3. Rozd´ıl mezi objektivnˇe zjiˇstˇen´ ymi daty a subjektivn´ım vn´ım´an´ım sp´anku. Plat´ı nejm´enˇe jedno z n´asleduj´ıc´ıch krit´eri´ı:
1. Pacient ud´av´a konstantn´ı nebo t´emˇeˇr konstantn´ı obavu ze stimul˚ uz prostˇred´ı po vˇetˇsinu noci. 2. Pacient ud´av´a vˇedom´e myˇslenky ˇci ruminace po vˇetˇsinu noc´ı, kdyˇz leˇz´ı v posteli. 3. Ud´avan´e ovlivnˇen´ı bˇehem dne je obdobn´e jako u ostatn´ıch insomni´ı, ale neodpov´ıd´a subjektivnˇe ud´avan´e t´ıˇzi sp´ankov´e poruchy. Nejsou popisov´any sp´anky bˇehem dne, kter´e jsou obvykle ud´av´any po probdˇel´ ych noc´ıch. Poruchu nelze vysvˇetlit jinou pˇr´ıˇcinou (sp´ ankovou, neurologickou, duˇsevn´ı,
medikac´ı, jinou l´atkou). [5, s. 92] 112
Idiopatick´ a insomnie Z celkov´eho poˇctu insomni´ı se tento typ poruchy vyskytuje u 10% jedinc˚ u. 0,7% zastupuj´ı adolescenti a 1% velmi mlad´ı dospˇel´ı. Doprov´azej´ıc´ımi pˇr´ıznaky mohou b´ yt somnambulick´e pˇr´ıznaky. U nˇekter´ ych pacient˚ u nach´az´ıme v anamn´eze v dˇetstv´ı probl´emy s uˇcen´ım ˇci diagnostikovan´e ADHD (Attention Deficit Hyperactivity Disorder – hyperkinetick´a porucha (HKP)). Vz´ajemn´e vztahy vˇsak zat´ım nebyly nik´ ym prok´az´any. Komplikacemi m˚ uˇze b´ yt rozvoj deprese ˇci ˇspatn´a sp´ankov´a hygiena. Diagnostick´ a krit´ eria: Z´ akladn´ı diagnostick´a krit´eria insomnie splnˇena. Chronick´e onemocnˇen´ı:
1. Zaˇca´tek v dˇetstv´ı. 2. Nen´ı zn´am´a pˇr´ıˇcina. 3. Intenzita choroby je st´al´a, bez remis´ı. Poruchu nelze vysvˇetlit jinou pˇr´ıˇcinou (sp´ ankovou, neurologickou, duˇsevn´ı,
medikac´ı, jinou l´atkou). [5, s. 92]
Insomnie zp˚ usoben´ a duˇ sevn´ı poruchou Tato insomnie je zastoupena u 3% nemocn´ ych. U adolescent˚ u je procentu´aln´ı zastoupen´ı niˇzˇs´ı. U mladˇs´ıch pacient˚ u nach´az´ıme poruchu sp´ıˇse pˇri us´ın´an´ı, na rozd´ıl od starˇs´ıch jedinc˚ u, kteˇr´ı si stˇeˇzuj´ı na ˇcast´e probouzen´ı. U psychick´ ych poruch pˇri dobˇre zvolen´e l´eˇcbˇe nespavost rychle ustupuje. U nˇekter´ ych jedinc˚ u vˇsak i odeznˇen´ı deprese nepom˚ uˇze a insomnie z˚ ust´av´a. Diagnostick´ a krit´ eria: Z´ akladn´ı diagnostick´a krit´eria insomnie splnˇena. Trv´an´ı nejm´enˇe jeden mˇes´ıc. Psychick´a porucha byla diagnostikov´ ana podle standardn´ıch krit´eri´ı.
113
Insomnie se vyskytuje spoleˇcnˇe s psychickou poruchou, v nˇekter´ ych pˇr´ıpadech
se m˚ uˇze objevit insomnie o nˇekolik dn˚ u nebo mˇes´ıc˚ u dˇr´ıve neˇz souˇcasnˇe prob´ıhaj´ıc´ı psychick´a choroba. Insomnie je v´ yraznˇejˇs´ı neˇz porucha sp´anku, kter´a je pro psychickou chorobu
typick´a. Poruchu nelze vysvˇetlit jinou pˇr´ıˇcinou (sp´ ankovou, neurologickou, duˇsevn´ı,
medikac´ı, jinou l´atkou). [5, s. 93]
Neadekv´ atn´ı sp´ ankov´ a hygiena Mezi insomniemi zast´av´a tento druh poruchy 5 - 10%. Prvn´ı probl´emy se objevuj´ı jiˇz v obdob´ı adolescence. Mohou se vˇsak objevit kdykoli v pr˚ ubˇehu ˇzivota. Tato insomnie vznik´a z nekvalitn´ı sp´ankov´e hygieny a z poruˇsen´ı sp´ankov´ ych n´avyk˚ u. Jako doprovodn´e pˇr´ıznaky mohou b´ yt poruchy n´alady, sn´ıˇzen´ı pozornosti, u ´nava a ospalost. Mezi komplikace m˚ uˇzeme zaˇradit z´avislost na kofeinu ˇci jin´ ych stimulanci´ı. Diagnostick´ a krit´ eria: Z´ akladn´ı diagnostick´a krit´eria insomnie splnˇena. Trv´an´ı nejm´enˇe jeden mˇes´ıc. Pˇr´ıtomnost nejm´enˇe jedn´e z n´ asleduj´ıc´ıch pˇr´ıˇcin:
1. Nevhodn´e sp´ankov´e sch´ema – ˇcast´e denn´ı sp´anky, nepravideln´a doba ul´eh´an´ı a vst´av´an´ı, tr´aven´ı nepˇrimˇeˇren´e doby v posteli. 2. Pravideln´e uˇz´ıv´an´ı alkoholu, nikotinu, k´avy zvl´aˇstˇe v dobˇe pˇred ulehnut´ım. 3. Prov´adˇen´ı duˇsevnˇe stimuluj´ıc´ıch, fyzicky aktivn´ıch nebo emoˇcnˇe n´aroˇcn´ ych aktivit v dobˇe pˇred ulehnut´ım. ˇ 4. Casto se vyskytuj´ıc´ı zak´azan´e aktivity v posteli (sledov´an´ı TV, ˇcten´ı, pˇrem´ yˇslen´ı, pl´anov´an´ı, j´ıdlo). 5. Nevhodn´e prostˇred´ı ke sp´anku. 114
Poruchu nelze vysvˇetlit jinou pˇr´ıˇcinou (sp´ ankovou, neurologickou, duˇsevn´ı,
medikac´ı, jinou l´atkou). [5, s. 93]
Insomnie zp˚ usoben´ e uˇ z´ıv´ an´ım l´ ek˚ u/l´ atek Tato porucha zast´av´a 3,5% ze vˇsech insomni´ı. U mladˇs´ı populace tuto insomnii zp˚ usobuj´ı stimulancia, na rozd´ıl od starˇs´ı populace, kde ji zapˇr´ıˇciˇ nuj´ı sedativa. Doprovodn´e pˇr´ıznaky z´aleˇz´ı na l´atce, kter´a tuto insomnii zp˚ usobuje. K´ava zp˚ usobuje rozruˇsen´ı a denn´ı spavost. Amfetaminy a kokain ovlivˇ nuj´ı psychickou funkci. Na sedativa a hypnotika vznik´a z´avislost. Vyˇsˇs´ı d´avky sniˇzuj´ı u ´ˇcinnost. Pˇri pˇred´avkov´an´ı tˇemito l´atkami pozorujeme spavost pˇres den, poruchy koordinace a koncentrace. N´ahl´e vysazen´ı tˇechto l´ek˚ u zp˚ usobuje pˇres den nauzeu, svalov´e napˇet´ı, kˇreˇce, neklid a nervozitu. Vysazen´ı alkoholu (plat´ı u z´avisl´ ych lid´ı) zp˚ usobuje ˇziv´e sny. U chronick´ ych pacient˚ u m˚ uˇze doj´ıt i k ohroˇzen´ı ˇzivota. U pacient˚ u, u kter´ ych je insomnie zp˚ usobena toxiny, m˚ uˇzeme pozorovat poruchy pamˇeti, zmˇeny psychick´eho stavu, poruchy respiraˇcn´ıho, gastrointestin´aln´ıho a kardiovaskul´arn´ıho apar´atu. Diagnostick´ a krit´ eria: Z´ akladn´ı diagnostick´a krit´eria insomnie splnˇena. Trv´an´ı nejm´enˇe jeden mˇes´ıc. Je splnˇena alespoˇ n jedna z n´asleduj´ıc´ıch podm´ınek:
1. Prob´ıhaj´ıc´ı z´avislost na l´atce naruˇsuj´ıc´ı sp´anek (bud’ v obdob´ı intoxikace, ˇci vysazen´ı). 2. Souˇcasn´e uˇz´ıv´an´ı ˇci expozice medikac´ı, j´ıdla, toxinu naruˇsuj´ıc´ımu sp´anek – u vn´ımav´ ych jedinc˚ u. Insomnie je spojena se souˇcasn´ ym uˇz´ıv´an´ım, vystavov´an´ım se nebo akutn´ım
vysazen´ım l´ek˚ u/l´atek. Poruchu nelze vysvˇetlit jinou pˇr´ıˇcinou (sp´ ankovou, neurologickou, duˇsevn´ı, medikac´ı, jinou l´atkou). [5, s. 94] 115
Insomnie zp˚ usoben´ a somatick´ ym stavem, organick´ a insomnie Tato insomnie je zp˚ usoben´a jin´ ym onemocnˇen´ım ˇci fyziologick´ ym faktorem, napˇr. bolest´ı, omezen´ ym pohybem, poruchami d´ ych´an´ı ˇci tˇehotenstv´ım. Pr˚ ubˇeh t´eto insomnie je z´avisl´ y na rozvoji a l´eˇcbˇe onemocnˇen´ı, kter´e nespavost zp˚ usobuje.
Diagnostick´ a krit´ eria: Z´ akladn´ı diagnostick´a krit´eria insomnie splnˇena. Trv´an´ı nejm´enˇe jeden mˇes´ıc. Pacient m´ a souˇcasnˇe existuj´ıc´ı onemocnˇen´ı naruˇsuj´ıc´ı sp´anek. Insomnie je spojena s t´ımto onemocnˇen´ım, zaˇc´atek je ve spojitosti nebo
n´aslednˇe po jasn´em vyj´adˇren´ı pˇr´ıznak˚ u onemocnˇen´ı, kop´ıruje pr˚ ubˇeh onemocnˇen´ı. Poruchu nelze vysvˇetlit jinou pˇr´ıˇcinou (sp´ ankovou, neurologickou, duˇsevn´ı,
medikac´ı, jinou l´atkou).
[5, s. 95]
Neorganick´ a, nespecifikovan´ a insomnie Do t´eto skupiny ˇrad´ıme nespavost, kter´a nespad´a do ˇza´dn´e z pˇredchoz´ıch skupin. M´ame u n´ı vˇsak podezˇren´ı na souvislost s duˇsevn´ı poruchou ˇci na okolnosti, kter´e sp´anek naruˇsuj´ı. U nemocn´eho s touto diagn´ozou mohou n´asledovat dalˇs´ı vyˇsetˇren´ı, kter´a maj´ı druh insomnie v´ıce upˇresnit. [5, s. 95]
Fyziologick´ a (organick´ a) insomnie, nespecifikovan´ a T´eto diagn´ozy vyuˇz´ıv´ame v pˇr´ıpadˇe, ˇze insomnii nezaˇrad´ıme do ˇza´dn´e z pˇredchoz´ı skupiny, pˇriˇcemˇz m´a vztah k prob´ıhaj´ıc´ımu onemocnˇen´ı ˇci fyziologick´emu stavu. Fyziologick´a insomnie m˚ uˇze b´ yt diagnostikov´ana i v pˇr´ıpadˇe z´avislosti na l´atce, kdy je z´avislost pravdˇepodobn´a, ale nepotvrzen´a. [5, s. 96] 116
A.5
Syndrom sp´ ankov´ e apnoe (SAS)
K poruch´am d´ ych´an´ı v´azan´ ych na sp´anek neodmyslitelnˇe patˇr´ı pojmy apnoe a hypopnoe. Proto budou d´ale pro upˇresnˇen´ı vysvˇetleny. Apnoe je pˇreruˇsen´ı ventilace, kter´e trv´a 10 sekund a v´ıce. Hypopnoi definujeme jako pˇrechodn´e omezen´ı dechov´ ych objem˚ u nejm´enˇe o 50% norm´aln´ı hodnoty po dobu 10 s a v´ıce, d´ale saturace hemoglobinu poklesne nejm´enˇe o 3%. V pr˚ ubˇehu REM f´aze sp´anku se bˇeˇznˇe vyskytuje nepravidelnost dechu. Jako patologii povaˇzujeme pauzu dechu delˇs´ı neˇz 10 sekund. Pokud se tato apnoe vyskytuje ˇcastˇeji neˇzli 5kr´at, hovoˇr´ıme o syndromu sp´ankov´e apnoe. SAS rozdˇelujeme do dvou skupin: centr´aln´ı a obstrukˇcn´ı. Obstrukˇcn´ı SAS se vyskytuje u dospˇel´ ych, kteˇr´ı trp´ı nadv´ahou. Bˇehem t´eto apnoe pˇretrv´av´a d´ ychac´ı u ´sil´ı. V dosaˇzen´ı stˇredn´ıho vˇeku se tato porucha projevuje nadmˇernou spavost´ı. Tato skupina SAS se vyznaˇcuje specifick´ ym chr´ap´an´ım. Pravideln´e hlasit´e d´ ych´an´ı s pozvoln´ ym poklesem dechov´e aktivity stˇr´ıd´a opakovan´e inspiraˇcn´ı u ´sil´ı, pˇri kter´em se proudˇen´ı vzduchu v kolabovan´ ych d´ ychac´ıch cest´ach zcela zastav´ı. Po apnoii, kter´a nˇekdy trv´a aˇz 30 sekund, nastupuje nov´a vdechov´a aktivita, kter´a je doprov´azena on´ım chr´ap´an´ım a kr´atk´ ym probuzen´ım. V pr˚ ubˇehu sp´anku jsou jedinci t´emˇeˇr neprobuditeln´ı, bˇehem dne pocit’uj´ı u ´navu, us´ınaj´ı a mohou se vyskytovat bolesti hlavy. Centr´aln´ı SAS se vyskytuje vz´acnˇe a je spojen s poruchami noˇcn´ıho sp´anku ˇci s nespavost´ı. D´ ychac´ı u ´sil´ı vˇsak bˇehem t´eto apnoe nen´ı pˇr´ıtomno. N´asledkem dechov´e nedostateˇcnosti je hypoxie, hyperkapnie, pˇrechodnˇe zv´ yˇsen´ y tlak, bradykardie a jin´e arytmie. Kr´atk´e probuzen´ı zp˚ usobuj´ı zmˇeny v krevn´ıch plynech. Pacient vˇsak po probuzen´ı velmi rychle znovu us´ın´a. Toto probuzen´ı se vˇsak bˇehem noci nˇekolikr´at opakuje. Syndrom sp´ankov´e apnoe rozdˇelujeme do mnoha skupin a podskupin. Ty jsou d´ale vyps´any. [5, s. 117] [9, s. 268]
117
Rozdˇ elen´ı poruch d´ ych´ an´ı v´ azan´ ych na sp´ anek Syndromy centr´ aln´ı sp´ ankov´ e apnoe 1. Prim´arn´ı (idiopatick´a) centr´aln´ı sp´ankov´a apnoe. 2. Centr´aln´ı sp´ankov´a apnoe pˇri Cheyneovˇe-Stokesovˇe d´ ych´an´ı. 3. Centr´aln´ı sp´ankov´a apnoe pˇri periodick´em d´ ych´an´ı ve velk´e nadmoˇrsk´e v´ yˇsce. 4. Centr´aln´ı sp´ankov´a apnoe, kter´a nem´a charakter Cheyneova-Stokesova d´ ych´an´ı a kter´a je sekund´arn´ı jin´emu onemocnˇen´ı. 5. Centr´aln´ı sp´ankov´a apnoe z uˇz´ıv´an´ı drog a/nebo farmak. 6. Prim´arn´ı sp´ankov´a apnoe novorozenc˚ u a kojenc˚ u (dˇr´ıve prim´arn´ı sp´ankov´a apnoe novorozenc˚ u). Syndromy obstrukˇ cn´ı sp´ ankov´ e apnoe 7. Obstrukˇcn´ı sp´ankov´a apnoe dospˇel´eho vˇeku. 8. Obstrukˇcn´ı sp´ankov´a apnoe dˇetsk´eho vˇeku. Syndromy hypoventilace/hypoxie v´ azan´ e na sp´ anek 9. Idiopatick´a neobstrukˇcn´ı alveol´arn´ı hypoventilace v´azan´a na sp´anek. 10. Kongenit´aln´ı centr´aln´ı alveol´arn´ı hypoventilaˇcn´ı syndrom. Syndromy hypoventilace/hypoxie v´ azan´ e na sp´ anek pˇ ri jin´ em onemocnˇ en´ı 11. Hypoventilace/hypoxie v´azan´a na sp´anek pˇri patologii plicn´ıho parenchymu nebo plicn´ıch c´ev. 12. Hypoventilace/hypoxie v´azan´a na sp´anek pˇri obstrukci doln´ıch cest d´ ychac´ıch. 13. Hypoventilace/hypoxie v´azan´a na sp´anek pˇri neuromuskul´arn´ıch nemocech a pˇri chorob´ach hrudn´ı stˇeny. Ostatn´ı poruchy d´ ych´ an´ı v´ azan´ e na sp´ anek 14. Sp´ankov´a apnoe/porucha d´ ych´an´ı v´azan´a na sp´anek, nespecifikovan´a. [5, s. 118] 118
A.6
Syndrom neklidn´ ych nohou
Syndrom neklidn´ ych nohou naruˇsuje nejen noˇcn´ı sp´anek, ale tak´e us´ın´an´ı. Vyskytuje se ˇcastˇeji u muˇz˚ u. Po zahˇra´t´ı nohou pod peˇrinou doch´az´ı k parestezii, kter´a je spojen´a se z´aˇskuby doln´ıch konˇcetin. Tato parestezie nut´ı jedince vst´at a chodit. N´asleduj´ıc´ı ch˚ uze obt´ıˇze zm´ırˇ nuje. Syndrom neklidn´ ych nohou dˇel´ıme do dvou skupin: prim´arn´ı a sekund´arn´ı. Prim´arn´ı syndrom neklidn´ ych nohou je zˇrejmˇe geneticky podm´ınˇen. Sekund´arn´ı syndrom neklidn´ ych nohou nach´az´ıme napˇr. u Parkinsonovy choroby, avitamin´ozi a hyperlipid´emii. [9, s. 266]
119
120
Pˇ r´ıloha B Typy z´ akladn´ıch EEG rytm˚ u
121
doba
nebo
lok´ aln´ı
pˇ revahy
pˇ r´ıtomnosti
podm´ınky
oblast nebo okcipit´aln´ı
zavˇren´e oˇci
bdˇen´ı, relaxace,
maxima a pariet´aln´ı
bdˇen´ı, motorick´ y
difuzn´ı
variabiln´ı
amplituda pˇ r´ıtomnosti
difuzn´ı
nenorm´ aln´ı
precentr´aln´ı
klid 5-100 %
difuzn´ı
variabiln´ı
norm´aln´ı (?)
norm´aln´ı
nenorm´aln´ı
kappa
norm´aln´ı (?)
hrot nebo ostr´e vlny pozitivnˇe ostr´a vlna + jin´e pomal´e pozi-
ospalost, bdˇen´ı
a tempor´aln´ı
pˇredn´ı
a tempor´aln´ı
vizu´aln´ı stimulace
probl´emu (?)
bdˇen´ı pˇri ˇreˇsen´ı
nebo stres
bdˇen´ı, vzruˇsen´ı
parieto-
nebo otevˇren´ı oˇc´ı
n´astup sp´anku
stimulace
ospalost - r˚ uzn´a
stimulace
bdˇen´ı - sluchov´a
okcipit´aln´ı
front´aln´ı
bdˇen´ı
a front´aln´ı
2-10
variabiln´ı
difuzn´ı
rozsah rytmu
difuzn´ı
norm´ aln´ı
5-100 %
difuzn´ı
typ
5-100
5-100 %
20-200
variabiln´ı
lok´aln´ı
[µV]
8-12 Hz 2-20
20-200
variabiln´ı
variabiln´ı
norm´aln´ı 30-50 Hz
5-100
lok´aln´ı
lok´aln´ı
vertex
precentr´aln´ı
0,5-4,0 Hz
5-40
variabiln´ı
difuzn´ı
vertex
a front´aln´ı
0,5-4,0 Hz
5-100
variabiln´ı
difuzn´ı
precentr´aln´ı
a sp´ankov´a norm´aln´ı
5-7 Hz
20-50
variabiln´ı
lok´aln´ı
deprimace nenorm´aln´ı
8-12 Hz
50-100
variabiln´ı
frekvence
norm´aln´ı 18-30 Hz
nebo
alfa norm´aln´ı
rytmu
beta
gama
delta
tivnˇe negativn´ı aj.
5-100
norm´aln´ı (?)
theta
norm´aln´ı
12-14 Hz
pozitivnˇe negativn´ı
norm´aln´ı
lambda
K-komplex
sp´ankov´a vˇretena
Tabulka B.1: Tabulka z´akladn´ıch typ˚ u EEG rytm˚ u. [7]
122
Pouˇ zit´ a literatura a zdroje [1] SCHOMER D. L., DA SILVA F. L. Niedermeyer’s electroencephalography: basic principles, clinical applications, and related fields. 6th ed. Philadelphia, Pa: Lippincott Williams & Wilkins, 2010. ISBN 0781789427. [2] LEE-CHIONG T. L. Sleep: a comprehensive handbook. Hoboken, N.J.: Wiley, c2006. ISBN 978-0-471-68371-1. [3] GERLA V. Automated Analysis of Long-Term EEG Signals. Ph.D. thesis, CTU-FEE, Prague, 2012, online:
[4] ALDRICH M. S. Sleep medicine. New York: Oxford University Press, 1999. Contemporary neurology series, 53. ˇ´IMALOVA ´ S., SONKA ˇ [5] NEVS K. Poruchy sp´anku a bdˇen´ı. 2., doplnˇen´e a pˇrepracovan´e vyd´an´ı Praha: Gal´en, 2007, 345 s. ISBN 978-80-7262-500-0. ˇ A ´ A. Fyziologie sp´anku [online]. Brno, 2007 [cit. 2016-02-16]. [6] BAROSOV Bakal´aˇrsk´a pr´ace. Masarykova univerzita, Pˇr´ırodovˇedeck´a fakulta. Vedouc´ı pr´ace Martin V´acha Dostupn´e z: . [7] TROJAN, Stanislav. L´ekaˇrsk´a fyziologie. 4. pˇrepracovan´e a doplnˇen´e vyd´an´ı Praha: Grada, 2003. ISBN 80-247-0512-5. ˇ ˇ ´ K., ZAV ´ E ˇ SICK ˇ ´ L. Nespavost: zvl´ad´an´ı ne[8] PRASKO J., ESPA-CERVEN A A spavosti. 1. vyd´an´ı Praha: Port´al, 2004, 102 s. R´adci pro zdrav´ı. ISBN 807178-919-4. 123
[9] SEIDL Z. Neurologie pro studium i praxi. 2., pˇrepracovan´e a doplnˇen´e vyd´an´ı. Praha: Grada, 2015. ISBN 978-80-247-5247-1. [10] SHARBROUGH F., CHATRIAN G. E., LESSER R. P., LUDERS H., NUWER M., PICTON T. W. American electroencephalographic society guidelines for standard electrode position nomenclature. J. Clin. Neurophysiol., 8:200–202, 1991. [11] KAHOUN J. Automatick´a detekce sp´ankov´e apnoe. Praha, 2015. Diplomov´a ˇ e vysok´e uˇcen´ı technick´e. Vedouc´ı pr´ace Ing. V´aclav Gerla, Ph.D.. pr´ace. Cesk´ ´ [12] NAVRATIL L. Vnitˇrn´ı l´ekaˇrstv´ı: pro nel´ekaˇrsk´e zdravotnick´e obory. 1. vyd. Praha: Grada, 2008. ISBN 978-80-247-2319-8. [13] EKG vyˇsetˇren´ı. WikiSkripta [online]. 2008- [cit. 2016-04-13]. ISSN 18046517. Dostupn´e z: [14] NAGEL Ch. C# 2005: programujeme profesion´alnˇe. Vyd. 1. Pˇreklad Jakub Mikulaˇst´ık, Petr Dokoupil. Brno: Computer Press, 2006. ISBN 80-251-11814. [15] NASH T. C# 2010: rychl´y pr˚ uvodce novinkami a nejlepˇs´ımi postupy. Vyd. 1. Brno: Computer Press, 2010. ISBN 978-80-251-3034-6. ´ J. a PAZDERA L. Casovˇ ˇ [16] SMUTNY e frekvenˇcn´ı anal´yza re´aln´ych sign´al˚ u. 1. vyd. Brno: ECON, 2003. ISBN 80-86433-23-4. [17] BRIGHAM E. The fast Fourier transform and its applications. Englewood Cliffs, N.J.: Prentice Hall, c1988. ISBN 0133075052. ´ N. Vyuˇzit´ı FFT pˇri diagnostice Alzheimerovy choroby z EEG. [18] KOPECKA ˇ e vysok´e uˇcen´ı technick´e. Vedouc´ı pr´ace Praha, 2013. Bakal´aˇrsk´a pr´ace. Cesk´ doc. Ing. Jarom´ır Kukal Ph.D.. ˇ e [19] HORNIAK R. Anal´yza EEG sign´alu. Praha, 2010. Diplomov´a pr´ace. Cesk´ vysok´e uˇcen´ı technick´e. Vedouc´ı pr´ace Ing. V´aclav Gerla. 124
[20] Smˇerodatn´a
odchylka.
Matematika.cz
[online].
Nov´a
m´edia,
s.
r.
o., 2014 [cit. 2016-04-18]. Dostupn´e z: [21] HENDL J. Pˇrehled statistick´ych metod: anal´yza a metaanal´yza dat. 4., rozˇs. vyd. Praha: Port´al, 2012. ISBN 978-80-262-0200-4. [22] NATHAN A. WPF 4 unleashed. Indianapolis, Ind.: Sams, c2010. Unleashed. ISBN 978-0-672-33119-0.
125