Next: Pääikkunan näkymä (view.pas)
Up: Analyysiohjelmiston toteutus
Previous: Analyysisovelluksen moduulit
Sovelluksen perusrakenne on Borland Pascalin ObjectWindows-kirjaston
tukeman mallin mukainen. Kirjasto määrittelee kantaluokan
TApplication, josta perimällä määritellään Windows-sovellus.
Analyysisovelluksen määrittelee muuttuja AnalyseApp, jonka
tyyppi on TAnalyseApp. Varsinainen Pascal-kielen mukainen
pääohjelma ainoastaan alustaa muuttujan kutsumalla konstruktoria
Init, kutsuu muuttujan metodia Run, ja lopettaa sovelluksen
kutsumalla destruktoria Done.
Sovelluksen käynnistymisen kannalta oleellista on metodin
TAnalyseApp.InitMainWindow määrittely, joka luo sovelluksen
pääikkunan TAnalyseWin-tyyppiseksi. Sovelluksen varsinainen
toiminta on koodattu tähän luokkaan, joka on peritty
ObjectWindows-kirjaston luokasta TWindow. Sovelluksen pääikkuna
ottaa vastaan kaikki Windows-järjestelmän viestit, jotka ovat
pääasiassa lähtöisin käyttäjän toiminnoista. Borland Pascalissa näiden
viestien käsittely tapahtuu määrittelemällä pääikkunan luokalle
virtuaalimetodeja vastaamaan haluttuja Windows-järjestelmän viestejä.
Luokka TAnalyseWin sisältää suuren määrän näitä viestejä
käsitteleviä metodeja, mutta lisäksi tähän luokkaan on koodattu suuri
osa pääikkunan näkymän tilaa ja sen mukaista ikkunaviestien
käsittelyä. TAnalyseWin sisältää jäsenmuuttujan View,
jonka tyyppi on moduulissa view.pas määritelty luokka
TView, jonka tehtävä on hoitaa pääikkunan näkymä ja näkymän mukainen
ikkunaviestien käsittely, mutta myös pääikkunalla on jäsenmuuttujia,
jotka kertovat esimerkiksi pääikkunan sisältämät painonapit. Samoin
osa käyttöliittymän tilasta pidetään pääikkunan jäsenmuuttujassa
InputState. Luokka TView pitää kirjaa vain hiiren käyttöön
liittyvästä tilasta. Pääikkunaluokka hoitaa myös tehtäviä, jotka
yleensä Document/View -rakenteisissa Windows-sovelluksissa ovat
Document-luokan vastuulla. TAnalyseWin sisältää
jäsenmuuttujat, jotka pitävät kirjaa herkkyys/maksimi -analyysin
tuloksista.
Luokan TAnalyseWin metodit hoitavat seuraavia tehtäviä:
- Windows-järjestelmän viestien käsittely:
- Hiiren näppäimien painallukset ja hiiren siirto.
- Ikkunan uudelleenpiirto ikkunan peittyneen osan paljastuessa
ja ikkunan koon muuttuessa.
- Käyttäjän valinnat valikkojen tai näppäimistöltä tapahtuvien
pikavalintojen kautta.
- Windows-järjestelmän leikepöydän tyhjennys.
- Käyttöliittymän tilan mukainen reagointi joihinkin viesteihin:
- Toimiminen suoraan viestin mukaisesti ja tilatiedon päivitys.
- Viestin välitys näkymälle View.
- Pääikkunan painonappien lisääminen, poisto ja päivitys
toiminnon (yleensä valikkovalinnan) mukaan.
Kuva 4.6:
Tappien vaste voidaan määrittää ERG-mittauksella ja vasteiden
jatkoanalyysillä.
|
|
|
Pääikkunan valikko sisältää seuraavat toiminnot:
- Rekisteröintisekvenssien käsittely:
- Lue kaikki yhden kokeen rekisteröintisekvenssit.
- Lue yksi rekisteröintisekvenssi.
- Lue yhden kokeen rekisteröintisekvenssit annetusta
järjestysnumerosta annettuun järjestysnumeroon.
- Talleta rekisteröintisekvenssi.
- Talleta rekisteröintisekvenssin signaalidata ASCII-muodossa.
- Tuhoa rekisteröintisekvenssejä muistista.
- Tiedostopolkujen muutos.
- Rekisteröintisekvenssien muokkaus:
- Rekisteröintiparametrien muokkaus.
- Rekisteröintisekvenssin osan leikkaus uudeksi sekvenssiksi.
- Signaalin lineaarisen ryöminnän korjaus.
- Signaalin tasosiirtojen korjaus.
- Signaalin tasoitus painotetulla summauksella.
- Laskutoimitusten suoritus rekisteröintisekvensseillä.
- Signaalin amplitudin normeeraus.
- Mallikäyrän sovitus signaaliin.
- Signaalin mediaanisuodatus.
- Kokonaisten kokeiden analysointi:
- Amplitudi/nousuaika -analyysi.
- Herkkys/maksimi -analyysi.
- Graafisten esitysten laatiminen.
- Sovelluksesta poistuminen.
Hyvin suuri osa näistä toiminnoista on toteutettu moduulissa
anatools.pas. Kuvassa 4.6 on esitetty joidenkin
toimintojen käyttö tappivasteiden erottamiseen ERG-signaalista.
Punaisella (642 nm) stimulusvalolla vasteessa nähdään sekä
punaherkkien tappien että sauvojen kontribuutio. Keltaisella (553 nm)
stimulusvalolla signaali on puhdas sauvavaste, koska punaherkät tapit
eivät reagoi keltaiselle valolle, jonka intensiteetti on tarpeeksi
pieni. Vähentämällä punaisen stimulusvalon vasteesta keltaisen
stimulusvalon vaste saadaan puhdas punaherkkien tappien antama vaste,
kun keltaisen stimulusvalon intensiteetti on valittu siten, että se
stimuloi sauvoja yhtä paljon kuin punaisella valolla annettu stimulus.
Pääikkunan tilakone ei ole kovinkaan selkeästi näkyvissä sovelluksen
rakenteesta, koska tilatieto on hajautunut eri moduuleihin. Lisäksi
signaalin amplitudin normeerauksessa sovelluksen normaali
viestinkäsittely on ohitettu (metodit TAnalyseWin.MarkZeroLevel
ja TAnalyseWin.MarkMaxLevel). Tästä seuraa se, että sovelluksen
pääikkunan päivitys ei toimi kyseisen toiminnon aikana normaaliin
tapaan.
Next: Pääikkunan näkymä (view.pas)
Up: Analyysiohjelmiston toteutus
Previous: Analyysisovelluksen moduulit
Antti Miettinen
9/3/1997