Centrum digitální optiky Software pro °ízení PMS a digitální rekonstrukci obrazu
Interní i.£. RC201301
Rok vydání: 2013 Interní identika£ní £íslo: RC201301 Autor: Mgr. Radek elechovský, Ph.D. Vlastník: Univerzita Palackého v Olomouci, P°írodov¥decká fakulta
Pro efektivní za£len¥ní prostorového modulátoru sv¥tla (PMS) do systém· °e²ených v rámci projektu CDO byl vyvinut software pro jeho dynamické adresování z uºivatelky p°ív¥tivého prost°edí LabView. Sou£asn¥ s °e²ením °ízení PMS z LabView byly v daném prost°edí testovány moduly pro práci s kamerou a oºiveno rozhraní ActiveX pro impelmentaci vypo£etních algoritm· z prost°edí MatLab.
1 Funkcionalita programu Aktuální verze programu není vázána na ºádné konkrétní experimentální uspo°ádání, demonstruje pouze ov¥°ení schopnosti °ízení prostorového modulátoru sv¥tla v sou£inosti s kamerou v dymanickém reºimu z prost°edí LabView a testování jejich parametr·. Cílem programu je danou, p°edem p°ipravenou fázovou mapu na£íst z disku, zobrazit ji na prostorový modulátor sv¥tla, následn¥ sejmout obraz z kamery a uloºit ho na disk.
Obrázek 1: Schematický diagram funkce programu. K dispozici jsou dva reºimy °ízení PMS. V módu LIVE b¥ºí nekone£ná smy£ka, ve které se aktuáln¥ vybraná fázová mapa posílá na prostorový modulátor a pr·b¥ºn¥ se zobrazuje obraz z kamery. Tento reºim je vhodný pro nastavení experimentu a umoº¬uje volbu parametr· pro °ízení PMS a kamery v reálném £ase. Druhý reºim slouºí k automatickému sekven£nímu zobrazení vybraných fázových map v °ad¥ za sebou, uloºení pat°i£ných obraz· z kamery na disk a jejich následné zpracování. Funkci programu jednodu²e znázor¬uje schematický diagram na obrázku 1. Po spu²t¥ní programu se nejprve provede nastavení adresování prostorového modulátoru, na£tou se a upraví korek£ní data pro
fázové masky a inicializují se poºadované prom¥nné. Následn¥ program vykoná hlavní sekven£ní smy£ku, ve které postupn¥ na£ítá vybrané fázové bitmapy z disku, provede jejich korekci na základ¥ zvolených parametr·, zobrazí je na prostorový modulátor sv¥tla, nastaví parametry kamery, sejme obraz z kamery a uloºí ho na disk. Celá sekvence se opakuje tak dlouho, dokud je program v reºimu LIVE.
Obrázek 2: Uºivatelské rozhraní.
2 Popis uºivatelského rozhraní Uºivatelské rozhraní je vyobrazeno na obrázku 2. Vlevo jsou umíst¥na tla£ítka pro volbu reºimu °ízení programu. Tla£ítko LIVE spou²tí a zastavuje nekone£nou smy£ku, tla£ítko START SLIDESHOW jednorázov¥ spou²tí sekvenci vybraných fázových masek, tla£ítko TERMINATE ukon£uje program. Nabídka Files zobrazuje soubory fázových masek v pracovním adresá°i zadaném formulá°em Directory with CGHs. Pracovní adresá° lze nastavit ru£n¥ vypsáním cesty do polí£ka formulá°e nebo lze cestu k adresá°i vybrat pomocí tla£ítka umíst¥ného vedle formulá°e. P°i zm¥n¥ pracovního adresá°e se automaticky vypí²e obsah sloºky do nabídky Files. V této sloºce je moºné ozna£it libovolný po£et soubor·. Po£et vybraných soubor· se zobrazuje v polí£ku Selected items. Po spu²t¥ní sekvence tla£ítkem START SLIDESHOW jsou ozna£ené fázové masky postupn¥ zobrazovány na prostorový modulátor sv¥tla, p°i£emº je v polí£ku Actual znázorn¥no po°adové £íslo aktuální fázové masky, polí£ko Path of actual CGH ukazuje cestu k aktuální map¥ a ráme£ek SLM bitmap (without corrections) zobrazuje prostorové rozloºení fáze dané masky. Po zobrazení dané masky na PMS je sejmut obraz z kamery a ten je zobrazen do pole CAMERA preview a uloºen na disk do sloºky \CAM v pracovním adresá°i pod stejným názvem, jako má daná fázová maska. Vybrané parametry kamery lze b¥hem chodu programu nastavovat ²oupátky Binning, Gain a Exposure. Jezdec Max exposure slouºí pro nastavení v¥t²ího dynamického rozsahu expozice kamery. V reºimu LIVE celá sekvence b¥ºí neustále dokola. Ráme£ek Loop time ukazuje dobu trvání jedné smy£ky, tedy od vybrání poºadované fázové mapy aº po sejmují obrazu z kamery a jeho uloºení na disk. Pro úplnost zbývá popsat funkci tla£ítka SLM Settings. To otev°e okno s parametry pro nastavení prostorového modulátoru sv¥tla. Zejména umoº¬uje nastavit prodlevu mezi zobrazením jednotlivých fázových masek, nastavit cesty ke korek£ním soubor·m PMS a zvolit pracovní vlnovou délku sv¥tla.
3 Popis principu funkce programu St¥ºejní úkol pro °ízení plánovaných experiment· z prost°edí LabViev bylo vytvo°ení rozhraní pro adresování PMS a oºivení funkcí pro °ízení kamery. Diagram celého programu je uveden v p°íloze 4, jeho funkce je dob°e patrná z komentá°· ve schematu a nepot°ebuje detailn¥j²í komentá°. Následující odstavec se bude v¥novat popisu funkcím vytvo°ených pro °ízení PMS a kamery a k p°íprav¥ korek£ních dat.
3.1 ízení PMS Prostorový modulátor sv¥tla Hamamatsu X10468 je p°ipojen k po£íta£i p°es rozhraní DVI pomocí duální gracké karty. Programov¥ lze na daný PMS pohlíºet jako na druhý monitor p°ipojený k po£íta£i. Rozli²ení prostorového modulátoru je 800x600 pixel·, bitová hloubka 8 bit·. Pro °ízení modulátoru z prost°edí LabView musí být druhý monitor, ke kterému je p°ipojený PMS, kongurovám v systému Windows jako roz²í°ená pracovní plocha. Zobrazením bitové mapy do okna s nulovým ráme£kem, jehoº poloha a velikost korespondují se sou°adnicemi pracovní plochy odpovídající prostorovému modulátoru sv¥tla lze pak jednoduchým zp·sobem modulátor adresovat. Schema programu pro nastavení adresování PMS je na obrázku 3. Z vlastností aplikace App/Disp.All.Monitor lze vy£íst sou°adnice v²ech kongurovaných pracovních ploch v systému. Z nabízených ploch je zvolena ta, která odpovídá PMS a její sou°adnice je p°i°azena poloze a rozm¥r·m okna pro zobrazení bitové mapy (funkce IMAQ). Pro správnou funkci je nutné vypnou ráme£ek bitmapového okna pomocí a informace k obrázku pomocí IMAQ WindSetup. Rozm¥ry a poloha okna nastavuje funkce IMAQ WindZoom. Adresování PMS v pr·b¥hu programu lze pak provést prostým zobrazením bitové mapy do p°ipraveného okna (funkce IMAQ WindDraw).
Obrázek 3: Funkce pro nastavení adresování prostorového modulátoru sv¥tla.
3.2 P°íprava dat pro PMS Prostorový modulátor sv¥tla se adresuje bitovou mapou 800 x 600 pixel· s bitovou hloubkou 8 bit·. Maximální fázový vzdvih odpovídá hodnot¥ pixelu 255, coº pro daný konkrétní typ modulátoru odpovídá fázovému zdvihu p°ibliºn¥ 1.12 ∗ 2π pro vlnovou délku 700nm, p°i£emº závislost fázového zdvihu jednotlivých pixel· PMS na hodnot¥ adresujících byt· není lineární. P°epo£et hodnot mezi poºadovanou fází a hodnotou zasílanou na PMS je realizovaný LUT tabulkou dodávanou výrobcem. P°i p°epo£tu je nutné hodnoty zasílané na modulátor ²kálovat tak, aby vstupním hodnotám bitové mapy v rozsahu 0 aº 255 odpovídal skute£ný fázový zdvih 0 − 2π pro danou pracovní vlnovou délku sv¥tla. P°epo£et hodnot fázového zdvihu na hodnoty pat°i£ných adresujících byt· pomocí LUT tabulky je v programu realizován pomocí následujících funkcí:
• LUT_coef.vi - funkce na£ítá ze souboru daného cestou Path_to_info_file moºné koecienty pro korekci hodnot pro PMS na pracovní vlnovou délku sv¥tla. Výstupem funkce je matice pracovních
délek s pat°i£nými koecienty pro zobrazení v nabídce a koecient pro danou zvolenou vlnovou délku.
• LUT.vi - slouºí k na£tení LUT tabulky ze souboru daného cestou Path to LUT file a výsledek vrací v matici LUT table
• CGH_linear.vi - funkce na základ¥ LUT tabulky a ²kálovacího koecientu p°i°azuje hodnotám poºadované modulace fáze hodnoty byt· posílané na PMS
• flatness_corr.vi - funkce kompenzující zak°ivení plochy PMS na základ¥ korek£ní bitové mapy dodávané výrobcem
3.3 ízení kamery Kamera Retiga 4000 je k po£íta£i p°ipojená p°es FireWire rozhraní. Z prost°edí Labview se dá ke kame°e p°istupovat pomocí univerzální knihovny QCam.llb obsahující mnoºství funkcí. Princip na£ítání obrázk· a nastavení parametr· kamery je z°ejný z diagramu programu uvedeného v p°íloze 4. Inicializace kamery
se provede pomocí funkce QCam open, nastavení kamery se provádí funkcemi QCam Setup, QCam SetParam a QCam GrabSetup v po°adí udedeném v diagramu. Pomocí funkce QCam Grab Acquire se sejme obraz z kamery pro dané nastavení. Po ukon£ení práce s kamerou je nutné ji zav°ít funkcí QCam Close. Vý£et parametr·, kterými lze kameru nastavovat, se li²í v závislosti na r·zných modelech kamery. Vzhledem k tomu, ºe je knihovna univerzální pro více kamer, je nutné pomocí funkce QCam GetParam zjistit, které parametry a s jakými hodnotami p°ipojená kamera umoº¬uje. Seznam °ídících parametr· pro kameru Retiga 4000 je uveden v p°íloze 5.
3.4 Záv¥r Vytvo°ené funkce pro °ízení PMS a kamery fungují bezvadn¥. Korigovaná data posílaná na prostorový modulátor byly srovnávána s daty generovanými originálním softwarem pro °ízení PMS. Ob¥ generované bitové mapy zasílané na PMS byly shodné pro r·zné fázové mapy. Doba smy£ky programu je dána p°edev²ím odezvou kamery a závisí na nastavené expozici, zesílení kamery a binningu. Pro nejv¥t²í rozli²ení 2048 x 2048 a rozumné hodnoty expozice a binningu je doba smy£ky programu cca 0.5 sekundy, p°i rozli²ení 256x256 (binning 8x) je doba °ádov¥ 0.1 sekunda.
4 Diagram programu
5 Tabulka parametr· pro °ízení kamery Retiga 4000 parameter
min
max
gain oset exposure binning horizontal binning vertikal binning readout speed trigger type lcdlter cooler exposure red exposure blue image format roi x roi y roi width roi height reserved1 shutter state reserved2 sync-b out reserved3 intensier gain trigger delay camera mode normalized gain normalized intenzier doPostProcessing postProcessingGainRed postProcessingGainGreen postProcessingGainBlue postProcessBayerAlgorithm postProcessImageFormat fan blackoutmode high sensitivity Readout Port EM Gain open delay close delay clearing mode
0 0 0 1
4095 4095 1073741823 8
0 0 0 0 10 10 0 0 0 1 1
1 5 3 1 1073741823 1073741823 12 2047 2047 2048 2048
0
1
493000
23500000
10 10 10 1 0
100000 100000 100000 4 12