FOURIEROVA ANALÝZA 2D TERÉNNÍCH DAT Karel Segeth
Motto: The faster the computer, the more important the speed of algorithms.
přírodní jev fyzikální model matematický model numerický model řešení numerického modelu verifikace: řešíme rovnice správně? validace: řešíme správné rovnice?
David Hilbert (1862 1943), Seznam 23 problémů: Zkouškou dokonalosti matematického problému je to, zda může být vysvětlen prvnímu, koho potkáme na ulici. Joseph Louis de Lagrange (1736 1813): Matematik dostatečně neporozuměl své vlastní práci, pokud ji nemůže srozumitelně vysvětlit prvnímu člověku, kterého potká na ulici.
PŘÍKLAD. MODELOVÁNÍ GEOMAGNETICKÉHO POLE V GEOFYZICE změny geomagnetického pole na zemském povrchu anomálie veličiny T (změna magnetického potenciálu) 2D naměřená skalární reálná data interpolace a filtrace dat pomocí goniometrických funkcí matematické metody zpracování dat numerická realizace matematických metod DATA: Šumice, okres Znojmo neolitické sídlo (6 4 tis. let před n. l.) měření diferenciálním magnetometrem v jednotlivých bodech na rovnoběžných profilech
LINEÁRNÍ FILTRACE 1D DAT. FILTRACE V PROSTOROVÉ OBLASTI konečná posloupnost reálných dat (měřených na přímce nebo v čase) V = [v j ], j = 0,..., M 1 reálný filtr P = [p q ], q = Q,..., Q, Q < M vzorec (diskrétní konvoluce dat a filtru) v j = Q q= Q v j q p q dává reálnou posloupnost V = V P filtrovaných dat
PŘÍKLADY PROSTOROVÝCH FILTRŮ horní propust (odstraní trend, málo se měnící složku dat) P = [ 1 2, 1, 1 2 ] dolní propust (odstraní šum, vysokofrekvenční složku dat), klouzavý průměr P = [ 1 3, 1 3, 1 3 ]
TRIGONOMETRICKÁ INTERPOLACE 1D DAT M bodů na profilu, označíme h B jejich vzdálenost funkce v(x) interpoluje (obecně komplexní) data v j naměřená na profilu, jestliže v(jh B ) = v j, j = 0,..., M 1 Příklad. Trigonometrický polynom v(x) = 1 M M/2 1 m= M/2 M funkcí s největšími možnými periodami w m (x) = cos 2πmx Mh B s m w m (x), i sin 2πmx = exp Mh B m = M/2,..., M/2 1 ( 2πimx ), Mh B
TRIGONOMETRICKÁ INTERPOLACE 1D DAT spočteme-li koeficienty s m podle vzorce s m = M 1 j=0 dostaneme interpolaci, tj. v j = 1 M v j exp 2πijm, m = M/2,..., M/2 1, M M/2 1 m= M/2 ( s m exp 2πimj ), j = 0,..., M 1 M
TRIGONOMETRICKÁ INTERPOLACE 1D DAT protože ( exp 2πi(m + M)j M s m+m = s m, ) = exp ( 2πimj ), M lze po posunutí sčítacího indexu psát interpolaci ve tvaru v j = 1 M M 1 m=0 ( s m exp 2πimj ), j = 0,..., M 1 M posloupnost komplexních čísel S = [s m ], m = 0,..., M 1, se nazývá Fourierovo spektrum dat [v j ]
vztah, který převádí data V na spektrum S, se nazývá diskrétní Fourierova transformace vztah, který převádí spektrum S na data V, se nazývá inverzní diskrétní Fourierova transformace Jean Baptiste Joseph Fourier (1768 1830): Každou funkci lze vyjádřit jako nekonečný součet sinů a kosinů násobného argumentu s vhodnými koeficienty. Fourierovy řady Fourierova spojitá a diskrétní transformace
DISKRÉTNÍ FOURIEROVA TRANSFORMACE s k = M 1 j=0 v = [v 0, v 1,..., v M 1 ], s = [s 0, s 1,..., s M 1 ], v j exp 2πijk M, k = 0,..., M 1 inverzní diskrétní Fourierova transformace v j = 1 M M 1 k=0 ( s k exp 2πijk ), j = 0,..., M 1 M s = Ev, v = E 1 s, e jk = e kj = exp(2πijk/m), řádově M 2 operací
DISKRÉTNÍ FOURIEROVA TRANSFORMACE periodicita s k+m = v j+m = 1 M M 1 k=0 M 1 j=0 v j exp 2πijk M s k exp exp(2πij) = s k ( 2πijk ) exp( 2πik) = v j M
DISKRÉTNÍ FOURIEROVA TRANSFORMACE označení W = exp 2πi M s k = M 1 j=0 v j = 1 M v j = 1 M W jk v j, k = 0,..., M 1, M 1 k=0 M 1 k=0 W jk s k, j = 0,..., M 1, W jk s k, j = 0,..., M 1
RYCHLÁ FOURIEROVA TRANSFORMACE Lemma (Danielson-Lanczos). Budiž M sudé. Pak kde s k = sk 0 + W k sk 1, k = 0,..., M 1, M/2 1 sk 0 = j=0 M/2 1 sk 1 = j=0 v 2j exp 2πijk M/2, v 2j+1 exp 2πijk, k = 0,..., M 1. M/2 řádově M log 2 M operací pro výpočet transformace J. W. Cooley, J. W. Tukey: An algorithm for the machine calculation of complex Fourier series. Math. Comp. 19 (1965), 297 301.
Věta o konvoluci. Necht F značí diskrétní Fourierovu transformaci konečné posloupnosti a F 1 inverzní Fourierovu transformaci. Pro posloupnosti V a P pak platí F(V P) = F(V ) F(P), V = V P = F 1 (F(V ) F(P)), kde součin se počítá složka po složce. Jsou-li V data, je S = F(V ) jejich spektrum, je-li P (prostorový) filtr, je F(P) jeho spektrum. Ŝ = F(V ) F(P) je změněné spektrum dat, V = V P jsou filtrovaná (upravená) data.
LINEÁRNÍ FILTRACE 1D DAT. FILTRACE VE SPEKTRÁLNÍ OBLASTI konvoluci, jejíž pomocí jsme filtrovali data v prostorové oblasti, můžeme pomocí věty o konvoluci realizovat ve spektru a pak ke změněnému spektru Ŝ spočítat inverzní diskrétní Fourierovou transformací filtrovaná (upravená) data V filtr se zpravidla zadává přímo ve spektru, tj. jako F(P), má tam názorný smysl prostřednictvím filtrace ve spektru se dá na data aplikovat jak horní, tak dolní propust, například dolní propust se realizuje nahrazením koeficintů s m, M/2 s m M/2 1, ve spektru pro velká m nulami
LINEÁRNÍ FILTRACE 2D DAT. FILTRACE V PROSTOROVÉ OBLASTI obdélníková tabulka (matice) reálných dat (měřených v rovině) v 00 v 01... v 0,N 1 v 10 v 11... v 1,N 1 V =............ v M 1,0 v M 1,1... v M 1,N 1 reálný filtr, tabulka (matice) (Q < M, R < N) p Q, R p Q, R+1... p Q,R p Q+1, R p Q+1, R+1... p Q+1,R P =............ p Q, R p Q, R+1... p Q,R diskrétní konvoluce dat a filtru dává tabulku (matici) V = V P reálných filtrovaných dat
LINEÁRNÍ FILTRACE 2D DAT. PŘÍKLADY PROSTOROVÝCH FILTRŮ horní propust 1 8 1 8 1 8 P = 1 8 1 1 8 1 8 1 8 1 8 dolní propust P = 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 stejné filtry jako pro zpracování obrazové informace
LINEÁRNÍ FILTRACE 2D DAT. FILTRACE VE SPEKTRÁLNÍ OBLASTI vzdálenost bodů na profilu h B, vzdálenost profilů h P trigonometrická interpolace 2D dat s použitím trigonometrických funkcí dvou proměnných ( w mn (x, y) = exp 2πimx ) ( exp 2πiny ) Mh B Nh P pomocí 2D diskrétní Fourierovy transformace převedeme data V na tabulku (matici) spektra S ke změněnému spektru Ŝ spočteme pomocí 2D inverzní diskrétní Fourierovy transformace filtrovaná data V
algoritmus rychlé Fourierovy transformace se dá použít i ve 2D na data se ve spektru dá aplikovat horní i dolní propust podobně jako v 1D ve srovnání s 1D filtrací je ve 2D možno navíc provádět směrovou filtraci dat, to v 1D nemá smysl jestliže z tabulky spektra S odstraníme dvě výseče, ktere mají společnou osu, odstraníme tím z dat směr kolmý k této ose směrovou filtraci lze provádět i v prostorové oblasti propusti se dají kombinovat na první příklad nebyla směrová filtrace aplikována, protože data představovala kruhový (středově symetrický) objekt
RŮZNÝ SOFTWARE Microsoft Photo Editor Adobe Photoshop Windows Internet Explorer Microsoft Excel www.nist.gov
Microsoft Photo Editor Sharpen/Zaostřit Soften/Zjemnit Negative/Negativ Despeckle/Odstranit skvrny Posterize/Posterizace Edge/Okraje Chalk and Charcoal/Křída a uhel Emboss/Reliéf Graphic Pen/Grafické pero Notepaper/Dopisní papír Watercolor/Vodová barva Stained Glass/Mozaika Stamp/Razítko Texturizer/Textura