Hintergrund-Extraktion

Der Himmelshintergrund hat oft einen unerwünschten Farbverlauf bzw. Gradienten, der durch Lichtverschmutzung, den Mond oder einfach durch die Ausrichtung der Kamera relativ zum Boden verursacht wird. Diese Funktion tastet den Hintergrund an vielen Stellen des Bildes ab und sucht nach einem Trend in den Helligkeitsschwankungen und entfernt ihn anhand einer geglätteten Funktion, um zu vermeiden, dass Nebel mit entfernt werden.

Dialog

Dialogbox Hintergrund-Extraktion. Auf der linken Seite ist die Polynom-Version zu sehen, rechts RBF.

Proben können automatisch platziert werden, indem Sie eine Dichte angeben (Proben pro Zeile) und auf Generieren klicken. Wenn Bereiche des Bildes um einen Faktor Rastertoleranz mal Sigma heller als der Median sind, wird dort keine Probe platziert.

There are some options regarding how to place samples.

  • The default is a regular grid, however you can select random sample locations to achieve the same sample positioning as SetiAstro's AutoDBE process.

  • You can select sample optimization. If this is enabled, the position of each sample will be optimized by seeking a local minimum sample median. This may result in an irregular grid. Note that this setting also affects manually placed samples, so don't be surprised if your samples move! If you wish to place a sample precisely then disable this.

You can also limit the area in which samples are placed. If a sample lands too close to the image edge it may include black border areas, or areas of uneven coverage, resulting in a poor background model. By making a selection a little in from the image edge, you can restrict the sample placement to inside the selection thus eliminating the problem with edge samples.

Tipp

Wenn Sie sehr starke Gradienten haben, zum Beispiel bei Aufnahmen unter einem Stadthimmel mit hohem Bortle-Wert, reicht möglicherweise selbst die maximale Gittertoleranz nicht aus. In diesem Fall können Sie das Kontrollkästchen „Alle Proben behalten“ aktivieren und das gesamte Probenraster wird ausgefüllt. Anschließend müssen Sie manuell Proben von tatsächlichen astronomischen Objekten entfernen.

Nach der Generierung können Proben auch manuell hinzugefügt (Linksklick) oder manuell entfernt (Rechtsklick) werden.

Es gibt zwei Algorithmen zur Entfernung des Gradienten:

RBF

Dies ist die modernste Methode. Es verwendet die Radiale Basisfunktion <https://de.wikipedia.org/wiki/Radiale_Basisfunktion>, um einen Himmelshintergrund zu synthetisieren und den Farbverlauf mit großer Flexibilität zu entfernen. Es erfordert einen einzelnen Parameter, der in Form eines Schiebereglers vorliegt: Glätten. Mit diesem Wert können Sie bestimmen, wie weich oder hart der Übergang zwischen den Abtastpunkten berechnet wird. Bei großen und gleichmäßigen Verläufen ist ein hoher Glättungsfaktor sinnvoll, bei kleinen, lokalen Verläufen ein entsprechend niedrigerer Wert.

Tipp

Beginnen Sie mit der Grundeinstellung (50 %) und optimieren Sie diese schrittweise, um optimale Ergebnisse zu erzielen.

Theorie

Radiale Basisfunktionen sind Funktionen der Form \(\phi(\mathbf{x}) = \phi(\| \mathbf{x} \|)\), wobei wir in unserem Fall die euklidische Norm \(\| \mathbf{x} \| = \sqrt{x_1^2 + x_2^2}\) verwenden. Die Funktion \(f\), die das Hintergrundmodell beschreibt, kann nun als lineare Kombination ausgedrückt werden

\[f(\mathbf{x}) = \sum_i w_i \, \phi(\|\mathbf{x} - \mathbf{x_i}\|) + o\]

wobei \(w_i\) den Gewichtungen für die verschiedenen Stichprobenpunkte entspricht und \(o\) einem konstanten Offset entspricht.

Die Anforderung, dass die Funktion \(f\) die Beispielpunkte durchlaufen soll, führt zu der Bedingung

