Mittels WCS-Daten Koordinaten berechnen?

  • 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 :)

  • Hallo Arp,


    wo das Problem bei deiner Formel liegt weiß ich nicht (habe auch gar nicht drüber nachgedacht). Aber ich frage mich warum du nicht wcslib für den Zweck nimmst?


    mfg
    Torsten

  • Weil ich das in java machen will und ehrlich gesagt nicht weiss wie ich da ein externes Programm starte und dessen antwort verarbeite :D


    Aber ich bin ja auch kurz davor den Algorythmus dafür zu haben.... muss nur noch eine dämliche transformation einbauen.... nur.... :)

  • Hallo Arp,


    bist du dir sicher, das du alle Schritte zur Bestimmung der Koordinaten mit der Rechnung erschlagen hast, oder müsste anhand weiterer Parameter eine weitere Korrektur erfolgen...oder mit Transformationsmatrizen gerechnet werden...


    Sicher kennst du das hier schon.


    Gruß aus der Pfalz

  • HI Jörn,


    Ja, das kenn ich natürlich :)


    Ich hab das Problem aber auch schon gelöst. Es lag noch nichtmal an der Transformation.
    Ich will mit dem Programm ein Mosaik automatisch zurechtschneiden. Geübt hatte ich aber an einem fertig beschnittenen Bild. Da scheint aber schon eine Projektion mit eingeflossen zu sein. An den unbeschnittenen Mosaik die ich hab, gibts die Projektion offenbar nicht, und da scheint obiger Ansatz zu funktionieren. Die Fehler bislang liegen alle unter 5 Pixeln.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!