Uživatel:Kychot/MFTP/SigViewer, General Data Format a EMG u myofasciálních trigger pointů

SigViewer, General Data Format a EMG u myofasciálních trigger pointů

editovat

Vzhled:

  • myofasciální trigger point (TrP) – příklad konkrétního biosignálu
  • metodika – příklad komplikované spolupráce mezi klinikou (+ výrobcem zařízení) a výzkumem
  • EMG vyšetření EPN (Endplate Noise)
  • aparatura, technické problémy
  • formáty datových souborů
  • protokol, popis metadat
  • proprietární → otevřený datový formát
  • možné datové formáty
  • otevřený formát GDF (General DataFormat for biosignals)
  • univerzální prohlížeč SigViewer
  • komunita = programátoři + uživatelé (STV, bugtracking)
  • závěr

Myofasciální trigger point

editovat

Myofacsiální trigger point (MTrP, TrP – Dr. Janet Travell 1942):

  1. Bolest pociťovaná ve vztahu s diskrétním, dráždivým bodem kosterního svalu a/nebo přidružené fascie, nezpůsobená akutním lokálním traumatem, zánětem, degenerací, novotvarem anebo infekcí
  2. Bolestivý bod může být pociťován jako uzlík anebo svalový snopec a v důsledku podráždění TrP (přebrnknutí snopce) lze vyvolat svalový záškub
  3. Palpaci TrP označuje pacient za bolestivou a tato bolest se šíří specificky pro daný sval
  4. Bolest nelze vysvětlit z běžného neurologického vyšetření
  • David Simons, Siegfried Mense, Karel Lewit, Pavel Kolář
  • aktivní (bolestivý) vs. latentní TrP (bolestivý jen při palpaci)
  • lokalizace TrP: průsečík napnutého svalového snopce (taut band) & oblast nervosvalových plotének
  • EMG aktivita – ploténkový šum (typická amplituda v jednotkách μV – 10 μV)
  • terapie: FT (bolesti zad, epicondylitis atd. atd.) – často málo účinná nebo jen dočasná úleva
    • efekt suché jehly

Řetězení TrP

editovat
  • na úrovni CNS – nikoli fyzikální propojení (jakoby akupunkturní dráhy)
  • souvisí např. s Vojtovými schematy vývoje lokomoce
  • klinická empirie: působení na odlehlé body ⇒ mění aktivitu TrP

Úkol: Pokus o objektivizaci tohoto působení: Mění stimulace zřetězených TrP elektrickou aktivitu ve sledovaném TrP?

Metodika vyšetření

editovat
 
  • pac. předem vyšetřen FT
    • diagnostikovány paravertebrální TrP (zpravidla Th oblast)
    • algometrem změřena citlivost TrP a zřetězených (odlehlých) TrP
  • pacient relaxuje v leže na břiše
  • poloha TrP upřesněna bodovým měřením kožního odporu
  • zavedeny 2 koaxiální EMG elektrody (do místa TrP a symetricky kontralaterálně)
  • nalepeny 2 páry povrchových elektrod (po obou stranách jehlových)
  • po startu EMG záznamu měřen čas stopkami, eventy zapisovány do protokolu
  • jehla posunuta do blízkosti TrP (zvýšený ploténkový šum, ojedinělé AP)
    • problém: efekt suché jehly
  • kontralaterální jehla srovnána do stejné hloubky
  • záznam v klidu
  • kontinuální záznam při postupné stimulaci 6 zřetězených TrP (po obou stranách)
  • vliv řízeného dýchání

Vlastnosti EMG záznamu

editovat
  • EMG přístroj KEYPOINT® 4 (90. léta – předtím Medtronic, předtím Dantec)
  • pacientská data – soubory *.INV (proprietární nedokumentovaný formát ⇒ RI)
  • pův. SW umožňuje pouze 5s EMG záznamy *.EM5 (proprietární formát)
  • dokoupeno SW rozšíření OSC – umožňuje kontinuální záznam
  • datové soubory:
    • mnohakanálové záznamy (4 – 8 kanálů)
    • délka ~30 min @ 20 kHz
    • objem dat ~500 MB
    • proprietární nedokumentovaný formát binárního souboru *.OSC
    • možnost ukládání do dokumentovaného binárního exportního formátu *.EXP
      • v hlavičce pouze:
        • počet kanálů
        • vzorkovací frekvence
        • citlivost na začátku záznamu
    • možnost exportu souboru *.EXP do textového ASCII (mnoho GB dat)

Vlastnosti protokolovacího záznamu

editovat
  • ručně psaný
  • čas měřený stopkami
  • kontrola synchronisace – počet uložených MB (nepřesné)
  • řada eventů:
    • v rámci vyšetřovcího protokolu
    • náhodné jevy, události, rušení, poznámky atd.
  • cíl – bezpapírový protokol; redukce:
    • chyb operátora
    • nepřesnosti měření
    • chyb z přepisu

Zpracování metadat

editovat

