Hallo,
Ihr kennt ja sicherlich den WCS standard. Den findet man meist in (wissenschaftlichen) Fits Bildern. Es gibt an wie das Bild orientiert sein muss und welche Koordinaten da überhaupt so drin sind.
Nun will ich ein Programm schreiben das aus einer Fitsdatei die entsprechenden Einträge ausliest, und mir dann bei gegebenen RA,DEC Werten ausspuckt welcher Pixel-Koordinate das im Bild entspricht.
Im Bild hab ich folgende Keywords schon drin:
CRVAL1 = CV1
CRVAL2 = CV2
CRPIX1 = CP1
CRPIX2 = CP2
CD1_1 = a
CD1_2 = b
CD2_1 = c
CD2_2 = d
die CD Werte sind die Einträge der Rotationsmatrix. Was hinter dem = steht ist eine abkürzung davon wie man es in der Gleichung unten sieht.
Ok, jetzt hab ich eine Seite gefunden auf der Beschrieben wird wie man anhand von Pixeln auf die RA,DEC Werte schließen kann. Also hab ich die Gleichung umgestellt und rechne damit rum.
Die Gleichung sollte lauten, wenn ich richtig liege:
x = (d(ra-CV1) - b(dec-CV2) + CR1)/(ad-bc)
y = (-c(ra-CV1) + a(dec-CV2) + CR2)/(ad-bc)
Nun, ich glaube das das nicht so verkehrt ist, denn wenn ich es mit den Referenzkoordinaten CV1 und CV2 teste, kommen richtigerweise die Referenzpixel CP1 und CP2 raus. Nun aber ist das problem, je weiter ich mich von diesen Werten entferne, desto größer ist die Abweichung in den berechneten Pixeln. Und ich komm nicht drauf wo der Fehler liegt. Muss man da vielleicht noch eine Projektion beachten?
Ich hoffe ihr wisst überhaupt wovon ich rede und könnt mir vll helfen