\[\begin{split}\begin{pmatrix} \phi(\mathbf{x}_1 - \mathbf{x}_1) & \phi(\mathbf{x}_1 - \mathbf{x}_2) & \dots & \phi(\mathbf{x}_1 - \mathbf{x}_N) & 1 \\ \phi(\mathbf{x}_2 - \mathbf{x}_1) & \phi(\mathbf{x}_2 - \mathbf{x}_2) & \dots & \phi(\mathbf{x}_2 - \mathbf{x}_N) & 1 \\ \vdots & \vdots & \ddots & \vdots \\ \phi(\mathbf{x}_N - \mathbf{x}_1) & \phi(\mathbf{x}_N - \mathbf{x}_2) & \dots & \phi(\mathbf{x}_N - \mathbf{x}_N) & 1 \\ 1 & 1 & \dots & 1 & 0 \end{pmatrix} \begin{pmatrix} w_1 \\ w_2 \\ \vdots \\ w_N \\ o \end{pmatrix} = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_N \\ 0 \end{pmatrix} \, ,\end{split}\]

was nur erfüllt werden kann, wenn die Matrix auf der linken Seite invertierbar ist. Mit der richtigen Wahl der Funktion \(\phi\) kann dies immer gewährleistet werden [Wright2003].

Zusätzlich wird der Summand \(s \, I\) zur Matrix auf der linken Seite hinzugefügt, wobei \(s\) ein Glättungsparameter und \(I\) die Einheitsmatrix ist. Der Summand bewirkt eine Regularisierung, die zu einem glatteren Ergebnis führt, je größer der Parameter \(s\) ist. Dieser Parameter kann mit dem Parameter Glätten des Dialogfelds geändert werden.

Für die radiale Basisfunktion verwenden wir den Dünnplatten-Spline \(\phi(|\mathbf{x}|) = |\mathbf{x}|^2 \log(|\mathbf{x}|)\).

Polynomisch

Dies ist der ursprüngliche und einfachste Algorithmus, der in Siril entwickelt wurde. Bei der Polynomberechnung wird nur ein Parameter verwendet: die Ordnung. Je höher der Ordnungsgrad, desto flexibler ist die Korrektur, aber ein zu hoher Grad kann zu seltsamen Ergebnissen wie einer Überkorrektur führen.

Tipp

Eine Korrektur der Stufe 1 kann sehr nützlich sein, wenn Sie den Farbverlauf auf den Subs/Lights entfernen möchten.

Warnung

Hintergrundentfernen kann auch an CFA-Bildern durchgeführt werden, aber nur an solchen, die ein Bayer-Muster haben. (Es ist nicht für X-TRANS Muster unterstützt) Bilder mit Bayer-Muster, werden als vier getrennte Bilder behandelt, jedes korrespondiert mit einem CFA-Unterkanal. Jeder Unterkanal wird unabhängig voneinander verarbeitet. Dann werden sie wieder in das originale Muster zusammengeführt.

Die vorgesehene Nutzung dafür ist das Entfernen von linearen Gradienten von Sequenz-Frames vor dem Anwenden von Drizzle auf eine Sequenz mit Bayer-Muster. In diesem Fall wird empfohlen, eine lineare (ploynomialer Grad 1) Gradient-Entfernung wie mit anderer Gradient-Entfernung, die vor dem Stacken angewendet wird.

Theorie

Polynomfunktionen sind Funktionen der Form

\[\begin{equation} f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_2x^2+a_1x+a_0 \end{equation}.\]

In Siril ist der maximal zulässige Grad \(n=4\) und kann über das Dropdown-Menü Ordnung geändert werden. Darüber hinaus ist das Modell im Allgemeinen instabil und liefert schlechte Ergebnisse.

Allgemeine Einstellungen

  • Dithering hinzufügen: Aktivieren Sie diese Option, wenn nach der Hintergrundextraktion Farbstreifen entstehen. Dither ist eine bewusst angewandte Form des Rauschens, die verwendet wird, um Quantisierungsfehler zu randomisieren und so großflächige Muster wie Farbstreifen in Bildern zu verhindern.

  • Korrektur:

    • Subtraktion: Sie wird hauptsächlich zur Korrektur von additiven Effekten verwendet, z. B. von Gradienten, die durch Lichtverschmutzung oder den Mond verursacht werden.

    • Division: Sie wird hauptsächlich zur Korrektur multiplikativer Phänomene verwendet, wie z. B. Vignettierung oder differentielle atmosphärische Absorption. Diese Art von Operation sollte jedoch besser mit einer Master-Flat-Korrektur durchgeführt werden.

  • Berechne den Hintergrund-Gradienten: Dies berechnet den synthetischen Hintergrund und wendet die ausgewählte Korrektur an. Das Modell wird immer aus dem im Speicher geladenen Originalbild berechnet, so dass der Benutzer iterativ arbeiten kann.

  • Zeige Originalbild: Halten Sie diese Schaltfläche gedrückt, um das Originalbild zu sehen.

