Kvantitatív képfeldolgozás LabView-ban



A digitális képfeldolgozás alkalmazása a mérnökök mellett az utóbbi években egyre fontosabb eszköztára lett egyéb tudományterület művelőinek, például a biológusoknak. A képfeldolgozás feladata nemcsak megfigyelni, rögzíteni az egyes eseményeket, hanem a képek szépsége mellett nagyon fontossá vált a hordozott információ kinyerése különböző képi algoritmusok segítségével.

Mivel a képek rengeteg információt hordoznak, a kulcspont a lényeges információk kinyerése. A PTE PMMIK Mérnök Informatikus BSc-s és MSc-s hallgatói több tárgy során tanulják a képfeldolgozás, gépi látás alapjait, jelesül a Képfeldolgozás I-II illetve a Diffúziós modellek a képfeldolgozásban c. tárgyakban. Ennek a cikknek a célja egy rövid kitekintés a képfeldolgozás alkalmazásának lehetőségére. Fontos, hogy a hallgatók megértsék a lényeges alapelveket, amely megvalósítására a National Instruments LabView 2012 –es verzióját illetve az NI Vision szoftvereket használjuk.

Cél főbb vonalakban megmutatni a kritikus lépéseket, a fontos alapelveket, és azt, hogyan lehet a szükséges információt kitermelni képi adatok alapján.

A feladatok:

  • A feladat pontos definiálása;
  • Megjelenítés és szűrési feladatok;
  • Képszegmentálás;
  • Kvantitatív és kvalitatív információk kinyerése;
  • A LabView és az NI Vision előnyeinek bemutatása.

A megvalósítandó feladat

A kitűzött cél az 1. ábrán látható, béka véréből mikroszkóppal készített felvétel alapján meg kell mondani egy algoritmus segítségével a felvételen található sejtek számát, ezeket egyenként megjelölni, megszámozni, illetve eltárolni különböző kvalitatív paramétereket, mint terület, szélesség, hossz …stb.  Láthatóak a sejtek, melyek külső plazmamembránja adja a körvonalat, majd a benne lévő citoplazma látszik pirosas színnel, illetve a sötét tónussal látszó sejtmag (nucleus).
Az első kérdés, milyen információ alapján lehet a sejteket megszámolni. Problémát jelent, a sejtek összeérnek, így a sejtfalak közötti távolság nulla, sőt, néha a térbeli átfedés van a citoplazmák között. Lehetőség van azonban a sejtmagok elkülönítésére, mivel ezek nincsenek átfedésben, látszólag is jól definiáltak.

1. ábra. Béka vérének mikroszkópos felvétele /dr. Schiffer Ádám/



Az első feladat tehát a sejtmagok elkülönítése az ábra többi részétől (citoplazmától, héttértől, egyéb képi zajoktól). Több módszer is lehetséges, a legkézenfekvőbb ez esetben a színinformációk alapján szegmentálni. Mint ismeretes, az úgynevezett „true color” képek minden képpontot három bájton tárolnak. A R(red), G(green), B(blue) színkeverésből, melyen az összes komponenst egy bájton ábrázoljuk, az emberi szem számára megkülönböztethető összes szín előállítható. A képfeldolgozásban legtöbbször nem az RGB színrendszert, hanem az úgynevezett HSB/HSV/HSL színteret használjuk több előnye miatt. Itt nem a három főszínnel, hanem a H(hue) – színárnyalat, S(saturation)- színtelítettség, illetve B(brightness)/V(value) – világosság értékekkel jellemzünk egy képpontot. A HSL színtérben az L (lightness) a világosság értékét jelenti. A két színtér egymás között egyszerű számítással átjárható, melyet itt nem célom közölni [3].
A második ábrán a HSL színtérben végzett szűrés, és annak az eredménye látható. Az NI Vision szoftveren belül lehetőség van interaktív módon különböző képfeldolgozási feladatok megvalósítására, melyeket lineárisan egymás után kapcsolhatunk. A HSL szűrés paraméterezését, és annak az eredményét a 2. ábrán láthatjuk. A szűrés kimenet egy bináris kép, ahol minden pontot egy biten ábrázolunk. A szűrés során a H, S, L paraméterekre olyan logikai feltételt állítunk fel, amely kimenete minden képponton egy logikai kimenetet eredményez, vagyis a képpont megfelelt-e a szűrési feltételeknek (1) vagy sem (0). Az ábrán –logaritmikus skálán- adhatjuk meg a H,S,L értékeknek azt a tartományát, amelyet, mint logikai feltételt állítunk be minden képpont HSL értékeinek számára. A három intervallum a következő: H=[117 255], S=[143 255], L=[0 190]. Az ábra jobb oldalán látható a szűrés eredménye. A logikai feltételeknek megfelelő képpontok citromsárga színnel vannak ábrázolva. Az előző tartományok kiválasztása nem automatikus, hanem manuális feladat. Egyszeri pontos beállítás esetén, illetve ha garantáljuk a mérési környezetben az állandó megvilágítási paramétereket, a fenti paraméterek állandónak tekinthetőek, változtatásuk a további mérések során nem szükséges.  A 3. ábrán látható, hogy a szűrés legfontosabb paramétere a színtelítettségi (saturation) érték, ennek minimumának 143-ról 49-re változtatása a feldolgozás szempontjából már fals eredményt hoz. 

