Gehört zu: Astrofotografie
Siehe auch: FITS Format, Metadaten, Fitswork, Stacking, Platesolving, Deep Sky Stacker, Astro Pixel Processor, N.I.N.A., SiriL
Stand: 02.10.2023
Der FITS Header
Das beliebteste Dateiformat für Astrofotos ist das FITS-Format, welches von der NASA entwickelt wurde und von der IAU empfohlen wird.
Astro-Kameras erzeugen oft direkt Bilddateien im FITS-Format; beispielsweise macht das meine Astro-Kamera ZWO ASI294MC Pro so.
Ein besonderer und sehr wichtiger Teil bei Fotos im FITS-Format ist der sog. FITS-Header, in dem wichtige sog. Metadaten über das Astrofoto gespeichert werden. Die Einheiten im FITS Header nennen Spezialisten auch HDUs (=Header Data Units).
Im FITS Header steht u.a.:
- Name des Beobachtungsobjekts
- Ort der Beobachtung
- Aufnahmedatum
- Belichtungszeit
- Brennweite
- etc.
Wem der Inhalt des FITS-Headers egal ist, braucht nicht mehr weiterzulesen.
Die Einzelaufnahmen (Sub Exposures) bei solchen Kameras werden also von der Aufnahme-Software im FITS-Format (mit FITS Header) gespeichert, aber dann kommt die Stacking-Software und macht ein “Summenbild” aus den Einzelbildern. Sofort erhebt sich die Frage, ob denn im FITS-Header des Summenbildes auch alle relevanten Informationen aus den FITS-Headern der Einzelbilder übernommen werden.
Betrachten der Daten im FITS Header
Praktisch jede Software, die Bilddateien im FITS-Format bearbeiten kann, hat auch irgendwo eine Anzeigemöglichkeit für die Daten des FITS Headers. Beispiele: Fitswork, Siril
Editieren der Daten im FITS Header
Wenn man aber selber Veränderungen am FITS Header vornehmen möchte (weil z.B. durch Stacking-Software Informationen verloren gingen) gibt es sogut wie garnichts.
Eine Software, die ich dafür gefunden habe ist F4W2HDU, was aber sehr kryptisch arbeitet und auch Beschränkungen hat.
Es soll noch eine weitere Software mit dem Namen WCSTools geben.
Für Suchen mit Tante Google würde ich den Suchbegriff “WCS-FITS” probieren.
Jetzt habe ich noch die Software QFitsView gefunden: https://youtu.be/wmbsJLAamPU?feature=shared
Der FITS Header nach der Einzelaufnahme
Als erstes machen wir mit einer Aufnahme-Software Einzelaufnahmen. Die dazu benutzte Software schreibt einiges in den FITS Header.
Als solche Aufnahme-Software (FITS Header: SWCREATE) habe ich im Einsatz:
Viele wichtige Metadaten schreibt die Aufnahme-Software gleich in den FITS Header jedes Einzelfotos. Teilweise kommen diese Daten von verbundenen Geräten (z.B. ASCOM-Montierung), teilweise von Einstellungen, die in der Aufnahme-Software gemacht wurden (z.B. über Profile) oder von Daten der Einzelaufnahme gemäß eines Aufnahmeplans (Sequence) oder etc. etc. pp.
Beispiele von FITS-Headern, die meine Aufnahme-Software geschrieben hat, habe ich nach unten verschoben. Einen Vergleich zeigt folgende Tabelle:
Tabelle 1: FITS-Header und Aufnahme-Software
Metadatum |
FITS Header |
APT |
SharpCap |
N.I.N.A. |
Name der Aufnahmesoftware |
SWCREATE |
Konstante |
Konstante |
Konstante |
Name des Beobachters |
OBSERVER |
aus Settings |
aus Settings |
Nein |
Name des Beobachtungsobjekts |
OBJECT |
Eingabe |
Ja, falls angegeben |
“Snapshot” oder Target aus Sequence |
Ort der Beobachtung |
SITELAT, SITELONG |
Eingabe |
Nein, aber OBSLAT, OBSLOG |
Eingabe |
Datum der Beobachtung
The UTC date and time at the start of the exposure |
DATE-OBS |
System Clock |
System Clock |
System Clock |
Name der Kamera |
INSTRUME |
Eingabe |
Eingabe |
Eingabe |
Pixel Size |
XPICSZ, YPICSZ |
Eingabe |
Eingabe |
Eingabe |
Belichtungszeit |
EXPTIME |
Eingabe |
Eingabe |
Eingabe |
Gain/ISO |
GAIN |
Eingabe |
Eingabe |
Eingabe |
Name des Teleskops bzw. des Fotoobjektivs |
TELESCOP |
Eingabe |
aus Settings |
Eingabe |
Brennweite |
FOCALLEN |
Eingabe |
Nein |
Eingabe |
Equinoktikum |
EQUINOX |
Nein |
aus ASCOM-Teleskop |
aus ASCOM-Teleskop |
Rektaszension |
OBJCTRA |
aus ASCOM-Teleskop |
aus ASCOM-Teleskop |
aus ASCOM-Teleskop |
Deklination |
OBJCTDEC |
aus ASCOM-Teleskop |
aus ASCOM-Teleskop |
aus ASCOM-Teleskop |
Je nachdem, wie die verwendete Montierung mithilfe der Aufnahme-Software auf das Beobachtungsobjekt gefahren wurde (z.B. GOTO), kennt die Aufnahme-Software die Himmelskoordinaten des Beobachtungsobjekts (im Pointing-Modell des ASCOM-Treibers der Montierung) und schreibt diese ebenfalls in den FITS Header als:
Siehe dazu auch: https://forums.sharpcap.co.uk/viewtopic.php?t=734
Dabei bedeutet C2A “Computer aided Astronomy” und ist ein Planetariumsprogramm (Link: http://www.astrosurf.com/c2a/english/)
Der FITS Header nach dem Stacken
Es gibt ja verschiedene Software, die man zum Stacken verwenden kann. Dabei gibt es einige Unterschiede beim eigentlichen Stacken (Kalibrieren, Registrieren und Stacken), aber auch Unterschiede bei der Behandlung der FITS Header.
Als Stacking-Software habe im Einsatz:
In das Summenbild übernimmt diese Stacking-Software aber nicht 100% aller möglichen und sinnvollen Werte:
Tabelle 2: FITS Header und Stacking-Software
Metadatum |
FITS Header |
DSS |
SiriL 1.2.0 |
Name der Software |
SWCREATE |
nein, stattdessen SOFTWARE |
nein, stattdessen PROGRAM |
Name des Beobachters |
OBSERVER |
übernimmt aus erstem Bild
(Text aber nur bis zum ersten Blank) |
übernimmt aus erstem Bild |
Name des Beobachtungsobjekts |
OBJECT |
nein |
übernimmt |
Ort der Beobachtung |
SITELAT, SITELONG |
übernimmt |
nicht unterstützt |
Datum der Beobachtung
The UTC date and time at the start of the exposure |
DATE-OBS |
nein |
übernimmt aus erstem Bild |
Name der Kamera |
INSTRUME |
übernimmt |
übernimmt |
Pixel Size |
XPICSZ, YPICSZ |
nein |
übernimmt |
Anzahl Einzelbilder |
STACKCNT |
nein |
Anzahl gestackter Einzelbilder |
Gesamte Belichtungszeit |
EXPTIME |
Summe aus den Einzelbilder |
Summe aus den Einzelbildern |
Gain/ISO |
GAIN |
übernimmt |
übernimmt |
Name des Teleskops bzw. des Fotoobjektivs |
TELESCOP |
übernimmt |
übernimmt |
Brennweite |
FOCALLEN |
nein |
übernimmt |
Equinoktikum |
EQUINOX |
nein |
übernimmt |
Rektaszension (hms) |
OBJCTRA |
übernimmt |
übernimmt |
Deklination (dms) |
OBJCTDEC |
übernimmt |
übernimmt |
Der FITS Header nach dem Plate Solving (WCS Koordinaten)
Mit dem Plate Solving werden ja die Koordinaten (Himmelskoordinaten Rektaszension und Deklination) der Bildmitte ermittelt sowie Drehwinkel und Abbildungsmaßstab.
Plate Solving wird einerseits eingesetzt, um das Teleskop auf das gewünschte Beobachtungsobjekt zu positionieren (also vor der Aufnahme); ggf. mit SYNC und GOTO etc. Andererseits können auch nach der Aufnahme diese durch Plate Solving ermittelten Daten wichtig sein z.B. für eine fotometrische Farb-Kalibrierung oder auch ganz einfach für Annotationen.
Als Platesolving-Software auch ich im Einsatz:
Nach dem Platesolving hat man also einen Zusammenhang zwischen Bildkoordinaten (x,y in Pixeln) und astronomischen Koordinaten (Rektaszension, Deklination und genaugenommen noch Equinox). Diese astonomischen Koordinaten sind eine praktische Ausprägung des sog. “World Coordinate System (WCS)”.
Falls das “geplatesolvte” Astro-Foto im FITS-Foramat ist, werden die WCS Koordinaten durch folgende Einträge im FITS Header spezifiziert:
- CTYPE1 = ‘RA—TAN’ (äquatoriale Koordinate ‘RA” in tangentialer (gnomonischer) Projektion)
- CTYPE2 = ‘DEC–TAN’ (äquatoriale Koordinate “DEC” in tangentialer (gnomonischer) Projektion)
- CRPIX1 = 2071 (x-Koordinate des Referenzpixels, normalerweise die Bildmitte)
- CRPIX2 = 1411 (y-Koordinate des Referenzpixels, normalerweise die Bildmitte)
- CRVAL1 = WCS-Koordinate1 des Referenzpixels (normalerweise Rektaszension der Bildmitte)
- CRVAL2 = WCS-Koordinate2 des Referenzpixels (normalerweise Deklination der Bildmitte)
- CDELT1 = Pixelgröße in x-Richtung in Grad dezimal
- CDELT2 = Pixelgröße in y-Richtung in Grad dezimal
Häufig werden CRVAL1 und CRVAL2 auch weggelassen. weil diese Information ja schon in anderen KEY-Wörtern vorhanden ist.
Eigentlich könnten CDELT1 und CDELT2 auch weggelassen werden, weil diese Information auch schon an anerer Stelle steht, aber SiriL braucht diese Einträge.
Wenn man Siril zum Platesolven einsetzt, werden alle diese Parameter auch tatsächlich in den FITS-Header geschrieben.
Bei Siril sind solche WCS Koordinaten dann erforderlich, um ein Koordinatennetz und/oder Annotationen (Namen von DSOs und/oder Sternen) automatisch anzuzeigen.
SiriL schreibt auch PLTSOLVD=T (nicht F) in den FITS-Header, was aber für die Funktion “Annotation” nicht erforderlich ist.
Post Processing mit WCS Koordinaten
Falls im FITS Header gültige WCS Koordinaten gefunden werden, unterstützt bestimmte Software (z.B. Siril) weitere Funktionen:
- Photometric Color Calibration
- Annotations: Star names, DSO names
- Äquatoriale Koordinatenlinien: Rektaszension, Deklination
Beispiele von FITS-Headern durch Aufnhame-Software
Beispiel: FITS-Header mit APT
SIMPLE = T / file does conform to FITS standard
BITPIX = 16 / number of bits per data pixel
NAXIS = 2 / number of data axes
NAXIS1 = 4144 / length of data axis 1
NAXIS2 = 2822 / length of data axis 2
EXTEND = T / FITS dataset may contain extensions
COMMENT FITS (Flexible Image Transport System) format is defined in ‘Astronomy
COMMENT and Astrophysics’, volume 376, page 359; bibcode: 2001A&A…376..359H
BZERO = 32768 / offset data range to that of unsigned short
BSCALE = 1 / default scaling factor
OBJECT = ‘M57 ‘ / The name of Object Imaged
TELESCOP= ‘EQMOD HEQ5/6’ / The Telescope used
INSTRUME= ‘ZWO ASI294MC Pro’ / The model Camera used
OBSERVER= ‘Dietrich Kracht’ / The name of the Observer
DATE-OBS= ‘2022-09-12T09:51:36’ / The UTC date and time at the start of the expo
HIERARCH CAMERA-DATE-OBS = ‘2022-09-12T09:51:36’ / The UTC date and time at the
EXPTIME = 0.002 / The total exposure time in seconds
CCD-TEMP= 23.5 / Temperature of CCD when exposure taken
XPIXSZ = 4.63 / Pixel width in microns (after binning)
YPIXSZ = 4.63 / Pixel height in microns (after binning)
XBINNING= 1 / Binning factor in width
YBINNING= 1 / Binning factor in height
XORGSUBF= 0 / Sub frame X position
YORGSUBF= 0 / Sub frame Y position
EGAIN = 1.00224268436432 / Electronic gain in e-/ADU
FOCALLEN= 50 / Focal Length of the Telescope in mm
JD = 2459834.91083333 / Julian Date
SWCREATE= ‘Astro Photography Tool – APT v.4.01’ / Imaging software
SBSTDVER= ‘SBFITSEXT Version 1.0’ / Standard version
SNAPSHOT= 1 / Number of images combined
SET-TEMP= 21. / The setpoint of the cooling in C
IMAGETYP= ‘Light Frame’ / The type of image
OBJCTRA = ’05 12 43′ / The Right Ascension of the center of the image
OBJCTDEC= ‘-03 29 58’ / The Declination of the center of the image
OBJCTALT= ‘8.2047 ‘ / Nominal altitude of center of image
OBJCTAZ = ‘252.5824’ / Nominal azimuth of center of image
AIRMASS = 7.00717254857843 / Air Mass value
SITELAT = ‘+53 00 00.000’ / The site Latitude
SITELONG= ‘+10 00 00.000’ / The site Longitude
GAIN = 120 / The gain set (if supported)
OFFSET = 8 / The offset/black level set (if supported)
BAYERPAT= ‘RGGB ‘ / The Bayer color pattern
END
Beispiel: FITS-Header mit SharpCap
SIMPLE = T / C# FITS: 09/12/2022 12:18:27
BITPIX = 16
NAXIS = 2 / Dimensionality
NAXIS1 = 4144
NAXIS2 = 2822
XBAYROFF= 0 /
YBAYROFF= 0 /
FRAMETYP= ‘Light ‘ /
SWCREATE= ‘SharpCap v4.0.9268.0, 32 bit’ /
DATE-OBS= ‘2022-09-12T10:18:27.3673948’ / System Clock:Est. Frame Start
DATE-AVG= ‘2022-09-12T10:18:27.3682758’ / System Clock:Est. Frame Mid Point
BAYOFFY = 0 /
FOCUSPOS= 5000 /
GAIN = 120 /
BLKLEVEL= 8 /
DATE-END= ‘2022-09-12T10:18:27.3691567’ / System Clock:Est. Frame End
BAYOFFX = 0 /
COLORTYP= ‘RGGB ‘ / Try GBRG if image upside down or R/B swapped.
FOCTEMP = 0 / CELCIUS
CCD-TEMP= 27.1 / C
YBINNING= 1 /
XBINNING= 1 /
YPIXSZ = 4.63 / microns, includes binning if any
XPIXSZ = 4.63 / microns, includes binning if any
EXPTIME = 0.001762 / seconds
ROWORDER= ‘TOP-DOWN’ /
BSCALE = 1 /
BZERO = 32768 /
EXTEND = T / Extensions are permitted
BAYERPAT= ‘RGGB ‘ / Try GBRG if image upside down or R/B swapped.
INSTRUME= ‘ZWO ASI294MC Pro’ /
END
Beispiel: FITS-Header mit N.I.N.A.
SIMPLE = T / C# FITS
BITPIX = 16 /
NAXIS = 2 / Dimensionality
NAXIS1 = 4144 /
NAXIS2 = 2822 /
BZERO = 32768 /
EXTEND = T / Extensions are permitted
IMAGETYP= ‘LIGHT’ / Type of exposure
EXPOSURE= 1.0 / [s] Exposure duration
EXPTIME = 1.0 / [s] Exposure duration
DATE-LOC= ‘2022-09-12T13:01:51.863’ / Time of observation (local)
DATE-OBS= ‘2022-09-12T11:01:51.863’ / Time of observation (UTC)
XBINNING= 1 / X axis binning factor
YBINNING= 1 / Y axis binning factor
GAIN = 120 / Sensor gain
OFFSET = 8 / Sensor gain offset
EGAIN = 1.00224268436432 / [e-/ADU] Electrons per A/D unit
XPIXSZ = 4.63 / [um] Pixel X axis size
YPIXSZ = 4.63 / [um] Pixel Y axis size
INSTRUME= ‘ZWO ASI294MC Pro’ / Imaging instrument name
SET-TEMP= -10.0 / [degC] CCD temperature setpoint
CCD-TEMP= 28.9 / [degC] CCD temperature
BAYERPAT= ‘RGGB’ / Sensor Bayer pattern
XBAYROFF= 0 / Bayer pattern X axis offset
YBAYROFF= 0 / Bayer pattern Y axis offset
USBLIMIT= 40 / Camera-specific USB setting
TELESCOP= ‘Canon’ / Name of telescope
FOCALLEN= 50.0 / [mm] Focal length
ROWORDER= ‘TOP-DOWN’ / FITS Image Orientation
EQUINOX = 2000.0 / Equinox of celestial coordinate system
SWCREATE= ‘N.I.N.A. 2.0.0.9001 ‘ / Software that created this file
END