Na základě vstupních dat rekonstruuje vlnoplochu. Rekonstrukce je realizována pomocí Zernikových polynomů a metody nejmenších čtverců. Zernikovy koeficienty jsou získány pomocí diferencí naměřených pozic spotů vůči referenčním pozicím danými
RcentroidXCoords Referenční horizontální souřadnice těžišť spotů Matice m x n RcentroidYCoords Referenční vertikální souřadnice těžišť spotů Matice m x n centroidX Horizontální souřadnice těžišť spotů Matice m x n centroidY Vertikální souřadnice těžišť spotů Matice m x n
pix Velikost pixelu [um] Double
focalLength Vlnová délka [m] Double
mask Maska, která určuje osvícenou oblast mikročočkového pole
Matice m x n grdx Horizontální souřadnice referenční mřížky Matice m x n grdy Vertikální souřadnice referenční mřížky Matice m x n
indexX =mask Matice m x n
indexY =mask Matice m x n
PupilSize Velikost poloměru pupily Double
xPupil Horizontální velikost pupily [mm] Double yPupil Vertikální velikost pupily [mm] Double
Parametr Popis Typ
grdxi Horizontální pozice uzlů mřížky (rozteč mřížky 0,1 mm) Matice m x n grdyi Vertikální pozice uzlů mřížky (rozteč mřížky 0,1 mm) Matice m x n maski Maska definující oblast pupily
wfit Rekonstruovaná vlnoplocha Matice m x n
a Kompletní soubor Zernikových koeficientů Vektor
Volané funkce:
ZernikeR_66, ZernikeR_55, ZernikeR_36, ZernikeR_28, ZernikeR_21, ZernikeR_15
Dokumentace –Shack-Hartmann Stránka 30
ZernikeR
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-66. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice
y Vertikální souřadnice bodů normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice
z Matice hodnot polynomu definovaného módu. Matice m x n
n Mód polynomu Skalár
pd [‘dx‘]- derivace podle x,[‘dy‘]-derivace podle y, [‘h‘]-nederivované
Řetězec
Volané funkce:
ZernikeR_55
ZernikeR_15
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-15. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR_15(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice y Vertikální souřadnice bodů normalizované uvnitř
jednotkového kruhu Skalár, vektor, matice
z Matice hodnot polynomu definovaného módu. Matice m x n x k
n Mód polynomu Skalár
pd [‘dx‘]-derivace podle x,[‘dy‘]-derivace podle y, [‘h‘]-nederivované
Řetězec
Dokumentace –Shack-Hartmann Stránka 32
ZernikeR_21
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-21. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR_21(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů normalizované uvnitř
jednotkového kruhu. Skalár, vektor,
matice y Vertikální souřadnice bodů normalizované uvnitř
jednotkového kruhu.
Skalár, vektor, matice
z Matice hodnot polynomu definovaného módu. Matice
n Mód polynomu Skalár
pd [‘dx‘]- derivace podle x, [‘dy‘]-derivace podle y, [‘h‘]-nederivované.
Řetězec
ZernikeR_28
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-28. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR_28(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice y Vertikální souřadnice bodů normalizované
uvnitř jednotkového kruhu
Skalár, vektor, matice z Matice hodnot polynomu definovaného módu. Matice m x n x k
n Mód polynomu Skalár
pd [‘dx‘]- derivace podle x, [‘dy‘]- derivace podle y, [‘ h‘]- nederivované
Řetězec
Dokumentace –Shack-Hartmann Stránka 34
ZernikeR_36
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-36. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR_36(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů. Musí být
normalizované uvnitř jednotkového kruhu Skalár, vektor, matice y Vertikální souřadnice bodů. Musí být normalizované
uvnitř jednotkového kruhu Skalár, vektor, matice
z Matice hodnot polynomu definovaného módu. Matice m x n x k
n Mód polynomu Skalár
pd [‘dx‘]-derivace podle x, [‘dy‘]-derivace podle y, [‘h‘]-nederivované
Řetězec
ZernikeR_45
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-45. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR_45(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů. Musí být normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice y Vertikální souřadnice bodů. Musí být
normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice z Matice hodnot polynomu definovaného módu. Matice m x n x k
n Mód polynomu Skalár
pd [‘dx‘]-derivace podle x, [‘dy‘]-derivace podle y, nederivovaná, [‘h‘]-nederivované
Řetězec
Dokumentace –Shack-Hartmann Stránka 36
ZernikeR_55
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-55. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR_55(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice y Vertikální souřadnice bodů normalizované uvnitř
jednotkového kruhu
Skalár, vektor, matice z Matice hodnot polynomu definovaného módu. Matice m x n x k
n Mód polynomu Skalár
pd [‘dx‘]-derivace podle x, [‘dy‘]-derivace podle y, [‘h‘]-nederivované
Řetězec
ZernikeR_66
Určuje Zernikovy polynomy (příloha A) a jejich derivace pro mód 1-66. Polynomy jsou definované pro normalizované body uvnitř kartézských souřadnic.
Předpis funkce:
Z=zernikeR_66(x,y,n,pd)
Parametry:
Parametr Popis Typ
x Horizontální souřadnice bodů. Musí být normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice y Vertikální souřadnice bodů. Musí být
normalizované uvnitř jednotkového kruhu
Skalár, vektor, matice z Matice hodnot polynomu definovaného módu. Matice m x n x k
n Mód polynomu Skalár
pd [‘dx‘]-derivace podle x, [‘dy‘]-derivace podle y, [‘h‘]-nederivované
Řetězec
Dokumentace –Shack-Hartmann Stránka 38
compradius
Výpočet poloměru sféry se provádí pomocí přizpůsobení rovnice kruhu do součtu 2D Zernikových polynomů s nulovou azimutální frekvencí (7) (osově symetrické polynomy). Pro výpočet poloměru sféry je tedy v našem případě nutná znalost Zernikových koeficientů pro módy 0, 4, 12, 24, 40 a 60. Samotné přizpůsobování probíhá minimalizací kriteriální funkce SH_circle.
C0 Zernikův koeficient (0. Mód) Double
C4 Zernikův koeficient (4. Mód) Double
C12 Zernikův koeficient (12. Mód) Double
C24 Zernikův koeficient (24. Mód) Double
C40 Zernikův koeficient (40. Mód) Double
C60 Zernikův koeficient (60. Mód) Double
Volané funkce:
SH_circle
SH_circle
Kriteriální funkce pro výpočet poloměru sférických vlnoploch. Vyjadřena je vztahem 1, kde x je horizontální souřadnice 2D křivky, y vertikální souřadnice 2D křivky, l hledané vertikální posunutí a r je hledaný poloměr. Optimalizační metoda určená pro minimalizaci kriterialní funkce je Nealder-Meadova metoda v matlabu implementovaná pod funkcí fminsearch.
∑[ ]
Předpis funkce:
f = SH_circle(x,ax,ay)
Parametry:
Parametr Popis Typ
f Funkční hodnota Double
x Startovací hodnoty Skalár, vektor
ax Horizontální souřadnice 2D křivky Matice, vektor
ay Vertikální souřadnice 2D křivky Matice, vektor
Dokumentace –Shack-Hartmann Stránka 40