• No results found

Tabulka 3.1: Seznam optick´ych element˚u v disperzn´ı ˇc´asti optick´e soustavy (L -ˇcoˇcka, P - hranol, G - difrakˇcn´ı mˇr´ıˇzka, D - dublet),

”Inf“ znamen´a nekoneˇcn´y polomˇer, tud´ıˇz rovn´y povrch (pˇrevzato z [20])

s optickou osou. Stejnˇe jako u vstupn´ı ˇc´asti i zde byl kladen d˚uraz na dostupnost a relativnˇe n´ızkou cenu vˇsech optick´ych element˚u a mimo hranol a ˇcoˇcku L2, kter´e byly vytvoˇreny na zak´azku, je zbytek optick´ych element˚u bˇeˇznˇe dostupn´ych. Na v´ystupu t´eto ˇc´asti je pak detektor kamery.

3.1.2 Detektor

Jak jiˇz bylo zm´ınˇeno v´yˇse, v aktu´aln´ı sestavˇe vyuˇz´ıv´ame dvou obraz˚u nad sebou, coˇz sice znamen´a, ˇze zaznamen´av´ame vˇetˇs´ı mnoˇzstv´ı dat, nicm´enˇe st´ale se pohybujeme ˇr´adovˇe v mnohem menˇs´ıch ˇc´ıslech, neˇz kdybychom nevyuˇz´ıvali komprimovan´eho sn´ım´an´ı a sn´ımali sc´enu pixel po pixelu. V´yhoda dvou obraz˚u n´am tedy v´yraznˇe zlepˇsuje samotnou rekonstrukci za cenu nepatrn´eho zpomalen´ı cel´eho procesu re-konstrukce.

D´ale tak´e u obou obraz˚u zaznamen´av´ame mimo prvn´ıho ˇr´adu difrakce tak´e nult´y

Obr´azek 3.2: Uk´azka vstupn´ıch dat z detektoru - v lev´e ˇc´asti je vidˇet spektr´alnˇe rozm´ıtnut´y prvn´ı ˇr´ad a v prav´e ˇc´asti je vidˇet nult´y ˇr´ad

ˇr´ad, kter´y v z´asadˇe vizu´alnˇe odpov´ıd´a sc´enˇe, kterou sn´ım´ame, coˇz n´am opˇet posky-tuje jistou v´yhodu pˇri rekonstrukci.

Jako detektor pouˇz´ıv´ame kameru Manta G-507B od v´yrobce Allied Vision o rozliˇsen´ı 2464 × 2056, kter´a vyuˇz´ıv´a CMOS senzory o velikosti 3,45 µm × 3,45 µm [21]. Sa-motn´e propojen´ı kamery s poˇc´ıtaˇcem je zajiˇstˇeno softwarem Matlab.

Jak vypadaj´ı vstupn´ı data, kter´a zaznamen´ame pomoc´ı tohoto detektoru, je moˇzn´e vidˇet na obr´azku3.2.

3.1.3 Modulaˇ cn´ı maska

V HDESu je vyuˇz´ıv´ano dvou masek o velikosti 64×64 pixel˚u, kter´e byly vytvoˇreny pomoc´ı fotolitografie nanesen´ım tenk´e chromov´e vrstvy na sklenˇen´y podklad. Masky jsou um´ıstˇeny nad sebe a jejich pˇredlohou byla n´ahodn´a bin´arn´ı matice 64×64, kde polovina pixel˚u jsou nuly a zbytek jedniˇcky. Obˇe masky jsou navz´ajem komple-ment´arn´ı, coˇz znamen´a, ˇze vrchn´ı maska je positivem t´eto matice a spodn´ı maska je jej´ım negativem (tzn. tam kde v p˚uvodn´ı matici byly jedniˇcky jsou pro spodn´ı masku nuly a opaˇcnˇe). Matici modulaˇcn´ı masky pro vrchn´ı ˇc´ast obrazu je moˇzn´e vidˇet na obr´azku3.3. Rozmˇery kaˇzd´e z masek jsou pˇribliˇznˇe 13,55 mm × 13,55 mm, coˇz znamen´a, ˇze jeden pixel takov´eto masky m´a rozmˇery 0,21 mm × 0,21 mm. [20]