2. ábra. A HSL színtérben végzett szűrés illetve ennek eredménye. /dr. Schiffer Ádám/


 
3. ábra. A HSL színtérben végzett szűrés nem megfelelő paraméterezéssel. /dr. Schiffer Ádám/



A szűrés eredménye a fentiek szerint egy bináris kép, melynek magas (1) értékei jelentik a hasznos információt, ebben az esetben a sejtmagot.  Ahhoz, hogy a későbbiekben a sejtmag pontos méretét meg tudjuk állapítani, szükséges a sejtmagon belüli, szűrés során keletkezett hibák javítása. A hibák tulajdonképpen zajnak tekinthetőek, általában pár pixel szélességű, nulla értékű bináris pontok.
A negyedik ábrán látható a sejtmagon belüli, zajnak tekinthető 0 értékek automatikus kitöltésének eredménye. Erre az NI Vision egyik morfológiai operátora, az „Advanced morphology” alkalmas. Ez több eljárást kínál fel, a „fill hole” eljárás lehetőséget ad a nyílások kitöltésére[1][2].

4. ábra. A bináris kép javítása, a sejtmagon belül a zajnak tekinthető 0 értékek automatikus kitöltése. /dr. Schiffer Ádám/



A következő lépés  a sejmag széleinek lesimítása, illetve az apró, sejmagon kívüli zajok eltávolítása. Erre a morfológiai „open” illetve a „remove noise” operátorok alkalmasak az NI Vision-on belül.  Az 5. ábra az „opening” és a „fill hole” operátorok hatását mutatja be.
 
5. ábra. A bináris ábra és az "opening" és a "fill hole" operátorok hatása. /dr. Schiffer Ádám/



Az előző szűrések eredményeként a szegmentáláshoz már használható állapotba hoztuk az eredeti képünket. Az NI Vision „particle filter” paraméterezésének segítségével elvégezhetjük a különálló részek megjelölését, megszámlálását, illetve mérését. Természetesen itt feltételként definiálni kell, mely méretű sejmagokat tekintünk megfelelőnek, a túl nagy illetve túl kicsi sejmagokat nem kell figyelembe venni.
A megvalósított NI Vision projekt folyamatlánca a 6. ábrán látható.

6. ábra. A megvalósított NI Vision projekt folyamatstruktúrája. /dr. Schiffer Ádám/



