Startseite   Übersicht   Zurück


Transformation

Die Idee

Die Transformation hat das Ziel, die Sterne aus dem Bild mit den Sternen aus den Kartendaten in Deckung zu bringen. Damit können dann die anderen erkannten Sterne direkt bestimmt werden.

Die Transformation besteht aus einer Skalierung, einer Translation und einer Rotation. Bei der Skalierung werden die Abstände auf ein gleiches Maß gebracht. Die Translation verschiebt die Koordinaten in einen gemeinsamen Bereich und die Rotation dreht die Kartendaten in die Lage des Bildes.

Zur Transformation benutze ich je die beiden bestimmten (Referenz-)Sterne der vorangeganenen Sternsuche aus dem Bild und aus den Kartendaten. Durch die Suche und den Match gehe ich davon aus, das die beiden Sternpaare die korrespondierenden Sterne zwischen Bild und Kartendaten sind. Mit diesen beiden Sternen transformiere ich die Kartendaten ins Bild.

Etwas Standardmathematik

Skalierung

Zur Skalierung bestimme ich das Verhältnis der Abstände zwischen den beiden (Referenz-)Sternen des Bildes und den beiden (Referenz-)Sternen der Kartendaten.

S = Abstand(S1B, S2B) / Abstand(S1K, S2K)

S: Skalierungsfaktor
S1B: Referenzstern #1 in dem Bild
S2B: Referenzstern #2 in dem Bild
S1K: Referenzstern #1 in den Kartendaten
S1K: Referenzstern #2 in den Kartendaten

Der Abstand wird einfach bestimmt über:

dRA = Abs(S1RA - S2RA)
dDEC = Abs(S1DEC - S2DEC)
Abstand = Wurzel(dRA2 + dDEC2)

Abstand: Abstand zwischen Stern #1 und Stern #2
dRA: Abstand RA
dDEC: Abstand DEC

Translation

Mit der Translation werden die beiden "Bilder" ineinander verschoben. Als Referenzpunkt nehme ich den ersten (Referenz-)Stern aus der Karte. In diesen Punkt verschiebe ich den ersten (Referenz-)Stern der Kartendaten.

TX = S1RA-Bild - (S * (S1RA-Karte - MitteRA-Karte) )
TY = S1DEC-Bild - (S * (S1DEC-Karte - MitteDEC-Karte) )

TX: Translation in X-Richtung
TY: Translation in Y-Richtung
S1RA-Bild: RA von Stern #1 im Bild
S1DEC-Bild: DEC von Stern #1 im Bild
S1RA-Karte: RA von Stern #1 in den Kartendaten
S1DEC-Karte: DEC von Stern #1 in den Kartendaten
MitteRA-Karte: Mittelpunkt RA der Kartendaten
MitteDEC-Karte: Mittelpunkt DEC der Kartendaten

Rotation

Die Rotation, also den Rotationswinkel, wird über die beiden Winkel der (Referenz-)Sterne zur Ebene bestimmt. Um den (Referenz-)Stern #1 als Drehpunkt werden dann die Kartendaten um genau diesen Winkel gedreht.

m1 = Steigung(S1Bild, S2Bild)
m2 = Steigung(S1Karte, S2Karte)
α = atan(m1) - atan(m2)

α: Rotationswinkel

mit der einfachen Steigungsbestimmung:

dRA = S2RA - S1RA
dDEC = S2DEC - S1DEC
m = dDEC / dRA

m: Steigung
dRA: Abstand RA
dDEC: Abstand DEC

Die komplette Transformation

So hab ich nun die Parameter der Transformation bestimmt. Mit diesem Parametern kann ich folgendermaßen einen beliebigen Stern S von den Kartendaten in das Bild transformieren:

xS = SRA-Karte - S1RA-Karte
yS = SDEC-Karte - S1DEC-Karte

xR = xS * cos(α) + yS * sin(α)
yR = -xS * sin(α) + yS * cos(α)

xD = xR + S1RA-Karte - MitteRA-Karte
yD = yR + S1DEC-Karte - MitteDEC-Karte

x = xD * S + TX
y = yD * S + TY

SRA-Karte: Beliebiger Stern (RA) in den Kartendaten
SDEC-Karte: Beliebiger Stern (DEC) in den Kartendaten
x: x-Koordinate im Bild
y: y-Koordinate im Bild

PS: Ich transformiere die Kartendaten ins Bild, um diese dann direkt in das betrachtete Bild einzeichnen zu können.

Schwachpunkte

hmmm, keine bekannt.

Stand: 7. Oktober 2009