Vyuˇzit´ı masek, kter´e jsou navz´ajem positivem a negativem m´a velkou v´yhodu pˇri samotn´e rekonstrukci. U nult´eho ˇr´adu m˚uˇzeme t´eto skuteˇcnosti vyuˇz´ıt tak, ˇze oba obrazy seˇcteme, ˇc´ımˇz dostaneme matici plnou jedniˇcek, coˇz je p˚uvodn´ı obraz, jak bychom ho vidˇeli, kdybychom seˇcetli vˇsechny spektra (v naˇsem pˇr´ıpadˇe, kdy pracu-jeme s viditeln´ym svˇetlem, bychom tak dostali obraz, kter´y ve skuteˇcnosti vid´ıme).

Naopak u prvn´ıho ˇr´adu se vyplat´ı oba obrazy odeˇc´ıst, protoˇze tak pro danou vlnovou d´elku ˇc´asteˇcnˇe eliminujeme vliv ostatn´ıch vlnov´ych d´elek.

Obr´azek 3.3: Modulaˇcn´ı maska pro vrchn´ı ˇc´ast obrazu - b´ıl´a m´ısta pˇredstavuj´ı pixely, kter´e propouˇst´ı svˇetlo, tmav´a pak ty pixely, kter´e jsou nepr˚uhledn´e

3.1.4 Difrakˇ cn´ı mˇ r´ıˇ zka

K rozdˇelen´ı spektra vyuˇz´ıv´ame, jak jiˇz bylo ˇreˇceno, difrakˇcn´ı mˇr´ıˇzku. V naˇsem pˇr´ıpadˇe je pouˇzita mˇr´ıˇzka Thorlabs 500 nm blaze z borosilik´atov´eho skla, kter´a m´a 300 vryp˚u na milimetr. V´yhodou vyuˇzit´ı mˇr´ıˇzky oproti hranolu jako disperzn´ıho elementu je pˇredevˇs´ım rovnomˇern´e rozloˇzen´ı spektra na detektoru. Jde tedy o to, ˇze v pˇr´ıpadˇe disperzn´ıho spektra (tedy pˇri pouˇzit´ı hranolu) je vzd´alenost mezi bodem reprezentuj´ıc´ım vlnovou d´elku kupˇr´ıkladu 500 nm a druh´ym bodem pˇredstavuj´ıc´ım 600 nm rozd´ıln´a neˇz vzd´alenost mezi body 600 nm a 700 nm. Naopak u difrakˇcn´ıho spektra (tedy pˇri pouˇzit´ı difrakˇcn´ı mˇr´ıˇzky) budou tyto vzd´alenosti vˇzdy stejn´e v cel´em spektru. V´yhodou je tedy jednoduˇsˇs´ı kalibrace, nebot’ v´ıme, ˇze pozice jed-notliv´ych ˇc´ast´ı spektra na detektoru je pˇr´ımo ´umˇern´a jejich vlnov´e d´elce.

Nev´yhodou oproti hranolu vˇsak je rozd´ıln´a propustnost svˇetla na rozd´ıln´ych vl-nov´ych d´elk´ach.

3.1.5 Zpracov´ an´ı vstupn´ıch dat

Neˇz zapoˇcne samotn´a rekonstrukce, je nutn´e vstupn´ı data z´ıskan´a z kamery nejprve zpracovat, to znamen´a oˇrezat a zmenˇsit. Oˇrez´an´ı se prov´ad´ı tak, ˇze z matice surov´ych dat, kterou je moˇzn´e vidˇet napˇr´ıklad na obr´azku3.2, postupnˇe v Matlabu vyjmeme submatice odpov´ıdaj´ıc´ı jednotliv´ym ˇr´ad˚um. Souˇradnice submatic jsou pro vˇsechny mˇeˇren´ı stejn´e a z´ısk´avaj´ı se pˇri kalibraci soustavy. Ve v´ysledku tedy z´ısk´ame ˇctyˇri matice, kde dvˇe odpov´ıdaj´ı prvn´ım ˇr´ad˚um a dvˇe odpov´ıdaj´ı nult´ym ˇr´ad˚um. Velikosti jednotliv´ych matic se mohou po kaˇzd´em zkalibrov´an´ı liˇsit o nˇekolik pixel˚u, nicm´enˇe velikost matice nult´eho ˇr´adu se pohybuje pˇribliˇznˇe kolem 520×530 pixel˚u kamery a velikost matice prvn´ıho ˇr´adu kolem 1520×520 pixel˚u kamery.

