====== Makro jazyk ====== * umožňuje sestavovat příkazy do skupin, * vytvářet varianty zpracování s různými parametry, * provádět hromadné zpracování v rámci studie. **Dělení příkazů:** * funkce kanálnické - příkaz je vázán pouze na jeden kanál * funkce jednorázové - příkaz se provede postupně pro všechny kanály ====== Funkce kanálnické ====== ^ Příkaz ^ Funkce ^ Parametry ^ Implementace ^ Poznámka ^ | | | | | | |AVG([-3 5 **1 2 4**], 'mean,std,median,selected'); | průměr pro jednu i více modalit|** -3 5** zobrazení před a po stimulu v sec;** 1 2 4** jsou vybrané modality v pořadí segmentace (např. 1-TG, 2-FQ, 3-dis 4-Reakce ), **selected** počítá poue s vybranými trialy definovanými v HDF souboru, varianta je tlačítko //Select Trials//| neúplné segmenty do průměru nejdou | průměr pro velká data, lze i median (nutno ale počítat po bodech)| |DEC(64); | decimace | konečná vzorkovací frekvence | | **DOPLNIT kontrolu ztráty úzkých trigerů** | |filtr(0,40);|FFT filtr | od - do Hz| |OK | |PD('trials'); |vykreslí průměr/celý jeden kanál | segmentovaná data předchází-li někde příkaz AVG, který vytvoří stejnojmenné pole **data.AVG**, **'trials'** segmenty přes sebe / nesegmentovaná data; | | | |PD('r'); | viz. výše | **'r'** [[#definice barev | RGB definice barev]] | | | |PD([0 1 0]); | viz. výše | **[0 1 0]** [[#definice barev | RGB definice barev]] | | | |PD(); | standardní nastavení | ostatní viz. výše | | | |PDS(['periodogram,Blackman']); | spektrum signálu váhovaného oknem | [[#definice váhovacích oken | definice váhovacích oken]], [[#Spectral Estimation Methods | metody pro odhad spektra]] | | | |power(0,40);| komplexní demodulace | od - do Hz| |OK | |SAVE('filter/0-40/'); |ulož do HDF | | |OK - vždy zapisovat dvě úrovně | |shiftCH('segments'); | manipulace s datovým kanálem | '**segments**' - sestaví jednotlivé segmenty za sebou do jedné časové řady, **bez artefaktů**, **bez neúplných segmentů**, délka segmentu a poloha trigeru jsou dány předchozím příkazem **AVG** | | příkazu musí předcházet AVG, který vytvoří indexy segmentů | |shiftCH('segments,all'); | manipulace s datovým kanálem | '**segments**' - viz výše, zahrnuje všechny trialy **včetně artefaktů a neúplných segmentů** - ty jsou doplněny nulami | | příkazu musí předcházet AVG, který vytvoří indexy segmentů | ====== Funkce jednorázové ====== ^ Příkaz ^ Funkce ^ Parametry ^ Implementace ^ Poznámka ^ | | | | | | |EX(w); |export dat |w - Scopewin, formát: nesegmentovaný | export pouze všech kanálů, chybějící jsou vynechány FIXME | OK | |file2HDF5(); |data a parametry do HDF5 | | | OK | |h5repack(); | přealokuje a zkomprimuje HDF5 soubor | | ve FileList a sloupci A je vhodné nastavovat 100| | |SEGM([500 10 2000 3000 1540 1555],[TG nonTG dis]); |segmentace dle trigerů |[min.detekční úroveň,délka trigeru v bodech, dolní mez 1, horní mez 1, dm2, hm2,... ] | - pokud je velikost trigeru jeden bod - 0 digitální triger - OK - pokud je délka trigeru větší než jeden bod, je třeba upravit databin a nastávají tyto možnosti: 1 - bere se první bod, 2 - bere se maximum mezi prvním a posledním bodem, 3 - bere se průsečík s nástupnou hranou v předepsané hladině)) | 0 - OK; 1,2,3 není hotovo | |SEGMsel(stimuly,[8 3 1 1]); |výběr trigrovacího kanálu|název kanálu| | | |song(); | zapět song | | | OK | |PRN('on') | automatický tisk | 'on'/ 'off' | automaticky se vypne po posledním příkazu na řádku | | | remtrend(); | odtranění trendu (spádu a stejnosměrné složky)| | lineání metoda | | ====== Funkce obslužné ====== ^ Příkaz ^ Funkce ^ Parametry ^ Implementace ^ Poznámka ^ | | | | | | | { | ve sloupci s názvem souboru otevírá skupinu příkazů | | | | | } | ve sloupci s názvem souboru uzavírá skupinu příkazů | | | | |SP(baseline,[0.6 0.05]); | baselina | umístění před trigrovací značkou | | 07/01/16 | |SP(FDRinTime,[ compute t1 t2]); | FDR korekce | FDR pro x časových bodů za sebou v daném intervalu | compute = 1/0, t1,t2 v sekundách | 07/01/16 | |SP(nextTrigLines,[x1 x2 ... xn]); | svislá čára | označení časových úseků | | 07/01/16 | |SP(win,on); | zapnutí zápisu do jednoho okna, vše následující se vykreslí do jednoho okna | | | | |SP(win,off); | vypnutí zápisu do jednoho okna, následující křivka bude vykreslena do samostatného okna | | | automaticky spouští //SP(cmap)//, lze předem vypnout //SP(cmap,off)//| |SP(cmap,par);SP(cmap); | nastavení pořadí barev při vykreslení více křivek| **nic**=default, **off/on**=ne/bude použito v aut. modu, ... | colorMap | | ====== Příklady ====== **Vykreslení variant (setX) zpracování pro každý kanál zvlášť (1-4) do jednoho okna** (způsob zápisu, výsledek)**:** {{:menu_a_ovladani_programu:commandspwin.png?900|}} {{:menu_a_ovladani_programu:spwin1.png?500|}} **Vykreslení více kanálů (1-4) pro set34 do jednoho okna** (způsob zápisu, výsledek)**:** {{:menu_a_ovladani_programu:commandspwin2.png?900|}} {{:menu_a_ovladani_programu:spwin2.png?500|}} * kombinovat lze libovolné varianty zpracování (PW, filtrace v různých pásmech), kanály i různé datové soubory * funkci //vykreslení do jednoho okna// lze potlačit z Menu->Options->**Force to Separate Wins** - křivky se budou vykreslovat do samostatných oken, jako by //SP(win,on)// nebylo použito **Vykreslení vybraného kanálu z více souborů do jednoho okna** (způsob zápisu, výsledek)**:** ====== Low Level funkce ====== ^ Funkce ^ Parametry ^ Typ ^ ^ Poznámka ^ Kontrola ^ |HDF52scopewin | (filepath, filename, command) | | Uloží libovolné kanály do Scopewinu |Zobecnit hledání v HDF5 a uložit samostatně - obecné řešení| | ====== Definice barev ====== ^ RGB Value ^ Short Name ^ Long Name ^ | [1 1 0] | y | yellow | | [1 0 1] | m | magenta | | [0 1 1] | c | cyan | | [1 0 0] | r | red | | [0 1 0] | g | green | | [0 0 1] | b | blue | | [1 1 1] | w | white | | [0 0 0] | k | black | ====== Definice váhovacích oken ====== * 'Bartlett' * 'Bartlett-Hanning' * 'Blackman' * 'Blackman-Harris' * 'Bohman' * 'Chebyshev' * 'Flat Top' * 'Gaussian' * 'Hamming' * 'Hann' * 'Kaiser' * 'Nuttall' * 'Parzen' * 'Rectangular' * 'Taylor' * 'Triangular' * 'Tukey' * 'User Defined' ====== Spectral Estimation Methods ====== ^ **Method** ^ **Command** ^ **Description** ^ ** spectrum.estmethod** ^ **Corresponding Function** ^ | Periodogram | **periodogram** | Power spectral density estimate | spectrum.periodogram | periodogram | | Welch | **welch** | Averaged periodograms of overlapped, windowed signal sections | spectrum.welch | pwelch | | Burg | - | Autoregressive (AR) spectral estimation of a time-series by minimization of linear prediction errors | spectrum.burg | pburg | | Covariance | **cov** | Autoregressive (AR) spectral estimation of a time-series by minimization of the forward prediction errors | spectrum.cov | pcov | | Modified Covariance | **mcov** | Autoregressive (AR) spectral estimation of a time-series by minimization of the forward and backward prediction errors | spectrum.mcov | pmcov | | Eigenvector | - | Pseudospectrum estimate | spectrum.eigenvector | peig | | Thompson multitaper | **mtm** | Spectral estimate from combination of multiple orthogonal windows (or "tapers") | spectrum.mtm | pmtm | | MUSIC | | Multiple Signal Classification | spectrum.music | pmusic | | Yule-Walker AR | - | Autoregressive (AR) spectral estimate of a time-series from its estimated autocorrelation function | spectrum.yulear | pyulear |