Der Hintergrundgradient eines vorverarbeiteten Bildes kann komplex sein, da sich der Gradient mit der Aufnahmesitzung gedreht haben kann. Es kann schwierig sein, ihn vollständig zu entfernen, da es schwierig ist, ihn mit einer Polynomfunktion darzustellen. Wenn dies der Fall ist, können Sie in Erwägung ziehen, den Gradienten in den Einzelframes zu entfernen: In einem Einzelbild ist der Hintergrundgradient viel einfacher und folgt im Allgemeinen einer einfachen linearen Funktion (Grad 1).

Tipp

Manchmal treten nach der Hintergrundextraktion unschöne Farbstreifen auf. In diesem Fall müssen zwei Dinge überprüft werden. Erstens: Wenn es sich um ein 16-Bit-Bild handelt, empfehlen wir Ihnen dringend, immer das 32-Bit-Format zu verwenden. Wenn Sie trotz allem immer noch solche Artefakte beobachten, ist die oben erläuterte Option Dithering hinzufügen die Lösung für Ihr Problem.

Dialog

Wenn eine solche Streifenbildung nach der Gradientenextraktion auftritt, kann dies mit der Option Dithering hinzufügen behoben werden (mit freundlicher Genehmigung von Nathan B.).

Tipp

Gute Ergebnisse mit dem RBF-Algorithmus erfordern im Allgemeinen weniger Stichproben als mit dem Polynomalgorithmus.

Siehe auch

Weitere Erklärungen finden Sie in der entsprechenden Anleitung hier (englisch).

Siril Kommandozeile

subsky { -rbf | degree } [-dither] [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-existing] [-random] [-gradient] [-border=<pixels|percent%>]
Berechnet einen synthetischen Hintergrundgradienten unter Verwendung des Polynomfunktionsmodells des Grades degree oder des RBF-Modells (wenn stattdessen -rbf angegeben wird) und subtrahiert ihn vom Bild.
Die Anzahl der Stichproben pro horizontaler Linie und die Toleranz zum Ausschluss hellerer Bereiche können mit den optionalen Argumenten angepasst werden. Die Toleranz wird in MAD-Einheiten angegeben: Median + Toleranz * mad.
Dithering, das für geringe dynamische Gradienten erforderlich ist, kann mit -dither aktiviert werden.
For RBF, the additional smoothing parameter is also available. To use pre-existing background samples (e.g. if you have set background samples using a Python script) the -existing argument must be used.
-random: place sample points randomly in darker areas of each image quadrant plus fixed border/corner points, instead of using a regular grid. In this mode the -samples value is the total number of interior random points.
-gradient: after placing each sample (grid or random), move it to the nearest local brightness minimum using gradient descent, shifting it away from stars and other bright objects. Can be combined with either placement mode.
-border=: exclude a border strip from sample placement. For a pixel value (e.g. -border=50), the same number of pixels is excluded from all four sides. For a percentage value (e.g. -border=10%), the left and right strips are that percentage of the image width, and the top and bottom strips are that percentage of the image height, so the excluded area is proportional to the image dimensions rather than a fixed pixel count

Tipp

The -existing command argument forces use of existing background samples. This option is primarily for use in conjunction with the Python module where SirilInterface.set_bgsamples() can be used to set custom background samples based on user-defined algorithms. If it is not provided, subsky will automatically regenerate background samples. Note that the -existing option is not available with the seqsubsky command, because sequence frames are not necessarly registered at the time background subtraction is carried out, so the samples for one frame do not necessarily apply to another.

Siril Kommandozeile

seqsubsky sequencename { -rbf | degree } [-nodither] [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=] [-random] [-gradient] [-border=<pixels|percent%>]
Gleicher Befehl wie SUBSKY, aber für die Sequenz sequencename.
Dithering, required for low dynamic gradients, can be disabled with -nodither. Note that the -existing option is not available for sequence background removal, as the frames of a sequence are not necessarily always aligned.

The output sequence name starts with the prefix "bkg_" unless otherwise specified with -prefix= option. Only selected images in the sequence are processed.
-random and -gradient options are available as in SUBSKY.
-border= is available as in SUBSKY

Verweis: subsky
[Wright2003]

Wright, Grady Barrett. Radial basis function interpolation: numerical and analytical developments. University of Colorado at Boulder, 2003.