N´asledn´e zmenˇsen´ı matic nult´ych ˇr´ad˚u na n´ami poˇzadovanou velikost 64×64 pixel˚u a matic prvn´ıch ˇr´adu na velikost 185×64 pixel˚u (velikost prvn´ıho ˇr´adu v horizont´aln´ı ose se m˚uˇze liˇsit v z´avislosti na kalibraci) je prov´adˇeno pomoc´ı funkce

”shrinking“.

Tato funkce pracuje obdobnˇe jako jiˇz implementovan´a funkce v Matlabu

”imresize“, nicm´enˇe jej´ı popis by byl zdlouhav´y a pro tuto pr´aci nepodstatn´y, tud´ıˇz ho zde nebudu uv´adˇet. Jej´ım v´ystupem jsou pak ˇctyˇri zmenˇsen´e matice, kde kaˇzd´y pixel tˇechto matic pˇredstavuje pˇribliˇznˇe 8×8 pixel˚u kamery.

3.2 Rekonstrukce obrazu

Rekonstrukce obrazu je zaloˇzena na optimalizaˇcn´ı ´uloze 2.8 a jej´ım ˇreˇsen´ı pomoc´ı TwIST algoritmu. Kv˚uli zpˇrehlednˇen´ı zde nejprve uvedu znaˇcen´ı jednotliv´ych matic a oper´ator˚u, kter´e bude d´ale pouˇz´ıv´ano.

Vstupn´ı data detektoru D budou znaˇcena jako

”vstupn´ı detektor D“, rekonstruovan´a hypespektr´aln´ı datakrychle ve vlnkov´e dom´enˇe I bude znaˇcena jako

”datakrychle I“ a v´yraz AI, kter´y v ´uloze 2.8 odpov´ıd´a odhadu detektoru, bude znaˇcen jako

”detektor ¯D“.

Prvn´ı d˚uleˇzitou pozn´amkou je, ˇze k matici A ze zm´ınˇen´e ´ulohy 2.8, kter´a n´am zajiˇst’uje pˇrevod datakrychle I na detektor ¯D, lze pˇristupovat dvˇema zp˚usoby.

Prvn´ım pˇr´ımoˇcaˇrejˇs´ım zp˚usobem je pˇristupovat k n´ı jako ke skuteˇcn´e matici. V ta-kov´em pˇr´ıpadˇe bychom si vstupn´ı detektor D a datakrychli I z rovnice2.8 pˇrevedli na vektory a tud´ıˇz bychom mˇeli vektor D o N (N + L − 1) sloˇzk´ach a vektor I o N2L sloˇzk´ach. Matice A, kter´a zajiˇst’uje spektr´aln´ı rozm´ıtnut´ı, modulaci a zpˇetn´e pˇreveden´ı z vlnkov´e dom´eny do dom´eny prostorov´e (viz rovnice 2.9), by pak mu-sela m´ıt rozmˇery N (N + L − 1) × N2L. Teoreticky zde tedy ˇz´adn´y probl´em nen´ı a pˇrevod datakrychle I na detektor ¯D m´ame proveden´y v jednom kroku a algo-ritmus by si matematicky s takov´ymto postupem byl schopen poradit. Nicm´enˇe prakticky nar´aˇz´ıme na z´asadn´ı probl´em, kter´ym je velikost matice A, protoˇze je pravdˇepodobn´e, ˇze i pˇri pomˇernˇe mal´ych velikostech N a L (rozmˇery naˇs´ı da-takrychle) by se n´am tato matice nemusela vej´ıt do operaˇcn´ı pamˇeti poˇc´ıtaˇce.

