Stretching der Bilder
Die Bilder werden als Pixelwerte gespeichert, die von der Kamera kommen und einer quasi-linearen Gesetzmäßigkeit folgen. Das bedeutet, dass für Bereiche des Himmels, die keine sichtbaren Merkmale aufweisen, der Pixelwert nahe bei Null liegt, während er für helle Objekte wie Sterne je nach Belichtung und Verstärkung nahe bei einem Maximalwert liegt. Wenn ein Nebel eine Oberflächenhelligkeit hat, die halb so groß ist wie die eines Sterns, hat er Pixelwerte, die halb so groß sind wie die des Sterns, und so weiter. Dies ist der so genannte lineare Pixelmodus.
Das menschliche Auge sieht Photonen nicht auf die gleiche Weise. Es verstärkt dunkle Bereiche, so dass ein Objekt, das vielleicht ein Zehntel so hell ist wie ein anderes, nur halb so hell erscheint. In der Astronomie werden Bilder in der Regel mit einer ähnlichen Pixelwert-Skalierung angezeigt (siehe Anzeigemodi in der grafischen Benutzeroberfläche).
Es handelt sich jedoch nur um einen Anzeigetrick, bei dem eine Bildschirmübertragungsfunktion verwendet wird, um die Pixelwerte des unveränderten Bildes in besser aussehende Bilder umzuwandeln.
Beim Stretching geht es darum, etwas Ähnliches zu tun, indem die Pixelwerte von Bildern geändert werden, anstatt nur ihre Darstellung zu verändern. Siril verfügt über drei Hauptwerkzeuge, um dies zu erreichen.
Asinh-Transformation
Die asinh-Transformation (inverser hyperbolischer Sinus) verändert die Pixelwerte des Bildes in ähnlicher Weise wie die asinh-Pixelskalierungsfunktion, die durch die Schieberegler für niedrige und hohe Werte parametrisiert wird. Hier sind die Parameter der Streckungsfaktor und der Schwarzpunktwert.

