Registratie
De registratie van het slaghoedje-oppervlak B op het slaghoedje-oppervlak A doen we in twee stappen om de performantie van de registratie te verhogen. We registreren B eerst ruw op A om een schatting te bekomen van de registratiehoek rond de Z-as en van de benodigde translaties.
De keuze om in de eerste stap enkel te roteren om de Z-as is omdat door de horizontale alignatie van beide oppervlakken de registratiehoek rond de X- en Y-as al beperkt is. Na de ruwe registratie verfijnen we in een tweede stap de registratie-transformatie door rotaties rond X-, Y- en Z-as en translaties.Ruwe registratie
We downsamplen A en B, zoals uitgelegd in paragraaf 4.3.1, om performantieredenen en bekomen respectievelijk Ar en Br. We roteren Br om Z volgens hoeken van 1° (van 0° tot 360°) via de matlabfunctie met B\'r als resultaat. Na elke rotatie vergelijken we B\'r met Ar en bepalen we de globale fout tussen beiden. De bepaling van de globale fout gebeurt in twee stappen:
• We maken de dimensies van beide beelden gelijk via de functie . We verwijde- ren eerst alle nulrijen en -kolommen aan de randen van beide beelden en voegen daarna nulrijen en -kolommen toe aan de beelden — op die wijze dat de globale fout minimaal toeneemt — tot de dimensies van beide beelden gelijk zijn.
• We bepalen de globale fout tussen beide beelden aan de hand van de kostfunctie gedefinieerd in paragraaf 4.3.4.
De hoek H waarbij we de kleinste globale fout tussen B\'r en Ar bekomen, wordt geselecteerd als schatting voor de registratiehoek rond de Z-as. We roteren dan het oorspronkelijke slaghoedje- oppervlak B volgens H rond de Z-as en bekomen B\'. Op B\' passen we erna een translatie in Z-richting toe om het verschil in hoogte tussen beide oppervlakken weg te werken. Tenslotte wordt er een verfijnde translatie — besproken in de paragraaf 4.3.2 — in X- en Y-richting toegepast om bij de ruwe registratie een nog betere fit te bekomen.
Beide translaties worden uitgevoerd in die zin dat men tot een minimum van de globale fout komt. We merken op dat de globale fout niet hoeft te verwijzen naar de totale fout in afstand tussen de punten, maar verwijst naar het resultaat bekomen na het toepassen van de kostfunctie.Het resultaat, bekomen na de ruwe registratie, is werkbaar om al tot een zekere conclusie te komen omtrent de gelijkenis van twee slaghoedje-oppervlakken. Indien men deze registratie wil verbeteren, kan men de registratie-verfijning toepassen die besproken wordt in de volgende paragraaf.
Registratie-verfijning
Na de ruwe registratie bekomen we een goede schatting van de registratie van het slaghoedje-oppervlak B op het slaghoedje-oppervlak A. We zullen deze registratie B\' nu verfijnen door via verdere trans- formaties te streven naar een minimale globale fout tussen A en B. Deze transformaties bestaan uit rotaties rond de X-, Y- en Z-as, translaties via en de verfijnde translatie van pa- ragraaf 4.3.2. We beperken ons voor elke as tot het rotatie-interval [-2, 5°; 2, 5°][15] in stappen van 0, 5°. Dit interval blijkt uit de registratietesten in paragraaf 5.6 een voldoende marge te hebben om de juiste hoek te bepalen. We roteren in dit interval nu afwisselend om X-, Y- en Z-as en bepa- len telkens de hoek voor elke as die de kleinste globale fout veroorzaakt. De globale fout wordt in dezelfde twee stappen als bij de ruwe registratie bepaald. Er is bij de registratie-verfijning ook de optie om tussen elke rotatie een verfijnde translatie uit te voeren om een nog nauwkeuriger resultaat te bekomen. De keuze om dit niet standaard te nemen ligt in het feit dat de verfijnde translatie zeer rekenintensief is en in de meeste gevallen slechts weinig bijdraagt tot de registratie. Het is wel nuttig om de verfijnde translatie toe te passen eens de rotatie geoptimaliseerd is. Dit gebeurt dan ook in de functie .
Na het bepalen van de registratiehoek rond de X-, Y- en Z-as en de bijhorende translatie passen we zoals bij de ruwe registratie een translatie in Z-richting toe die de globale fout minimaliseert. We herhalen de rotaties en translaties totdat bij een verdere transformatie de afname van de globale fout onder een bepaalde drempelwaarde is of tot we 10 iteraties gedaan hebben. Na de optimalisatie van de rotatie en de translatie langs Z-as voor de registratie wordt — zoals eerder al vermeld — een verfijnde translatie op het tot dan bekomen resultaatoppervlak B\' toegepast
We merken op dat we de registratie zo nauwkeurig kunnen krijgen als we willen door de parameters aan te passen in de functies. Men zou b.v. de registratiehoek en de translatie tot op 0, 01° nauwkeurig kunnen berekenen. Het nadeel is natuurlijk dat voor een hogere nauwkeurigheid de registratie langer zal duren.
4.4