Az előző projekt alkalmas arra, hogy a vérben található sejmagokat megszámolja, illetve kvalitatív információt adjon az egyes részeket illetően. A 7. ábrán látható táblázat a kvalitatív eredményeket közli az első nyolc sejtet illetően. Látható a sejtmag automatikus sorszáma (object #), a tömegközéppontja (Center of Mass X ,Y), a befoglaló négyszög koordinátái (Bounding Rect Left, Top, Right, Bottom), a körülfoglaló sokszög kerülete (Convex Hull Perimeter), a sejtmag területe pixel2-ben (Area), illetve a befoglaló négyzet iránya (orientation).  Az eljárás összesen 38 darab különálló sejtmagot talált.

7. ábra. Kvalitatív eredmények. /dr. Schiffer Ádám/



Az előző NI Vision projekt alkalmas arra, hogy a vérről készült kép alapján megszámolja és kvalitatív elemzést adjon a képen található sejtekről. Az NI Vision azonban  lehetőséget ad arra, hogy a projektet LabView-ba exportálja ki, így a LabView vi-t (Virtual Instrument, a LabView fájlok kiterjesztése és elnevezése) felhasználva egy magasabb szintű, felhasználói felülettel ellátott alkalmazást készítsünk.
A 8. ábrán egy egyszerű, LabView-ban készített alkalmazás kimenete látható, ahol az egyes sejtmagok meg lettek cimkézve. Láthatóak a befoglaló négyzetek, illetve a sejtmag maximális átmérője.

8. ábra. Felcimkézett sejtmagok, a szám a maximális átmérőt jelenti pixelben. /dr. Schiffer Ádám/



A 9. ábrán egy komplexebb alkalmazás képe látható. Az előzőekből kiindulva egy USB mikroszkóp segítségével, kb. 160-szoros nagyításban látható kávé és cukorszemcsék keveréke. A feladat itt a kétféle anyag (kávé, cukor) különválasztása, adott méretű szemcsék kvalitatív és kvantitatív analízise. Látható az eredmény hisztogramja, amely nem más, mint az adott méretű, metrikusan skálázott,  szemcsék sűrűségfüggvényének grafikus ábrázolása.

9. ábra. Alkalmazás képe. /dr. Schiffer Ádám/



Irodalomjegyzék:
[1] Sári Z. , Schiffer A.: Digitális kép- és hangfeldolgozás. Pécs, PTE PMMK,120p. 2004.
[2] NI Vision for LabView User Manual, 371007B-01, National Instruments, 2005.
[3] R.C. Gonzalez, R.E. Woods:  Digital Image Processing, Prentice Hall, 2001.




A SyncEQ és a VST-k I.


A VST, azaz Virtual Studio Technology a Steinberg Media Technologies GmbH 1996-ban fejlesztett eszköze, amely lehetővé teszi a virtuális hangszerek (VSTi) és virtuális effektek (VSTfx) létrehozását. Még a VSTi-k a különböző hangszerek élethűségre törekvő, esetleg minél szélesebb körben lehetőségeket biztosító szintetizátorok és samplerek tárháza, a VSTfx-ek az elektro-akusztikai gyakorlatban használt effektek (modulációs, pszicho-akusztikai, dinamikai stb. effektek) működését utánozzák. A VST-k jellemzően DAW, azaz Digital Audio Workstation-ök beépülőmoduljai. Eleinte a Steinberg DAW softwareiben voltka használatosak, azonban növekvő számuk miatt más forgalmazók software-i is támogatni kezdték, hála a Steinberg által kiadott dokumentációknak.


Az elektro-akusztikai szinkronizált kiegyenlítő felhasználási lehetőségei


A kiegyenlítők általánosan a jelfolyamok bizonyos torzulásainak javítására használt eszközök. A jelfolyam amikor egy mérőeszközben létrejön és továbbítódik, minden eszközön amin áthalad, az adott pont átviteli karakterisztikája szerint módosul. A kiegyenlítő a jelfolyam spektrumát hivatott módosítani, a mért folyamat eredetijéhez közelítővé alakítani. Természetesen, kifejezetten a zenei-produceri gyakorlatban ettől eltérő célra is használható a kiegyenlítő.


Tizen OS rendszer


A Tizen egy nyílt forráskódú Linux alapú operációs rendszer, mely számos eszközre nyújt fejlesztési lehetőséget.