06.10.2013 Aufrufe

View - JUWEL - Forschungszentrum Jülich

View - JUWEL - Forschungszentrum Jülich

View - JUWEL - Forschungszentrum Jülich

MEHR ANZEIGEN
WENIGER ANZEIGEN

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-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!