Vorgeplänkel
Der Inhalt dieses Blogartikels erhebt weder Anspruch auf Genauigkeit noch auf Vollständigkeit. Er soll lediglich das Prinzip der Bildung der Index-Files so beschreiben, daß auch ich es verstehen kann.
Datenflut
Wie wir vielleicht schon gehört haben, verwenden astrometry.net bzw. Stellarsolver als Referenz-Sternenkatalog den 2MASS-Katalog, also eine Himmels-Durchmusterung im nahen infraroten Bereich. Die Daten aus dem Katalog wurden von den Machern rund um astrometric.net aufbereitet und stehen als Index-files zur Verfügung.
Der 2MASS-Katalog enthält knapp 500 Millionen Sterne mit deren wichtigsten Daten.
Ich denke, mein Astro-Rechner wird mir die Zunge rausstrecken, wenn ich von ihm verlange, daß er mein „Suchbild“ mit diesem Katalog abgleichen soll und daß er dafür nicht mehr als ein paar Sekunden Zeit hat.
Unterstützen wir also unseren Rechner und überlegen, wie die Macher rund um astrometric.net diese gewaltige Datenflut in den Griff bekommen haben.
Vereinbarung
Bei meinen weiteren Betrachtungen werde ich keine Bilder aus dem 2MASS-Katalog verwenden.
Statt dessen nehme ich ein Bild aus meinen kleinen Sternenkarten und behaupte einfach frech, es wäre ein kleines Stückchen dieses Referenzkatalogs
Auf meinem „Referenzbild“ ist übrigens das Sternbild „Haar der Berenike“ zu sehen.
Ich hab mal die Sternbildlinien, so wie ich sie sehe, reingemalt. Ja, das sind die Sternbildlinien aus meinen kleinen Sternenkarten.
Da ich aber gemäß unserer Vereinbarung behaupte, dieses Bild wäre ein Teil des Referenz-Sternenkatalogs, zeige ich hier die Version ohne Sternbildlinien. Damit werden wir arbeiten können.
Der Grid
Schaun wir also, wie wir der Datenflut Herr werden können.
Wir legen ein sehr engmaschiges Raster (zu gut Deutsch: grid 🙂 ) über die „2MASS-Referenz-Sternenkarten“. und zoomen rein. Komisch, daß der Zoom fast genauso aussieht wie ein Foto vom Sternbild Haar der Berenike, das ich einmal gemacht habe… 🙂
Datenreduzierung
In jedem Feld dieses Rastern markieren wir in Gedanken die 10 hellsten Sterne und werfen den Rest in den Mülleimer:
Ist doch schon mal eine prima Datenreduzierung, oder? Und ganz nebenbei bekommt die Himmelsabtastung auch noch ein gleichmäßiges Gesicht.
Jetzt spinnt er wohl, der Edgar …
Sind trotz unseres Kunstgriffs immer noch eine Menge Daten, oder?
Da wird uns wohl nichts anderes übrig bleiben, als „quads“ zu bilden, deren „hash code“ zu ermitteln und das Ganze in einem Index-File abzuspeichern…
Emm ja! Häää? Was will er tun, der Edgar?
Er baut Quads, also diese kleinen Motorräder mit vier Rädern daran, ermittelt davon irgend so einen komischen Code und speichert das alles ab??
Das letzte Mal, als er so komische Ideen hatte, mußten wir ihn einliefern lassen, den Edgar. Hat lange gedauert, bis er wieder bei Sinnen war… 🙂
Er spinnt doch nicht …
Freunde, langsam mit die junge Pferde! Diese Quads sind doch keine Motorräder. Wartet, ich erklär´s euch gleich…
Asterismus
Kennt ihr den Begriff Asterismus?
Ja genau! Ein Asterismus ist eine auffällige Sternenkonstellation, die es trotz ihrer Auffälligkeit nicht bis zum Sternbild gebracht hat.
Der Große Wagen ist ein Beispiel für so einen Asterismus.
Jeder kennt dieses Sternbild und kann es am Nachthimmel sofort entdecken. Nur, der Große Wagen ist eigentlich gar kein Sternbild, sondern nur eine auffällige Sternkonstellation im Sternbild großer Bär …
quads
Ein quad ist in der Sprach-Terminologie von astrometry.net eine auffällige Gruppe von vier Sternen, also ein Asterismus. Nicht mehr und nicht weniger.
Astrometry.net bastelt aus den Sternen der Referenz-Sternenkarte eine Menge solcher quads und speichert deren Daten in Index-Files ab. Diese Daten werden dann dazu verwendet, um die Position unseres „Suchbildes“ auf dem Himmelgewölbe zu ermitteln.
Dazu später mehr. Schauen wir uns erst einmal an, wie so ein quad gebastelt werden kann.
Konstruktion eines quads
Als Startpunkt für unsere Konstruktion nehmen wir den hellsten Stern in einem Rasterfeld und geben ihm den Namen A. Ich erzähl euch später noch, warum ich das A schief in des Referenz-Sternenbild reingemalt habe…
Um ein Sternenviereck malen zu können fehlen nun noch drei Sterne. Suchen wir uns also drei schöne Exemplare heraus. Diese Sterne dürfen ruhig auch in anderen Rasterfelder liegen. Es muß nur gewährleistet sein, daß der Mittelpunkt des entstehenden quads sich in gleichen Rasterfeld befindet wie unser Initialstern A.
Konstruktionsmerkmale eines quads
Nochmal zum mitschreiben. So sollte ein quad beschaffen sein:
- Das quad muß aus vier Sternen bestehen 🙂
- Der erste Stern, den wir festlegen, erhält den Namen A
- Die restlichen drei Sterne müssen so liegen, daß der Mittelpunkt des entstehenden Viereckss im Rasterfeld von Stern A liegt. Dadurch wird auch die Größe des quads begrenzt.
- Der am weitesten von Stern A entfernte Viereck-Stern erhält den Namen B
- Die restlichen beiden Sterne bekommen die Namen C und D
- Die Sterne C und D müssen innerhalb einer Kreislinie liegen, die durch die Sterne A und B definiert ist
- und noch einiges mehr, das uns aus Gründen der Übersichtlichkeit hier nicht zu interessieren braucht.
Schaun wir mal, ob das bei unserem quad alles passt:
Schaut gut aus. Der Mittelpunkt des quads liegt im Feld von Stern A. Und C und D liegen innerhalb des Kreisen. Also alles gut.
Das lokale Koordinatensystem
Ich hatte vorhin versprochen, daß ich erklären will, warum ich die Sternnamen schief ins Bild rein gemalt habe. Nun, das ist ganz einfach.
Jedes quad hat sein eigenes lokales Koordinatensystem, dessen Lage im Referenzbild durch das quad selber definiert wird. Ich wußte bei meinem Bild bereits, wie das Koordinatensystem in diesem speziellen Fall liegen wird. Drum hab ich Sternnamen gleich so reingemalt, daß ich später nicht radieren muß.
Alles klar? 🙂
Konstruktion des lokalen Koordinatensystems
Unser quad hat also sein eigenes Koordinatensystem. Dieses Koordinatensystem wird durch die am weitesten auseinander stehenden Vierecksterne, also durch die Sterne A und B definiert. Und zwar so:
- Das Koordinatensystem ist zweidimensional (xy-Koordinatensystem)
- Die maximale Größe der beiden Achsen wird auf den Wert 1 festgelegt
- Stern A ist der Ursprung des Koordinatensystems und hat damit die Koordinaten 0,0
- Stern B repräsentiert den Maximalwert und hat demnach die Koordinaten 1,1
Das war´s eigentlich schon. Schauen wir uns das im Bild an:
Koordinaten von C und D
Nun können wir die Koordinaten der Sterne C und D ermitteln. Ich schreib diese Koordinanten mal in der allgemeinen Form:
- Stern C: Koordinaten xC , yC
- Stern D: Koordinaten xD , yD
Noch mehr quads
Das erste quad ist konstruiert. Damit sind wir aber noch lange nicht fertig, Unser Rasterfeld wird der Ausgangspunkt für eine Menge weiterer quads sein, bevor das Spiel im nächsten Rasterfeld weiter geht.
Und wisst ihr, was das schönste an der ganzen Sache ist?
Wir brachen uns um die Konstruktion dieser quads keine Gedanken machen. Denn es gibt sie bereits. Die Kumpels von astrometry.net haben das mit der Konstruktion bereits für uns erledigt.
Index-Files
Die Kumpels von astrometry.net haben für die unterschiedlichsten Bildweiten (FOVs) quads erstellt und diese dann in sogenannten Index-Files abgespeichert.
Wie lange das Bauen der Index-Files gedauert hat, braucht uns nicht zu interessieren. Wichtig für uns ist allein, daß es sie gibt und daß mit ihnen eine schnelle und effektive Suche über den Sternenhimmel möglich ist.
Sind aber immer noch sehr viele Daten, oder?
Das stimmt schon. Die Datenflut ist immer noch ziemlich groß, nun aber beherrschbar. Dazu ist es allerdings notwendig, daß diese Daten in einer ganz bestimmten Art und Weise in den Index-Files abgelegt wurden.
Mehr dazu demnächst in diesem Theater im Artikel Geometric Hash Code 🙂
Zurück zum Anfang der Artikelserie: Was ist Plate Solving