Návrh a vytvoření databáze (MySQL):

  • emgdb_stru.sql – (70 ř.), 3 tabulky:
    • `invor` = INVestigation ORiginal data ← file *.INV
    • `bin` = metadata souboru s EMG křivkami ← file *.EXP
    • `comm` = komentář ← zpráva od fyzioterapeuta
  • emgdb_event_stru.sql (80 ř.) (tabulka `event`)

Zpracování ručně psaných protokolů

editovat
investigation:	2E
date:		2008-11-26
person:		****

letter:		E
expfile:	2EA04425.EXP
;%4chLRcs
~	     #1 electrode: coaxial sin
~	     #2 electrode: surface sin
~	     #3 electrode: coaxial dx
~	     #4 electrode: surface dx
;%simons
~	     #all amplifier: filter,low =100 [Hz]
~	     #all amplifier: filter,high =1 [kHz]
~	     #all amplifier: gain =10 [uV/DIV]
~               needle: sin depth =17 [mm]
~               needle: dx depth =20 [mm]
~		calib:  =1.7518 [s]
00:00           record: start,localtime =12:29 [CET]
54.4-129.533 #1 signal: AP =10 [Hz]
01:00	     #all amplifier: gain =5 [uV/DIV]
;4		%stim1
04:00+00:10	press: sole sin ~38.9 [MB]
05:00+00:10	press: sole dx
06:00+00:10	press: calf sin
07:00+00:10	press: calf dx
08:00+00:10	press: HMS sin
09:00+00:10	press: HMS dx ~86.5 [MB]
10:00+00:10	press: paracocc sin
11:00+00:10	press: paracocc dx ~105.7 [MB]
12:00+00:10	press: paracocc dx ;opakovaná stimulace
13:00+00:10	press: ang_costae5 sin
14:00+00:26	press: ang_costae5 dx ;zapomněl jsem hlásit konec
15:00+00:10	press: ang_costae5 dx
16:00+00:10	press: m_trapesius sin
17:00+00:10	press: m_trapesius dx ~163 [MB]
17:00		signal: activity,high ;zvýšená aktivita
18:00+00:10	press:	paracocc sin
18:30		disturbance: touch ;předčasná príprava na press
19:00+00:10	press:	paracocc dx ~182 [MB]
20:00+00:10	press:	paracocc sin
21:00+00:10	press:	paracocc dx
;22		%breath1 18
22:00+00:05	breath: inspir
22:05+00:05	breath: expir
22:10+00:05	breath: inspir
22:15+00:05	breath: expir
22:20+00:05	breath: inspir
22:25+00:05	breath: expir
22:30+00:05	breath: inspir
22:35+00:05	breath: expir
1375-1510    #4 signal:	surface dx	;výrazná závislost – na konci nádechů roste aktivita
25:36		motion: head
26:15		other:	touch,shoulder sin	;dotyk levé lopatky
27:00+00:10	press: infraspinatus sin
28:00+00:10	press: infraspinatus dx	~268.9 [MB]
29:00	   #all amplifier: gain =2 [uV/DIV]	~268.6 [MB] 
30:00		record: stop ~288.0 [MB]	;přesně (odchylka +0.03s)

letter:		F
expfile:	2EF04425.EXP
~	     #all amplifier: filter,low =20 [Hz]
~            #all amplifier: filter,high =10 [kHz]
~	     #all amplifier: gain =10 [uV/DIV]
~		calib:	=1.6818 [s]
00:00           record: start
01:00	   #all amplifier: gain  =5 [uV/DIV]
02:00	   #all amplifier: gain  =2 [uV/DIV]	~19.6 [MB]
03:00	   #all amplifier: gain  =1 [uV/DIV]	~29.0 [MB]
04:00	   #all amplifier: gain =10 [uV/DIV]	~35.6 [MB]
04:33	     #1	needle: left pull	;pomalu nahoru
04:53	     #1	needle: left pull,roof
05:00	     #1	needle: ;podkoží
05:32	     #1	needle: roof ;kůže
06:19		record: stop,unnoticed ~55.5 [MB] ;samo se zastavilo,čas nejistý

Import metadat do databáze