Dialogbox der Asinh-Transformation
Bei monochromen Bildern werden die Pixelwerte nach der folgenden Funktion geändert:
Für Farbbilder lautet die Funktion:
wobei rgb_original unter Verwendung der Pixelwerte der drei Kanäle berechnet wird.
Theorie
Da rgb_original ein Mittelwert der 3 Kanäle ist, werden ein oder zwei Kanalwerte größer als rgb_original sein und können daher beschnitten werden. Dies kann zu Farbartefakten führen, wenn helle, stark gefärbte Regionen gestreckt werden. Um dieses Problem zu vermeiden, wird der RGB-Blend-Clipping-Algorithmus verwendet. Dieser wurde von denselben Autoren entwickelt wie die Generalised Hyperbolic Stretch-Transformationen. Die \((r, g, b)\)-Werte werden zunächst auf der Grundlage des Luminanzwertes rgb_original gestreckt, um \((r', g', b')\) zu erhalten. Dann werden die ursprünglichen \((r, g, b)\)-Werte unabhängig voneinander gestreckt, um \((r'', g'', b'')\) zu erhalten. Schließlich wird der größte Wert von \(k\) ermittelt, so dass
\(k \times r' + ( 1 - k ) \times r'' ≤ 1\);
\(k \times g' + ( 1 - k ) \times g'' ≤ 1\);
und
\(k \times b' + ( 1 - k ) \times b'' ≤ 1\)
Dann werden die transformierten Werte wie folgt berechnet
\(( k \times r' + ( 1 - k ) \times r'', k \times g' + ( 1 - k ) \times g'', k \times b' + ( 1 - k ) \times b'')\)
Dieser Algorithmus zum Beschneiden von RGB-Überblendungen wird auch für die weiter unten beschriebenen Generalisierten Hyperbolischen Streckungstransformationen verwendet.
Wenn die Option RGB-Arbeitsraum verwenden nicht aktiviert ist, ist rgb_original der Mittelwert der drei Pixelwerten; wenn sie gesetzt ist, ändert sich die Abwägung auf 0,2126 für den Rotwert, 0,7152 für den Grünwert und 0,0722 für den Blauwert, was die Ergebnisse näher an eine neutrale Farbbalance bringt.
Siril Kommandozeile
asinh [-human] stretch [offset]
Transformation Mitteltonübertragungsfunktion (MTF)
MTF ist eines der leistungsfähigsten Werkzeuge zum Strecken des Bildes. Sie kann leicht automatisiert werden, und deshalb wird sie auch in der automatisch gestreckten Ansicht verwendet.

Dialogbox der Histogramm-Transformation
Das Werkzeug wird in Form eines Histogramms mit 3 Schiebereglern (in Form von Dreiecken unter dem Histogramm) dargestellt, die wir bewegen müssen, um das Bild zu verändern. Das Dreieck auf der linken Seite steht für den Schattenpunkt, das Dreieck auf der rechten Seite für die Lichter und das Dreieck in der Mitte für die Mitteltonbalance. Die Werte dieser Schieberegler werden unterhalb des Histogramms auf der linken Seite angezeigt und können direkt von Hand verändert werden. Auf der anderen Seite steht der Prozentsatz der Pixel, die durch die Transformation abgeschnitten werden: Es ist wichtig, nicht zu viele Pixel abzuschneiden. Wenn nur der Parameter für die Mitteltöne geändert wird, kann kein Pixel abgeschnitten werden.
Theorie
Die neuen Pixelwerte werden dann mit dieser Funktion berechnet:
Für \(x_p=0\), \(\text{MTF} = 0\),
Für \(x_p=m\), \(\text{MTF} = 0.5\),
Für \(x_p=1\), \(\text{MTF} = 1\),
wobei \(x_p\) der Pixelwert ist wie folgt
Bemerkung
Es wird im Allgemeinen nicht empfohlen, den Wert der Lichter zu ändern, da diese sonst gesättigt werden und Informationen verloren gehen.
Die Symbolleiste enthält zahlreiche Schaltflächen, die die Darstellung des Histogramms beeinflussen. Sie können wählen, ob Sie das Eingangshistogramm, das Ausgangshistogramm, die Übertragungskurve oder das Gitter anzeigen möchten. Die Schaltfläche ermöglicht es Ihnen, die gleiche Transformation wie der Autostretch-Algorithmus anzuwenden. Es ist selten ratsam, diese Schaltfläche unverändert zu verwenden. In der Regel sind Anpassungen erforderlich, um Informationsverluste zu vermeiden. Am oberen Rand des Histogramms können Sie auch wählen, ob das Histogramm in logarithmischer Darstellung angezeigt werden soll, wie in der Abbildung dargestellt. Dieses Verhalten kann als Standard eingestellt werden, wie hier erklärt wird. Schließlich ist ein Zoom in X verfügbar. Dies ist sehr nützlich, wenn das gesamte Signal auf der linken Seite des Histogramms konzentriert ist.
Siril Kommandozeile
mtf low mid high [channels]
Bemerkung
mtf
ist auch eine Funktion, die in dem Werkzeug PixelMath verwendet werden kann.
Siril Kommandozeile
autostretch [-linked] [shadowsclip [targetbg]]
Anwendung der Transformation auf die Sequenz
Diese Transformation kann leicht auf eine Sequenz angewendet werden. Sie müssen nur die Transformation für das geladene Bild (mit einer bereits geladenen Sequenz) definieren, dann die Schaltfläche Auf Sequenz anwenden aktivieren und das Ausgabepräfix der neuen Sequenz (standardmäßig mtf_
) definieren, oder den folgenden Befehl verwenden:
Siril Kommandozeile
seqmtf sequencename low mid high [channels] [-prefix=]
Verallgemeinerte hyperbolische Streckungstransformationen (Generalised Hyperbolic Stretch/GHS)
Dies ist das leistungsfähigste und modernste Werkzeug von Siril, aber auch das am schwierigsten zu erlernende. Eine sehr ausführliche Anleitung für dieses Tool in Siril wurde von den Autoren dieses Algorithmus geschrieben: https://siril.org/tutorials/ghs. Wir werden hier nur die grundlegende Funktionsweise dieses Tools zusammenfassen.

Dialogbox für die Allgemeine Hyperbolische Streckung
Einfach ausgedrückt, kann das GHS den Kontrast eines Helligkeitsbereichs in einem Bild verbessern. Wenn man zum Beispiel die Details im mittleren bis hohen Helligkeitsbereich eines Nebels (der im Allgemeinen in einem Astrobild sehr schwach ist) besser sehen möchte, kann man nur diesen Bereich für die Streckung auswählen. Es ist sehr gut geeignet, den Kontrast von Hauptobjekten zu verbessern, ohne dass die Sterne zu groß werden. Das Werkzeug basiert auf einer iterativen Anwendung, d. h. es werden nacheinander alle Helligkeitsbereiche des Bildes durch kleine Eingriffe gestreckt.
Um dies zu erreichen, stützt sich das Werkzeug in hohem Maße auf die Anzeige und Interaktion von Histogrammen für jeden Farbkanal. Die Transformationsfunktion, die die Form einer Hyperbel oder eines "S" hat, kann durch Verschieben ihres Zentrums (Parameter SP - Symmetriepunkt), durch Abflachen eines ihrer Enden (mit Schatten-Schutzpunkt (SP) und Lichter-Schutzpunkt (HP)) und natürlich durch ihre Verdrehung (Faktoren D und b für die lokale Dehnung) verändert werden. Die Manipulation dieser Parameter an einem kleinen Bild (für die Geschwindigkeit) mit einem SP-Wert von 0,5 wird Ihnen helfen, ihre Wirkung zu verstehen.
Bei jeder Iteration gibt es zwei Hauptoperationen: die Auswahl des zu ändernden Helligkeitsbereichs und die eigentliche Änderung des Bereichs. Die Auswahl des Bereichs ist recht einfach, es geht darum, einen repräsentativen Wert (SP) zu finden und die Breite des Bereichs (b) zu definieren. Die Einstellung von SP kann auf drei Arten erfolgen:
Auswahl eines Bereichs mit ähnlicher Helligkeit im Bild und Klicken auf die Schaltfläche "Pipette"
Anklicken des Histogramms mit der linken Maustaste (es ist möglich, das Histogramm mit Hilfe der Schaltfläche + oben links zu vergrößern)
mit dem Cursor oder den zugehörigen Plus- und Minus-Tasten oder der direkten Eingabe eines Wertes.
Die Breite des Bereichs hängt von der lokalen Dehnung ab. Ein hoher Wert von b ergibt einen kleinen Bereich und erhöht den Kontrast in einem kleinen Helligkeitsbereich des Bildes.
Die Änderung des Histogramms, nachdem der Ort der Änderung festgelegt wurde, ist ein komplexerer Vorgang. Ein von den Autoren des Algorithmus vorgegebenes Ziel ist es, die logarithmische Ansicht des Histogramms (aktiviert durch Ankreuzen des Kästchens) so nah wie möglich an eine abfallende Linie heranzuführen. Zu diesem Zweck müssen Unebenheiten beseitigt und Täler aufgefüllt werden. Im Folgenden finden Sie eine kurze Übersicht über die zu verwendenden Werte, je nachdem, was erreicht werden soll:
Anfängliche Streckung von linear: SP leicht links vom Hauptpeak einstellen, b Wert von 6 und höher moderieren, D leicht erhöhen, nur um das Hauptobjekt zu sehen. Dehnen Sie zu diesem Zeitpunkt nicht zu sehr, wie es ein Autostretch tun würde, sonst würden die Sterne zu groß werden (<https://siril.org/tutorials/ghs/#performing-initial-stretches-using-ghs>`_).
Verbesserung des Kontrasts eines Bereichs oder Auffüllen eines Tals: Stellen Sie SP auf die Mitte des Tals im Histogramm ein, stellen Sie b so hoch ein, wie der Bereich oder das Tal schmal ist, verringern Sie HP, um die Sterne nicht aufzublähen, erhöhen Sie D langsam, bis die Verbesserung sichtbar wird.
Verringerung des Kontrasts eines Bereichs oder Abflachung eines Spitzenwerts: Die Verringerung eines Spitzenwerts ist nicht einfach zu bewerkstelligen, erfolgt aber als Nebeneffekt der Auffüllung von Tälern. So wird beispielsweise durch das Erzeugen einer Spitze oder das Auffüllen eines Tals der Bereich links von SP verringert. Eine andere Möglichkeit ist die Verwendung der inversen Transformation aus dem Kombinationsfeld Typ der Streckung, ein hoher LP-Wert und HP bei 1.
Kurve nach links verschieben, wodurch das Bild dunkler wird: Wenn wir das gesamte Histogramm strecken, verschiebt sich die Spitze oft nach rechts, wodurch der Hintergrund zu hell wird. Es gibt eine einfache Möglichkeit, alles nach links zu verschieben: Wählen Sie im Kombinationsfeld Typ der Streckung den letzten Eintrag, Lineare Streckung (Schwarzpunkt-Verschiebung). Jetzt muss nur noch ein Cursor bewegt werden, der bestimmt, wie weit er verschoben wird - oder Sie klicken im Histogramm auf den gewünschten Schwarzpunkt links neben dem Berg.
Einige Operationen sind auch bei Farbbildern üblich, da wir oft eine ähnliche Kurvenform für die drei Kanäle haben wollen. Wir können jeden Kanal unabhängig bearbeiten, indem wir sie mit den drei farbigen Kreisen unter der Histogrammansicht abwählen:

Die generalisierte hyperbolische Streckung für ein Farbbild
Verschieben der Spitze nach rechts: eine einfache Streckung mit einem SP-Wert links von der Spitze wird dies im Allgemeinen bewirken, daher sollte dies als Teil einer Streckung erfolgen.
Einen Berg strecken: um einen Kanal etwas mehr zu strecken und ihm mehr Bedeutung im Endergebnis zu geben, ohne die Position des Peaks zu sehr zu verändern, stellen Sie SP in der Nähe der Bergspitze oder leicht rechts davon ein, stellen Sie b ein, je nachdem, wie der Beitrag im gesamten Kanal gewünscht wird, zwischen einem negativen Wert, wenn die Auswirkung bis zu den Sternen zu spüren sein soll (um ihre Farbe zu ändern) und einem hohen Wert, wenn dies nur für einen Nebel gilt, erhöhen Sie D, um die Zielbreite des Bergs zu erhalten, und versetzen Sie dann den Berg nach links, indem Sie HP erhöhen.
Alle Kanäle zusammen verschieben: Es gibt eine alternative Streckung der Luminanzzuordnung, siehe das Kombinationsfeld Farbstreckungsmodell oben rechts im GHS-Fenster. Wenn Sie einen der beiden Luminanz-Streckungswerte verwenden, wird die Luminanz gestreckt und die Farben darauf neu angewendet, anstatt die drei Kanäle direkt zu strecken. Mit den Luminanzmodi können die Farben im Bild besser erhalten werden. Diese Modi verwenden denselben RGB-Überblendungsmodus, der oben beschrieben wurde, um Artefakte beim Beschneiden der Farbkanäle zu vermeiden.
Bildsättigung neu abbilden: Die GHS-Transformationen können auf den Sättigungskanal des Bildes angewendet werden, indem die Option Sättigung aus dem Kombinationsfeld Farbdehnungsmodell ausgewählt wird. Wenn dieser Modus ausgewählt ist, werden die Histogramme der Sättigung vor und nach der Streckung gelb angezeigt. Alle GHS-Optionen sind verfügbar und dieser Modus ermöglicht eine sehr gezielte Anpassung des Sättigungskanals. Eine einfache Methode, um die Sättigung in relativ ungesättigten Regionen zu erhöhen und gleichzeitig eine Übersättigung zu vermeiden, ist die Verwendung einer Inversen verallgemeinerten hyperbolischen Transformation, bei der SP auf etwa 0,5 eingestellt ist und HP so weit heruntergefahren wird, dass das obere Ende des Sättigungshistogramms abgeflacht wird.
Das obige Bild zeigt, wie die Anwendung des GHS-Werkzeugs auf den Sättigungskanal eine einfache Möglichkeit bietet, die Sättigung in einem Bild mit geringer Sättigung stark zu verstärken und gleichzeitig die Kontrolle über das obere Ende des Sättigungshistogramms zu behalten, das hier verwendet wurde, um ein "Mineralische Mond"-Bild zu erstellen, das die unterschiedliche mineralische Zusammensetzung der verschiedenen Regionen der Mondoberfläche hervorhebt.
Siril Kommandozeile
ght -D= [-B=] [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels]
Siril Kommandozeile
invght -D= [-B=] [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels]
Siril Kommandozeile
modasinh -D= [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels]
Siril Kommandozeile
invmodasinh -D= [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels]
Siril Kommandozeile
linstretch -BP= [-sat] [channels]
Anwendung der Transformation auf die Sequenz
Diese Transformation kann leicht auf eine Sequenz angewendet werden. Sie müssen nur die Transformation auf das geladene Bild (mit einer bereits geladenen Sequenz) definieren, dann die Schaltfläche Auf Sequenz anwenden aktivieren und das Ausgabepräfix der neuen Sequenz definieren (standardmäßig stretch_
). Alle Befehle haben auch eine Form der Sequenzverarbeitung. Jeder Sequenzstreckungsbefehl beginnt mit seq und das erste Argument muss der Sequenzname sein, aber ansonsten sind sie gleich.
Siril Kommandozeile
seqght sequence -D= [-B=] [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels] [-prefix=]
Siril Kommandozeile
seqinvght sequence -D= [-B=] [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels] [-prefix=]
Siril Kommandozeile
seqmodasinh sequence -D= [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels] [-prefix=]
Siril Kommandozeile
seqinvmodasinh sequence -D= [-LP=] [-SP=] [-HP=] [-human | -even | -independent | -sat] [channels] [-prefix=]
Siril Kommandozeile
seqlinstretch sequence -BP= [channels] [-sat] [-prefix=]