Napˇr´ıklad v pˇr´ıpadˇe, ˇze bychom pracovali s rozmˇery N = 64 a L = 122 (jako je datakrychli v jednom kroku, ale poˇc´ıt´ame kaˇzd´y ˇrez datakrychle (vlnovou d´elku) zvl´aˇst’. Z´aroveˇn tak´e nepˇristupujeme k matici A jako ke skuteˇcn´e matici, ale sp´ıˇse jako k funkci, kter´a n´am tento pˇrevod zajiˇst’uje, coˇz bude vysvˇetleno d´ale.

K samotn´e rekonstrukci tedy vyuˇz´ıv´ame soubor funkc´ı v Matlabu, kter´e slouˇz´ı jak k prvotn´ımu zpracov´an´ı dat z vstupn´ıho detektoru D (jejich naˇcten´ı, oˇrez´an´ı, atd.) tak i pro rekonstrukci zaloˇzenou na TwIST algoritmu. Cel´y proces rekonstrukce je ovl´ad´an pomoc´ı skriptu (pro jednoduchost oznaˇcen´y jako

”main“) slouˇz´ıc´ıho jako takov´e uˇzivatelsk´e rozhran´ı, d´ıky kter´emu m˚uˇzeme jednoduˇse nastavovat parametry, kter´e do cel´eho procesu vstupuj´ı. Tento skript se n´am tak´e star´a o prvotn´ı ´upravu dat a tak´e koneˇcn´e zobrazen´ı v´ysledk˚u. D˚uleˇzitou funkc´ı ve kter´e se odehr´av´a proces

Tabulka 3.2: Pˇr´ıstup ke zpracov´an´ı sn´ımk˚u (hranat´e z´avorky znaˇc´ı jednu matici, tud´ıˇz napˇr´ıklad [pozitiv - negativ] znaˇc´ı jednu v´yslednou matici, ve kter´e se navz´ajem oba sn´ımky odeˇcetly)

M´od 1 [pozitiv]

M´od 2 [pozitiv]

[negativ]

M´od 3 [pozitiv - negativ]

samotn´e rekonstrukce je funkce oznaˇcen´a jako

”reconstruct“, kter´a slouˇz´ı prim´arnˇe k pˇred´an´ı parametr˚u TwIST algoritmu a z´aroveˇn jeho spuˇstˇen´ı v poˇzadovan´em poˇctu iterac´ı. D´ale se zde pak nach´az´ı soubor funkc´ı pro samotn´y TwIST algoritmus. J´adro tohoto algoritmu a jeho matematick´a podstata je mimo rozsah t´eto pr´ace, a proto j´ı tu nebudu uv´adˇet.

Mimo parametr˚u, kter´ymi ovlivˇnujeme rekonstrukci (jako napˇr´ıklad poˇzadovan´a pˇresnost v´ysledku, maxim´aln´ı poˇcet iterac´ı, atd.) jsou stˇeˇzejn´ı tˇri funkce, kter´e znaˇcnˇe ovlivˇnuj´ı pr˚ubˇeh TwISTu a v´ysledky, kter´e n´am bude d´avat. Jsou to funkce pro poˇc´ateˇcn´ı odhad (oznaˇcen´a jako

”makeInitGuess“), kter´a ze vstupn´ıch dat vy-tvoˇr´ı poˇc´ateˇcn´ı odhad datakrychle, coˇz slouˇz´ı jako v´ychoz´ı bod TwIST algoritmu, d´ale pak funkce pro pˇrevod datakrychle I na detektor ¯D (oznaˇcen´a jako

” imageEn-code“), kter´a odpov´ıd´a matici A v2.8a n´aslednˇe jej´ı inverze pro pˇrevod detektoru ¯D na datakrychli I (oznaˇcen´a jako

”imageDecode“).

Dalˇs´ım d˚uleˇzit´ym faktorem, kter´y ovlivˇnuje zp˚usob rekonstrukce, je jak pˇristupujeme k samotn´ym dat˚um. Jak jiˇz bylo zm´ınˇeno dˇr´ıve v kapitole3.1.1, nesn´ım´ame pouze je-den obraz, ale dva, skrz dvˇe navz´ajem komplement´arn´ı masky. Nab´ız´ı se tedy nˇekolik moˇznost´ı, jak k dat˚um pˇristupovat. Moment´alnˇe jsou implementov´any tˇri pˇr´ıstupy (m´ody) viz tabulka 3.2.

M´od 1 vyuˇz´ıv´a pouze vrchn´ı masku a tud´ıˇz pracujeme jen s vrchn´ı ˇc´ast´ı detektoru.

Zbyl´e dva m´ody pak pouˇz´ıvaj´ı obˇe masky a pracuj´ı tedy jiˇz s cel´ym detektorem.

V m´odu 2 po celou dobu rekonstrukce z˚ust´avaj´ı obˇe ˇc´asti detektoru oddˇelen´e a pra-cujeme tedy se dvˇema maticemi. Naopak v m´odu 3 od sebe na zaˇc´atku rekonstrukce odeˇcteme obrazy prvn´ıch ˇr´ad˚u a pˇriˇcteme k sobˇe obrazy nult´ych ˇr´ad˚u a ve v´ysledku tedy pracujeme pouze s jednou matic´ı reprezentuj´ıc´ı detektor. V´yhody a nev´yhody tˇechto pˇr´ıstup˚u budou d´ale diskutov´any v kapitole 4.3.

V n´asleduj´ıc´ı ˇc´asti se budu zab´yvat tˇremi jiˇz zm´ınˇen´ymi funkcemi, je vˇsak nutn´e podotknout, ˇze kaˇzd´a z tˇechto funkc´ı se liˇs´ı v z´avislosti na pouˇzit´em m´odu. Popis, kter´y zde pˇredloˇz´ım, se tedy bude t´ykat m´odu 1, nicm´enˇe pro ostatn´ı m´ody jsou tyto funkce principi´alnˇe velmi podobn´e a maj´ı jen d´ılˇc´ı rozd´ıly.

3.2.1 Poˇ c´ ateˇ cn´ı odhad

Algoritmus TwIST ke sv´emu fungov´an´ı potˇrebuje m´ıt zadan´y v´ychoz´ı bod, ide´alnˇe co nejbl´ıˇze samotn´emu ˇreˇsen´ı a z toho d˚uvodu je nutn´e dˇelat poˇc´ateˇcn´ı odhad, k ˇcemuˇz slouˇz´ı jiˇz zm´ınˇen´a funkce

”makeInitGuess“. Tato funkce pˇrev´ad´ı vstupn´ı detektor D

na datakrychli I a transformuje ji do vlnkov´e dom´eny pomoc´ı haarovy transformace.

Hlavn´ı ˇc´ast t´eto funkce, kterou zde budu popisovat, je moˇzn´e vidˇet na obr´azku3.4.

Cel´y proces prob´ıh´a po ˇc´astech, nam´ısto vytvoˇren´ı datakrychle v jednom kroku pouˇz´ıv´ame cyklus, ve kter´em postupnˇe vytv´aˇr´ıme kaˇzd´y ˇrez. Nejprve tedy ze vstupn´ıho detektoru D extrahujeme ˇc´ast sn´ımku (actSlice), se kterou budeme d´ale praco-vat. D´ale pˇren´asob´ıme matici naˇseho aktu´aln´ıho sn´ımku matic´ı masky (nejeden´a se vˇsak o klasick´e maticov´e n´asoben´ı, oper´ator .* v Matlabu znaˇc´ı n´asoben´ı po prvc´ıch, neboli Hadamard˚uv souˇcin - kdykoliv se tedy d´ale v pr´aci budu zmiˇnovat o n´asoben´ı dvou matic, je myˇsleno pr´avˇe toto n´asoben´ı po prvc´ıch). Po t´eto operaci tedy m´ame n´aˇs aktu´aln´ı sn´ımek v podobˇe, kde na m´ıstech, kde v masce byly nuly, jsou i v aktu´aln´ım sn´ımku nuly a tam kde byly jedniˇcky, z˚ust´avaj´ı prvky nezmˇenˇeny (to ovˇsem plat´ı pouze pokud vyuˇz´ıv´ame 1. m´od, viz tabulka3.2, v ostatn´ıch m´odech je matice masky upravena obdobnˇe jako jsou zpracov´any sn´ımky, tud´ıˇz napˇr´ıklad u 3. m´odu se maska skl´ad´a z ˇc´ısel 1 a -1). D´ale se do rekonstrukce zapojuje i nult´y ˇr´ad (ZOimage), kdy k aktu´aln´ımu sn´ımku pˇriˇc´ıt´ame nult´y ˇr´ad vydˇelen´y pomˇerem mezi prvn´ım a nult´ym ˇr´adem na dan´e vlnov´e d´elce (FOvZO). V podstatˇe to zna-men´a, ˇze kdyˇz se na dan´e vlnov´e d´elce nult´y ˇr´ad t´emˇeˇr neprojevuje (m´a minim´aln´ı intenzitu), bude FOvZO velk´e (intenzita prvn´ıho ˇr´adu je mnohon´asobnˇe vyˇsˇs´ı neˇz intenzita nult´eho ˇr´adu) a tud´ıˇz se pˇriˇcte k aktu´aln´ımu sn´ımku jen mal´a ˇc´ast nult´eho ˇr´adu a naopak. N´aslednˇe uˇz m˚uˇze probˇehnout haarova transformace do vlnkov´e b´aze a zapsan´ı aktu´aln´ıho sn´ımku do datakrychle. Jak je vidˇet z posledn´ıho ˇr´adku k´odu, nejedn´a se o 3D-datakrychli, ale o dvourozmˇernou matici, kde jsou jednotliv´e sn´ımky ˇrazeny vedle sebe a ne za sebe, coˇz ulehˇcuje n´asledn´e zpracov´an´ı t´eto matice TwIST algoritmem. Tento proces pak opakujeme pro kaˇzd´y ˇrez datakrychle (to znamen´a pro kaˇzdou vlnovou d´elku, kterou poˇc´ıt´ame).

3.2.2 Pˇ revod detektoru na datakrychli

Pro pˇrevod dat z detektoru ¯D na datakrychli I se vyuˇz´ıv´a funkce

”imageDecode“.

Hlavn´ı ˇc´ast k´odu, kterou zde budu popisovat, je moˇzn´e vidˇet na obr´azku3.5.

Nejprve tedy opˇet dojde k extrahov´an´ı pˇr´ısluˇsn´eho ˇrezu a tento ˇrez je n´aslednˇe pˇren´asoben maskou. D´ale je zde moˇznost nahrazen´ı z´aporn´ych prvk˚u, v tomto pˇr´ıpadˇe se daj´ı bud’ z´aporn´e prvky vynulovat nebo jsou pˇreps´any jejich absolutn´ı hodnotou. Tato moˇznost m˚uˇze ˇc´asteˇcnˇe zlepˇsit kvalitu rekonstrukce a je zde proto, ˇze algoritmus TwIST m˚uˇze d´avat ve v´ysledku z´aporn´e hodnoty. Matematicky je to samozˇrejmˇe spr´avnˇe, nicm´enˇe z fyzik´aln´ıho hlediska pˇredstavuj´ı hodnoty pixel˚u in-tenzitu svˇetla, kter´a nem˚uˇze b´yt z´aporn´a. N´aslednˇe je do v´ypoˇctu zaˇrazen i nult´y ˇr´ad, kter´y je nejprve, obdobnˇe jako tomu bylo u poˇc´ateˇcn´ıho odhadu, pˇren´asoben maskou a vydˇelen pomˇerem intenzity prvn´ıho a nult´eho ˇr´adu a pot´e pˇriˇcten k aktu´aln´ımu ˇrezu. Ve fin´ale je stejnˇe jako u poˇc´ateˇcn´ıho odhadu na aktu´aln´ı ˇrez pouˇzita haarova transformace a je pˇrid´an do v´ysledn´e 2D-datakrychle I. Cel´y tento proces je pak opakov´an pro kaˇzdou mˇeˇrenou vlnovou d´elku.

Obr´azek 3.4: ˇC´ast funkce v Matlabu pro vytvoˇren´ı poˇc´ateˇcn´ıho odhadu (tzn. pˇrevod vstupn´ıch dat na datakrychli)

Obr´azek 3.5: ˇC´ast funkce v Matlabu pro pˇrevod dat detektoru na datakrychli

Obr´azek 3.6: ˇC´ast funkce v Matlabu pro pˇrevod datakrychle na detektor

3.2.3 Pˇ revod datakrychle na detektor

Pro pˇrevod datakrychle I na detektor ¯D vyuˇz´ıv´ame funkce

”imageEncode“, kter´a je ve sv´e podstatˇe inverzn´ı funkc´ı k

”imageDecode“ a odpov´ıd´a matici A v rovnici 2.9. Hlavn´ı ˇc´ast k´odu, kterou zde budu popisovat, je moˇzn´e vidˇet na obr´azku3.6.

Nejprve je nutn´e z´ıskat ˇrez, se kter´ym budeme pracovat. Toho doc´ıl´ıme tak, ˇze vy-jmeme pˇr´ısluˇsn´y ˇrez z 2D-datakrychle I, kter´a je v tuto chv´ıli ve vlnkov´e dom´enˇe, a aplikujeme na nˇeho inverzn´ı haarovu transformaci. N´aslednˇe je zde opˇet moˇznost nahrazen´ı z´aporn´ych prvk˚u, kter´a sice funguje stejnˇe jako u

”imageDecode“, nicm´enˇe se jedn´a o dva nez´avisl´e procesy, a proto m˚uˇzeme napˇr´ıklad v

”imageDecode“ nahra-zovat z´aporn´e prvky absolutn´ı hodnotou (imDecZeroing = ’abs’) a v

”imageEncode“

tento parametr v˚ubec nepouˇz´ıvat (imEncZeroing = ’none’). N´aslednˇe aktu´aln´ı ˇrez vyn´asob´ıme maskou a m˚uˇzeme pˇristoupit k v´ypoˇctu nult´eho ˇr´adu, kde ke st´avaj´ıc´ımu nult´emu ˇr´adu pˇriˇc´ıt´ame n´aˇs aktu´aln´ı ˇrez vyn´asoben´y maskou a pomˇerem intenzit mezi prvn´ım a nult´ym ˇr´adem (ten je zde pouˇzit ze stejn´eho d˚uvodu jako u poˇc´ateˇcn´ıho odhadu a pˇrevodu detektoru na datakrychli). V dalˇs´ım kroku pˇriˇcteme aktu´aln´ı ˇrez k detektoru v m´ıstˇe, kter´e je posunuto o jeden sloupeˇcek vpravo oproti pˇredchoz´ımu ˇrezu (toto posunut´ı odpov´ıd´a rozm´ıtnut´ı spektra, respektive oper´atoru S v rovnici

Obr´azek 3.7: Sestava HDES

2.9). Cel´y tento proces se opˇet opakuje pro kaˇzdou mˇeˇrenou vlnovou d´elku. V po-sledn´ım kroku pak na v´ystup bud’ odes´ıl´ame bud’ samotn´y rozm´ıtnut´y obraz (prvn´ı ˇr´ad), v pˇr´ıpadˇe, ˇze v rekonstrukci nechceme vyuˇz´ıvat nult´y ˇr´ad (useZOinCalc = 0), anebo matici, kde jsou za sebou spojeny jak matice prvn´ıho ˇr´adu, tak matice nult´eho ˇr´adu (useZOinCalc = 1).

3.3 Just´ aˇ z a kalibrace

Pro spr´avn´e fungov´an´ı aparatury je nutn´e prov´est just´aˇz a kalibraˇcn´ı mˇeˇren´ı. Pro jednoduˇsˇs´ı orientaci v jednotliv´ych komponentech a jejich uchycen´ı v soustavˇe je zde pˇriloˇzen obr´azek 3.7.

Prvn´ım krokem just´aˇze je zaostˇren´ı detektoru na masku. Toho doc´ıl´ıme tak, ˇze nejprve uvoln´ıme ˇsrouby drˇz´ıc´ı detektor a pomoc´ı zaostˇrovac´ıho koleˇcka, kter´e se nach´az´ı pˇred detektorem, doostˇr´ıme obraz masky. V tomto kroku je vˇsak probl´em vypl´yvaj´ıc´ı z konstrukce uchycen´ı detektoru. Pˇri zpˇetn´em dotaˇzen´ı ˇsroub˚u totiˇz doch´az´ı k mal´emu posunut´ı detektoru a tud´ıˇz i rozostˇren´ı obrazu, je tud´ıˇz nutn´e s t´ımto rozostˇren´ım poˇc´ıtat a pˇri ostˇren´ı nechat obraz nepatrnˇe rozostˇren´y. N´asledn´e posunut´ı detektoru zp˚usoben´e utaˇzen´ım ˇsroub˚u pot´e v ide´aln´ım pˇr´ıpadˇe zp˚usob´ı spr´avn´e zaostˇren´ı a my m˚uˇzeme pˇristoupit k dalˇs´ımu kroku.

Dalˇs´ım krokem je zarovn´an´ı detektoru, masky a difrakˇcn´ı mˇr´ıˇzky (maska a difrakˇcn´ı mˇr´ıˇzka jsou souˇc´ast´ı tubusu s disperzn´ı ˇc´ast´ı soustavy, viz obr´azek 3.1). Snaˇz´ıme se tedy o to, aby maska, detektor i difrakˇcn´ı mˇr´ıˇzka byly v jedn´e vodorovn´e ose a nebyly v˚uˇci sobˇe natoˇceny. Toho lze doc´ılit bud’ natoˇcen´ım samotn´eho detektoru nebo po-otoˇcen´ım masky, samotnou difrakˇcn´ı mˇr´ıˇzkou h´ybat nelze nebot’ je pevnˇe um´ıstˇen´a

v tubusu.

Jakmile jsou detektor, maska a mˇr´ıˇzka ve spr´avn´e pozici a obraz je zaostˇren, zkont-rolujeme dotaˇzen´ı ˇsroub˚u u detektoru a pootoˇc´ıme cel´ym tubusem s disperzn´ı ˇc´ast´ı optick´e soustavy tak, aby spodn´ı a vrchn´ı hrana masky byly rovnobˇeˇzn´e s podloˇzkou (respektive s dvojˇcoˇckou). N´aslednˇe zkontrolujeme, jestli je cel´y tubus ve vodorovn´e poloze.

D´ale posuneme kolektor (ˇcoˇcka pro nasmˇeˇrov´an´ı paprsk˚u, kter´e vych´az´ı z dvojˇcoˇcky pod pˇr´ıliˇs velk´ym ´uhlem, na detektor) tak, aby se nach´azel co nejbl´ıˇze masce a aby jeho stˇred byl ide´alnˇe v optick´e ose soustavy. Stejnˇe tak nastav´ıme dvojˇcoˇcku a ˇstˇerbinu do stejn´e v´yˇsky jako je zbytek komponent.

N´aslednˇe posuneme dvojˇcoˇcku do vzd´alenosti pˇribliˇznˇe 20 cm od masky a ˇstˇerbinu takt´eˇz pˇribliˇznˇe 20 cm od dvojˇcoˇcky (d´ano vzd´alenost´ı pˇredmˇetov´eho a obrazov´eho ohniska). Pot´e posouv´ame dvojˇcoˇckou po kolejnici a snaˇz´ıme se, aby spot, kter´y osvˇetlujeme, byl na stejn´em m´ıstˇe masky jak na horn´ım tak na spodn´ım obrazu.

Jakmile toho doc´ıl´ıme, nastav´ıme velikost ˇstˇerbiny tak, aby se oba obrazy navz´ajem nepˇrekr´yvaly.

Cel´a just´aˇz je kv˚uli souˇcasn´e konstrukci vcelku ˇcasovˇe n´aroˇcn´a a tud´ıˇz je do bu-doucna pl´anov´ana ´uprava pˇredevˇs´ım t´ykaj´ıc´ı se uchycen´ı detektoru k tubusu s disperzn´ı ˇc´ast´ı soustavy.

Po proveden´ı just´aˇze je nutn´e prov´est kalibraˇcn´ı mˇeˇren´ı, kter´e sest´av´a z mˇeˇren´ı homogennˇe osvˇetlen´e sc´eny pomoc´ı laseru a homogennˇe osvˇetlen´e sc´eny pomoc´ı ˇsirokop´asmov´eho zdroje svˇetla (v naˇsem pˇr´ıpadˇe pouˇz´ıv´ame halogenovou lampu).

Z tˇechto mˇeˇren´ı jsou n´aslednˇe pomoc´ı pˇr´ısluˇsn´eho skriptu v Matlabu zjiˇstˇeny koefici-enty pro oˇrez´an´ı obrazu a pro kompenzaci intenzit mezi horn´ım a spodn´ım obrazem, kter´e jsou n´aslednˇe pouˇz´ıv´any pˇri rekonstrukci.

4 Mˇ eˇ ren´ı

4.1 Intenzita prvn´ıho a nult´ eho ˇ r´ adu

Jak jiˇz bylo uvedeno v kapitole 3.1.4 difrakˇcn´ı mˇr´ıˇzka m´a na kaˇzd´e vlnov´e d´elce

Jak jiˇz bylo uvedeno v kapitole 3.1.4 difrakˇcn´ı mˇr´ıˇzka m´a na kaˇzd´e vlnov´e d´elce