editovat
*** 2E/E ***
  1   1    1     0.0   0.0     0.0  00:00    --    --     --    --  -- record: start            --    --    --   --
  2   2    3    60.0   0.0    60.0  01:00    --    --     --    -- all amplifier: gain             --    =5    uV/DIV --
  3   3   11   240.0  10.0   250.0  04:00 00:10    --   38.9    --  -- press : sole             sin   --    --   --
  4   4   21   300.0  10.0   310.0  05:00 00:10    --     --    --  -- press : sole             dx    --    --   --
  5   5   12   360.0  10.0   370.0  06:00 00:10    --     --    --  -- press : calf             sin   --    --   --
  6   6   22   420.0  10.0   430.0  07:00 00:10    --     --    --  -- press : calf             dx    --    --   --
  7   7   13   480.0  10.0   490.0  08:00 00:10    --     --    --  -- press : HMS              sin   --    --   --
  8   8   23   540.0  10.0   550.0  09:00 00:10    --   86.5    --  -- press : HMS              dx    --    --   --
  9   9   14   600.0  10.0   610.0  10:00 00:10    --     --    --  -- press : paracocc         sin   --    --   --
 10  10   24   660.0  10.0   670.0  11:00 00:10    --  105.7    --  -- press : paracocc         dx    --    --   --
 11  11   24   720.0  10.0   730.0  12:00 00:10    --     --    --  -- press : paracocc         dx    --    --   opakovaná stimulace
 12  12   15   780.0  10.0   790.0  13:00 00:10    --     --    --  -- press : ang_costae5      sin   --    --   --
 13  13   25   840.0  26.0   866.0  14:00 00:26    --     --    --  -- press : ang_costae5      dx    --    --   zapomněl jsem hlásit konec
 14  14   25   900.0  10.0   910.0  15:00 00:10    --     --    --  -- press : ang_costae5      dx    --    --   --
 15  15   16   960.0  10.0   970.0  16:00 00:10    --     --    --  -- press : m_trapesius      sin   --    --   --
 16  16   26  1020.0  10.0  1030.0  17:00 00:10    --  163.0    --  -- press : m_trapesius      dx    --    --   --
 17  17    4  1020.0   0.0  1020.0  17:00    --    --     --    --  -- signal: activity,high    --    --    --   zvýšená aktivita
 18  18   14  1080.0  10.0  1090.0  18:00 00:10    --     --    --  -- press : paracocc         sin   --    --   --
 19  19    7  1110.0   0.0  1110.0  18:30    --    --     --    --  -- disturbance: touch            --    --    --   předčasná príprava na press
 20  20   24  1140.0  10.0  1150.0  19:00 00:10    --  182.0    --  -- press : paracocc         dx    --    --   --
 21  21   14  1200.0  10.0  1210.0  20:00 00:10    --     --    --  -- press : paracocc         sin   --    --   --
 22  22   24  1260.0  10.0  1270.0  21:00 00:10    --     --    --  -- press : paracocc         dx    --    --   --
 23  23    6  1320.0   5.0  1325.0  22:00 00:05    --     --    --  -- breath: inspir           --    --    --   --
 24  --   --  1325.0   5.0  1330.0  22:05 00:05    --     --    --  -- breath: expir            --    --    --   --
 25  24    6  1330.0   5.0  1335.0  22:10 00:05    --     --    --  -- breath: inspir           --    --    --   --
 62  44    7  1575.0   0.0  1575.0  26:15    --    --     --    --  -- other : touch,shoulder   sin   --    --   dotyk levé lopatky
 63  45   17  1620.0  10.0  1630.0  27:00 00:10    --     --    --  -- press : infraspinatus    sin   --    --   --
 64  46   27  1680.0  10.0  1690.0  28:00 00:10    --  268.9    --  -- press : infraspinatus    dx    --    --   --
 65  --   --  1740.0   0.0  1740.0  29:00    --    --  268.6    -- all amplifier: gain             --    =2    uV/DIV --
 66  47    1  1800.0   0.0  1800.0  30:00    --    --  288.0    --  -- record: stop             --    --    --   přesně (odchylka +0.03s)

Zpracování EMG záznamu

editovat
  • emg_osc.m (Octave, 500 ř.): *.EXP → *.fig → *.PDF
  • pův. představa mechanického výpočtu – nerealizovatelná
  • nutnost individuálního interaktivního prohlížení záznamu
  • možnost sdílení dat ⇒ konverze do otevřeného formátu

GDF – General Data Format for Biomedical Signals

editovat

konverze *.exp → gdf

editovat

Voilà!? Ne – problémy!

editovat
  • ...
  • ...
  • ...
  • řešení: trpělivý bugtracking

ilustrace

editovat

zobrazení biosignálů

editovat

 

 

nastavení barviček a průsvitnosti pro eventy

editovat

 

The Cathedral and the Bazaar

editovat
  • Běžný model (politika atp.): my (normální lidi) vs. oni (politici, parlament, vláda atd.)
  • OpenSource model: 1 materiál (kód), nahlížený ze dvou stran (programátoři, uživatelé) = 1 komunita

Katedrála a tržiště (Eric S. Raymond 1997):

  • 1. Každý dobrý program začíná tím, že řeší potíže samotného programátora.
  • 2. Dobří programátoři vědí co psát. Velcí vědí, co přepsat (a znovu použít = recyklace).
  • 6. Pokud jednáte s uživateli jako se spolupracovníky, je to ta nejsnazší cesta k rychlému vylepšení kódu a efektivnímu odstraňování chyb
  • 10. Pokud zacházíte s Vašimi testery, jako by byli vaším nejcennějším kapitálem, oni se vaším nejcennějším kapitálem skutečně stanou.
  • 11. Skoro stejně důležité, jako mít dobré nápady, je schopnost rozeznat dobré nápady vašich uživatelů. Občas je to druhé dokonce lepší.
  • 14. Jakýkoliv nástroj by měl být užitečný očekávaným způsobem, ale opravdu velké nástroje se hodí na použití, které jste nikdy neočekával.