View - JUWEL - Forschungszentrum Jülich
View - JUWEL - Forschungszentrum Jülich
View - JUWEL - Forschungszentrum Jülich
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3.5 Implementierung 47<br />
tion direkt genutzt werden konnten, wurden die Metriken NormalizedCorrelation<br />
und NormalizedMutualInformation basierend auf den von ITK zur Verfügung stehenden<br />
Klassen implementiert.<br />
3.5.5.5 Optimierung<br />
Der Optimierungsprozess steuert die Registrierung. Im Kapitel 2.6.4 wurden drei Optimierungsalgorithmen<br />
vorgeschlagen. Von diesen wurde der Gradientenabstieg mit regulärer<br />
Schrittweite und der Downhill Simplex Algorithmus für die Registrierungsanwendung implementiert.<br />
Der allgemeine Gradientenabstieg ist nicht robust im Optimierungsprozess, da die Länge<br />
des nächsten Optimierungsschrittes von der Größe des Gradienten abhängig ist. So kann die<br />
Schrittweite sehr groß werden, was eine Konvergenz erschwert. Aus diesem Grund wurde<br />
dieser Algorithmus in der vorliegenden Registierungsanwendung nicht implementiert. Sollte<br />
einer der anderen beiden Optimierungsalgorithmen nicht konvergieren, wird für beide die<br />
maximale Anzahl von Iterationen durch den Parameter MaximalNumberOfIterations<br />
definiert.<br />
Der Gradientenabstieg mit regulärer Schrittweite verläuft nach dem in Abbildung 3.8 dargestellten<br />
Schema. Von einem Initialpunkt aus folgt der Optimierungsalgorithmus der Richtung<br />
des normalisierten Gradienten multipliziert mit einem vorher definierten Skalierungsvektor<br />
und einer Anfangsschrittweite. Diese Schrittweite wird definiert durch den Parameter<br />
MaximumStepLength. Ändert sich die Richtung des Gradienten abrupt, wird die Schrittweite<br />
halbiert. Sobald die Schrittweite kleiner ist als eine vorher definierte Grenze, wird<br />
die Konvergenz als erreicht betrachtet. Diese Grenze spezifiziert der Parameter Minimum-<br />
StepLength.<br />
Da die Translation und die Rotation einen unterschiedlichen Wertebereich haben, wird ein<br />
Skalierungsfaktor definiert, durch den der Gradient dividiert wird. So kann die Rotation und<br />
die Translation kontrolliert werden. Die Änderung des Rotationszentrums kann durch hohe<br />
Skalierungswerte verhindert werden.<br />
Die Initialschätzung der Transformationsparameter wurde im Kapitel 2.6.4 durch die geometrische<br />
Methode oder die Methode der Momente vorgeschlagen. Beide Techniken sind in der<br />
Registrierungsanwendung implementiert.<br />
ITK stellt ein Observer/Command Entwurfsmuster zur Verfügung. Bei diesem Entwurfsmuster<br />
reagiert ein Objekt auf ein vordefiniertes Ereignis. Dieses Entwurfsmuster ist gut geeignet,<br />
den Registrierungsprozess nachzuverfolgen. Der Observer wird so implementiert, dass<br />
er beim Aufruf des itk::IterationEvent am Ende einer Iteration durch den Optimierungsprozess<br />
Informationen über die aktuelle Iteration inklusive Metrikwert und Transformationsparameter<br />
(Winkel, Rotationszentrum, Translation) ausgibt. Der Nutzer kann so den<br />
Registrierungsprozess nachvollziehen.<br />
Der Ablauf des Downhill Simplex Verfahrens ist in Abbildung 3.9 dargestellt und in Kapitel<br />
2.6.4.3 beschrieben. Zur Initialisierung des Anfangssimplex wird der Faktor in (2.14) durch<br />
den Parameter AmoebaSimplexDelta spezifiziert. Soll eine automatische Initialisierung<br />
erfolgen, wird für diesen Parameter der<br />
<br />
Wert angegeben. ITK initialisiert alle Elemente<br />
des Vektors mit dem Wert .<br />
Das Downhill Simplex Verfahren endet, wenn der Simplexdurchmesser oder der Unterschied<br />
der Metrikwerte unter definierte Grenzen fällt. Diese Grenzen werden gesetzt durch die Pa-