Kometen-Aufnahmen

Kometen stellen für die Bildbearbeitung eine spezielle Herausforderung dar. Sie sind in der Regel recht leuchtschwach und erfordern lange Belichtungszeiten und gleichzeitig bewegen sie sich erstaunlich schnell. Schon nach wenigen Minuten sind sie deutlich sichtbar vor dem Himmelshintergrund weitergezogen. Dieses bedeutet, dass man entweder die Hintergrundsterne scharf auf das Foto bekommt und der Komet unscharf wird oder umgekehrt der Komet scharf und die Sterne zu Spuren werden.

Mit speziellen Bearbeitungsschritten kann man Sterne und Komet getrennt entwickeln und dann wieder kombinieren. Dann sind sowohl Komet und Sterne scharf abgebildet.

Wenn jede Einzelaufnahme des Kometen schon sehr lange belichtet wird und die Nachführung dem Kometen folgt, dann es zu ovalen Sternen in den Einzelbildern kommen. Die hier beschriebenen Arbeitsschritte können das nicht bereinigen. Dafür ist eine zusätzliche Prozedur nötig, die in dem Artikel „ovale Sterne abrunden“ beschrieben ist. Wenn die Sterne zu kleinen Strichspuren werden, dann funktioniert die nachstehende Prozedur nicht mehr.

Sternen-Hintergrund erstellen

Zunächst erstellen wir den Sternenhintergrund ohne Komet. Hierzu entwicklen wir die Bilder wie jede andere Deepsky-Aufnahme. Wir erhalten ein Bild mit punktförmigen Sternen und einem verwischten Kometen. Diese Ergebnis wird mit StarNet++ bearbeitet, welches ein Bild mit dem Kometen ohne Sterne erzeugt. In Siril ab Version 1.1 (aktuell noch in Entwicklung) kann dieses direkt erzeugt werden: Menü "Image Processing / Star Processing / Starnet ++ Star removal

starnet_siril

Es sollten hier die Optionen "pre-stretch" und "Star mask" ausgewählt werden.

Bild des Kometen entwicklen

Als nächsten Schritt erzeugen entfernen wir aus allen registrierten Bildern die Sterne, sodass nur noch der Komet übrig bleibt. Bei jedem Bild wird vor der Sternenentfernung noch eine photometrische Kalibrierung durchgeführt, sodass die Farben für das finale Stacking schon entsprechend vorbereitet sind. Ab Siril v1.1 kann man dieses per Skript durchführen. Das untenstehende Skript "siril_seq.sh" benötigt einen Mac und ist eine leicht angepasste Version von dieser Webseite: https://siril.org/tutorials/bash-scripts/
Auf dieser Webseite befinden sich auch Skripte für Windows-Rechner.

Wir öffnen das Terminal und geben folgende Befehle ein:

cd /Volumes/Astro/lights/
/Users/jo/siril/Batch/siril_seq.sh "pcc -noflip -platesolve, starnet -stretch -nostarmask" r_pp_light_ pcc_ fit


In diesem Beispiel heißt die Sequenz mit den registrierten Aufnahmen "r_pp_light_" und befindet sich auf der Festplatte "Astro" im Ordner "lights". Mit dem CD-Befehl wird zunächst das Lights-Verzeichnis eingestellt.
Der Pfad von dem Skript "siril_seq.sh" muss nach eigenen Gegebenheiten angepasst werden. Wir übergeben dem Skript zwei Anweisungen für jedes Bild der Sequenz:

  • "pcc -noflip -platesolve" führt eine photometrische Farbanpassung aus. Das funktioniert nur, wenn in der FIT-Datei neben den Kamera-Daten auch die Himmelskoordinaten erfasst wurden. Ist das nicht der Fall, muss man den Befehl weg lassen und die Farbanpassung später manuell durchführen.
  • "starnet -stretch -nostarmask" führt die Stern-Entfernung durch.

Da das Skript jedes Bild wieder speichert, geben wir noch als Parameter pcc_ an, sodass die Originaldateien nicht überschrieben werden, sondern dieses (überflüssige) Ergebnis mit Präfix "pcc_" gespeichert wird. Die sternlosen Bilder werden durch Starnet mit Anhang "starless" selbst gespeichert.

Wenn das Skript durchgelaufen ist wählen wir alle "starless" Dateien aus und generieren eine neue Sequenz. Bei der Bild-Registrierung für diese Sequenz ist das Verfahren „Kometen-/Asteroiden-Registierung“ auszuwählen. Hierbei muss beim ersten und letzten Bild der Sequenz die Position des Kometen selektiert werden, damit die Software die Objekt-Bewegung zwischen den Bildern berechnen kann. Beim Zusammenlegen sind diese Positionen dann die Positionsreferenz und der Komet erscheint scharf.

Hintergrund und Komet kombinieren

Nachdem das Kometbild erstellt wurde, kombinieren wir dieses mit dem neuen Siril-Werkzeug "Image Processing / Star Processing / Star recomposition"


Beispiel-Bilder dieser Bearbeitungsmethode finden sich im Foto-Album Kometen



Skript "siril_seq.sh"

Dieses Skript (Apple Mac Version) unterscheidet sich von der Original-Version der Siril-Webseite dadurch, dass statt einem Kommando bis zu 10 Anweisungen in einer komma-speparierten Liste übergeben werden können.

#!/bin/bash

# source: https://siril.org/tutorials/bash-scripts/
# Examples:
###########
#
# Apply a 90 deg rotation w/o crop to all images from pp_light_.seq located in current folder
# ./siril_seq.sh "rotate 90 -nocrop" "pp_light_" rot90_ fit
#
# multiple commands via comma (up to 10): ./siril_seq.sh "rotate 90, rotate 90" "pp_light_" rot180_ fit
#
# User settings
# command: the command(s) to be applied to each image of the sequence
# seqname: name of the sequence, can be a full path or just a sequence namein the current directory (w or w/o .seq extension)
# prefix: (optional) the prefix to be preprended to the processed file names, def: ""; file saved if prefix not empty
# ext: (optional) chosen FITS extension, def: fit (can also be fit or fts)
#
# Make script usable:
# touch siril_seq.sh
# chmod a+x siril_seq.sh
#

# Default values
prefix=""
ext=fit


# User command line inputs
if [[ $# -lt 2 ]]; then
echo "Illegal number of parameters - you should pass at least command and sequence name" >&2
exit 1
fi
if [ ! -z "$1" ]; then command="$1"; fi
if [ ! -z "$2" ]; then seqname="$2"; fi
if [ ! -z "$3" ]; then prefix="$3"; fi
if [ ! -z "$4" ]; then ext="$4"; fi

printf "Commands to be run: %s\n"
IFS=',' read -r -a cmd_array <<< "$command"
for element in "${cmd_array[@]}"
do
echo "$element"
done

printf "squence name: %s\n" $seqname
printf "prefix: %s\n" $prefix
printf "FITS extension: %s\n" $ext

currdir=$(dirname "$seqname")
seqname=$(basename "$seqname")
seqext=".seq"


if [ "$currdir" = "." ]; then currdir=$(pwd); fi
if [ "${seqname: -4}" = $seqext ]; then seqname="${seqname%.*}"; fi
fullseqname="$currdir"/"$seqname"$seqext

printf "Working directory: %s\n" "$currdir"
printf "Sequence to be processed: %s%s\n" "$seqname" $seqext

[[ -f "$currdir"/"$seqname"$seqext ]] || { echo "The specified sequence does not exist - aborting"; exit 1; }

# get siril version
version=$(/Applications/SiriL.app/Contents/MacOS/siril --version |awk '{print $2}')

while read line
do
if [[ "$line" =~ ^I.* ]]; then
spec=($line)
currframenb=${spec[1]}
currframe=$(printf "$seqname%05d.$ext" $((currframenb)))
savename=$prefix"$currframe"
# check first frame exists, otherwise break
[[ -f "$currdir"/"$currframe" ]] || { printf "First file %s does not exist... check if the .seq file is valid or the selected FITS extension ('%s' defined here) matches your files - aborting\n" "$currframe" $ext; exit 1; }

printf "processing file: %s\n" "$currframe"
/Applications/SiriL.app/Contents/MacOS/siril -s - <log 2>&1
requires 1.1.0
setext $ext
cd "$currdir"
load "$currframe"
${cmd_array[0]}
${cmd_array[1]}
${cmd_array[2]}
${cmd_array[3]}
${cmd_array[4]}
${cmd_array[5]}
${cmd_array[6]}
${cmd_array[7]}
${cmd_array[8]}
${cmd_array[9]}
save "$savename"

ENDSIRIL
fi
done < "$currdir"/"$seqname"$seqext