Drizzle

Die lineare Rekonstruktion mit variablen Pixeln, besser bekannt als Drizzle, wurde von Andy Fruchter und Richard Hook [FruchterHook1997] für die Arbeit am Hubble-Weltraumteleskop (HST) entwickelt, zunächst zum Zweck der Kombination geditherter Bilder des Hubble Deep Field North (HDF-N). Man kann sich diesen Algorithmus als eine kontinuierliche Reihe von linearen Funktionen vorstellen, die gleichmäßig zwischen der optimalen linearen Kombinationstechnik (Interlacing) und Shift-and-Add variieren. Dies ermöglicht oft eine Verbesserung der Auflösung und eine Verringerung des korrelierten Rauschens im Vergleich zu Bildern, die nur mit Shift-and-Add erzeugt werden.

Es gibt eine ausgezeichnete Seite, die die Technik zusammenfasst und eine gute grafische Darstellung der Art und Weise liefert, wie die Pixeldaten vom groben Eingabepixelraster auf ein feineres Ausgabepixelraster "herabrieseln" - hier <https://www.stsci.edu/~fruchter/dither/drizzle.html>`_.

Das Ausmaß, in dem der Algorithmus vom Zeilensprungverfahren abweicht und sich in Richtung Shift-and-Add bewegt, hängt davon ab, wie gut die PSF durch die Verschiebungen in den Eingangsbildern unterabgetastet wird. In der Praxis wird das Verhalten des Drizzle-Algorithmus durch die Verwendung eines Parameters gesteuert, der als Pixelanteil bezeichnet wird und den Betrag darstellt, um den die Eingangspixel geschrumpft werden, bevor sie auf die Ausgabebildebene abgebildet werden. Bei einem Pixelanteil von 0 entspricht Drizzle dem reinen Zeilensprungverfahren; bei einem Pixelanteil von 1 entspricht es dem Verschieben und Hinzufügen.

Um den Unterschied zwischen der Drizzle- und der Interpolationsmethode bei der Anwendung der Registrierung zu verstehen, betrachten wir zunächst, wie die Standardinterpolationsmethode funktioniert. Die Registrierungsdaten haben die Form einer 3x3-Homographie-Matrix, die eine lineare Transformation mit 8 Freiheitsgraden von einem Koordinatensatz zum anderen (d. h. von jedem Bild zum Referenzbild) kodiert. Diese wird verwendet, um die Werte jedes Pixels in jedem Eingabebild auf die richtige Stelle im Ausgabebild abzubilden und die Ausgabe am Referenzbild auszurichten. Für die eigentliche Ausrichtung wird eine Interpolationsmethode verwendet, die in den Registrierungsoptionen ausgewählt werden kann. Die Interpolation führt zu einer Verschmierung der Punktspreizfunktion, insbesondere beim Hochskalieren von Bildern. Sie kann auch zu Artefakten führen, obwohl Siril einen Klammermechanismus implementiert, um dies zu minimieren.

Bei Drizzle hingegen wird jedes Pixel des Eingangsbildes in ein Tröpfchen verwandelt und durch ein Gittermuster auf das Ausgangsreferenzbild geträufelt. Jedes Tröpfchen hat eine bestimmte Größe, und durch die Wahl eines vergrößerten Ausgabepixelrasters, aber einer kleineren Tröpfchengröße, können Sie eine bessere Auflösung erzielen, wenn Ihr Image Train unterabgetastet ist. (Wenn die Abtastung für das Auflösungsvermögen Ihres Teleskops korrekt ist, kann Drizzle keine Details jenseits der Beugungsgrenze erzeugen). Der Preis dafür ist ein erhöhtes Bildrauschen: Da jedes Tröpfchen einen kleineren Bereich im Ausgabebild "malt", wird die durchschnittliche Anzahl der Tröpfchen pro Ausgabepixel im endgültigen Stapel reduziert.

Beachten Sie, dass Drizzle nicht den gesamten Registrierungsprozess ersetzt: Sie verwenden weiterhin die globale Sternausrichtung, die 1-2-3-Sternausrichtung, die Kometenregistrierung oder eine andere Registrierungsmethode, die Sie vor dem Drizzeln anwenden möchten: Es ist lediglich eine Alternative zur Interpolationsmethode, die bei der Anwendung der Registrierung verwendet wird.

Warnung

Beim Drizzle-Prozess werden mehrere Frames genommen und zu einem Ausgabe-Frame zusammengefügt. Die Eingabe ist der Frame-Satz und ihre WCS-Lösungen, und die Ausgabe ist das einzelne zusammengefügte Bild. In Siril wird der Prozess in Drizzle-Registrierung und anschließendes Stacken aufgeteilt, das Zwischenartefakt (der Satz von Bildern, der die einzelnen Bilder darstellt, die auf das gemeinsame Ausgaberaster zusammengefügt, aber noch nicht gestackt wurden) ist jedoch nichts, das an sich von Bedeutung ist. Einzelne Frames in der zusammengefügten Sequenz können und werden seltsam aussehen: Der Referenz-Frame sieht oft anders aus als die anderen, insbesondere beim Zusammenfügen von CFA-Daten, aufgrund seiner besonderen Eigenschaft, keine Verschiebung in Bezug auf den Ausgabe-Frame zu haben, und andere Frames können Moiré-Muster aufweisen. Keine Panik! Dies ist lediglich ein Zwischenschritt im gesamten Drizzle-Prozess, und all diese scheinbaren Merkwürdigkeiten werden beim Stacking behoben.

Drizzle benutzen

Es gibt 3 Hauptgründe, warum Sie Drizzle einer Interpolationsmethode für die Registrierung vorziehen.

  • Auflösungsverbesserung Wenn Ihr Bild stark unterabgetastet (undersampled) ist, können Sie mit Drizzle möglicherweise eine Auflösungsverbesserung erzielen, die Sie mit der Registrierungsoption Interpolation x2 hochskalieren nicht erreichen können.

  • CFA-Bilder Wenn Ihre Bilder ein CFA-Muster aufweisen (d. h. wenn Sie eine One-Shot-Color-Kamera oder eine DSLR verwenden), bietet Drizzle eine erhebliche Verbesserung gegenüber dem Debayering. Dies wird manchmal getrennt von Drizzle als Bayer Drizzle bezeichnet, aber eigentlich ist es genau das gleiche Verfahren. Beim Drizzeln eines CFA-Bildes bestimmt die CFA-Farbe des aktuellen Tröpfchens, auf welchem Kanal des Ausgabebildes es landet, während beim Drizzeln eines Monobildes alle Tröpfchen auf dem (einzigen) Mono-Ausgabekanal landen. Das Drizzling von CFA-Bildern vermeidet die Artefakte, die bei allen Debayering-Algorithmen auftreten, was zu verbesserten Rauscheigenschaften bei stark gestreckten Bildern führt. Dies ermöglicht eine bessere Rauschunterdrückung und Dekonvolution für gedrizzelte CFA-Sequenzen im Vergleich zu debayerten und registrierten CFA-Bildern und lässt die dunklen Bildanteile besser aussehen.

  • Artefakte vermeiden Es ist möglich, eine Sequenz mit scale = 1, pixel fraction = 1 zu drizzeln und im Wesentlichen das gleiche Ergebnis zu erzielen wie bei der Anwendung der Registrierung mit einer der interpolierten Methoden. Sie sollten dies in Erwägung ziehen, wenn Sie Interpolationsartefakte bei der standardmäßigen interpolierten Methode sehen (obwohl diese im Allgemeinen durch die Klammerfunktion effektiv unterdrückt werden). Beachten Sie, dass Drizzle selbst verschiedene Artefakte erzeugen kann (siehe die Überschrift "Einige allgemeine Probleme" weiter unten). Diese können jedoch durch die Wahl des Drizzle-Kerns oder durch eine größere Anzahl von Eingabebildern vollständig vermieden werden und werden im Allgemeinen durch das Stacking perfekt gehandhabt.

Grenzen des Drizzelns

  • Drizzle ist im Vergleich zur Interpolation etwas langsamer, insbesondere der bevorzugte quadratische Kernel. Wenn Sie ältere oder langsamere Hardware verwenden, sollten Sie die alte Methode bevorzugen.

  • Bei der Verwendung von Upsampling erzielt Drizzle seine Auflösungsverbesserungen auf Kosten eines erhöhten Bildrauschens. Daher sollten Sie beim Drizzeln mehr Integrationszeit sammeln als bei einer interpolationsbasierten Upsampling-Methode.

  • Das obige Problem gilt besonders für CFA-Bilder. Bedenken Sie, dass nur 1 von 2 Pixeln grün und nur 1 von 4 Pixeln rot oder blau sind. Für den roten oder blauen Kanal bedeutet der CFA-Drizzle daher bereits die gleiche Reduzierung der Tröpfchenabdeckung wie ein 2x-Upscale-Drizzle. Wenn Sie zusätzlich hochskalieren, benötigen Sie so viel Tröpfchenabdeckung wie bei einem 4-fach hochskalierten Drizzle! Daher wird im Allgemeinen empfohlen, CFA-Bilder im Maßstab 1 zu drizzlen.

Vergleich

Das folgende Bild zeigt einen Vergleich zwischen Drizzle und der herkömmlichen Hochskalierungsmethode. Bei dem Bild handelt es sich um Ha, das aus einer OSC-Sitzung mit einem Dualband-Filter extrahiert wurde. Links sehen Sie das Ergebnis des alten OSC_Extract_HaOIII-Skripts, das die Ha-Daten, die von den roten Pixeln in der OSC-Bayer-Matrix erfasst werden, als halbgroßes Bild extrahiert und OpenCV-Upscaling mit Lanczos4-Interpolation verwendet, um ein Bild zu erzeugen, das der Größe des OIII-Bildes entspricht.

Rechts sehen Sie das Ergebnis des aktualisierten Skripts (verfügbar über das Repository siril-scripts), das die von den roten Pixeln in der OSC-Bayer-Matrix erfassten Ha-Daten als halbgroßes Bild extrahiert und mit scale = 2,0, pixel fraction = 0,5 drizzelt, um ein Bild zu erzeugen, das der Größe des OIII-Bildes entspricht.

Bei einer Betrachtung im 100 %-Maßstab wird deutlich, dass der gedrizzelte Stack einen Großteil der Auflösung des optischen Systems wiederherstellt, die durch die geringere Anzahl roter Pixel in der Bayer-Matrix zu gering ist: Es sieht viel schärfer aus, und die Zahlen bestätigen dies: Das durchschnittliche fwhm im linken Bild beträgt 3,59, während es im rechten Bild 3,25 ist.

Vergleich zwischen Hochskalierung durch Interpolation und Drizzle

Vergleich zwischen Hochskalierung durch Interpolation und Drizzle

Arbeitsablauf und Benutzeroberfläche

Arbeitsablauf Mono

Kalibrierung

Bei Monobildern ändert sich auf der Registerkarte "Kalibrierung" nichts. Kalibrieren Sie wie gewohnt.

Registrierung

Drizzle-Einstellungen

Registerkarte zeigt de Drizzle-Einstellungen

Drizzeln

Skalierung

Skalierung legt die Skalierung des Drizzle-Ausgangsbildes in Bezug auf das Eingangsbild fest. Ein typischer Drizzle-Maßstab für ein unterabgetastetes Monobild ist 2,0. Das bedeutet, dass die Eingabe auf ein Ausgabepixelraster mit der doppelten Auflösung gedrizzelt wird. (Wenn Ihr Referenz-Eingangsbild 1024 x 512 Pixel groß ist, wäre Ihr Ausgangsbild 2048 x 1024 Pixel groß). Hinweis: Da das Bild denselben Bereich des Himmels darstellt, sind zwar doppelt so viele Pixel entlang jeder Achse im Ausgabebild vorhanden, aber jedes Ausgabepixel ist effektiv halb so breit und halb so hoch.

Tipp

Je größer die Skalierung ist, desto spärlicher ist jedes Drizzled-Ausgangsbild und desto weniger Pixel werden in jedes Ausgangspixel gestackt. Dies führt zu einem stärker verrauschten Bild: Der Auflösungsgewinn durch Drizzle geht auf Kosten des Rauschens. Dies muss durch eine längere Gesamtintegrationszeit ausgeglichen werden, als dies ohne Drizzling bei einer höheren Auflösung erforderlich wäre.

Pixelanteil

Pixel Fraction sets the size of the droplet taken from the input grid. Consider a drizzle scale of 2.0: since the output pixels are half as wide and half as tall, that means that in order for each input pixel "droplet" to be the same size as an output pixel it should be shrunk to half the linear dimensions. This is a pixel fraction of 0.5. A good rule of thumb is that the pixel fraction should be roughly the reciprocal of the drizzle scale (with some kernels it helps to set it a little bigger than this, in order to reduce pixels that receive zero input from any drizzled droplets).

Mit dem Pixelanteil kann experimentiert werden: Ein größerer Pixelanteil bedeutet, dass jedes Eingangströpfchen mehr Ausgangspixel beeinflusst. Andererseits bedeutet die Einstellung eines kleineren Pixelanteils, dass jedes Eingangströpfchen weniger Ausgangspixel beeinflusst. Der "Punkt"-Kernel ist ein Sonderfall, bei dem der Pixelanteil gleich Null ist (und bei diesem Kernel hat die Einstellung des Pixelanteils keine Auswirkungen).

Tröpfchenmodell

Die Drizzle-Implementierung von Siril bietet mehrere Tröpfchenmodelle:

  • Quadrat. Hier wird der Tropfen als quadratischer Tropfen modelliert, der genau mit dem Eingabepixel ausgerichtet ist. Er wird genau auf den Ausgangsreferenzrahmen abgebildet und funktioniert bei jeder Skalierung und jedem Pixelanteil gut. Dies ist der Standardkernel.

    Tipp

    The Square kernel is mathematically flux preserving by construction: each input pixel’s flux is distributed into output pixels in exact proportion to area overlap. Total counts are preserved identically. This makes it both robust and ideal for applications where you need strict surface brightness conservation (e.g. diffuse structures or extended sources).

  • Point. This models the droplet as a point at the center of the input pixel. It is the limit of the square kernel with a very small pixel fraction. This will prodce the lowest correlated noise but is prone to leaving holes unless you have very large numbers of well-dithered frames. If you find holes or artefacts in your final stack, use the Square kernel instead. This kernel is very fast.

  • Turbo. Hierbei handelt es sich um eine Vereinfachung des Square-Kernels. Er geht davon aus, dass die Rotation zwischen der Eingabe- und der Ausgabereferenz vernachlässigbar ist. Dies führt zu einer wesentlich schnelleren Berechnung, ist jedoch nur eine Annäherung. Es handelt sich um einen „schnellen und ungenauen” Kernel, der ursprünglich für die Erzeugung von Zwischenprodukten innerhalb des HST-Workflows gedacht war, aber aufgrund seiner Geschwindigkeit im Vergleich zu Square auch für das Lucky Imaging von Nutzen sein kann.

  • Gauß. Hier wird das Tröpfchen als Gaußsche Verteilung modelliert, die auf der Mitte des Eingabepixels zentriert ist und eine Halbwertsbreite (FWHM) von pixfrac hat. Die Tröpfchen im Gaußschen Modell sind rund und werden empfohlen, wenn eine verbesserte Erhaltung der PSFs (Sternformen) wichtig ist.

    Tipp

    [Avila2015] recommends the Gaussian kernel for applications involving point source photometry. Despite not being mathematically flux preserving, the Gaussian kernel reduces the blockiness typical of square kernels (and avoids the high frequency ringing characteristic of Lanczos kernels, producing smooth, centrally peaked PSFs that are closer to analytical forms used in photometry. While Gaussians don't preserve flux perfectly the trade-off is much better behaved PSFs, which is more important for extracting accurate stellar photometry. It may also be more aesthetically pleasing in a final image.

  • Lanczos2 and Lanczos3. These kernels model the droplet as a Lanczos function centered on the center of the input pixel.

    Warnung

    The Lanczos kernels are specially designed for resampling an image from one World Coordinate System (WCS) onto another at the same scale. They should only be used with scale == pixfrac == 1.0.

    Lanczos kernels provide a good option for single-image registration at native scale: Lanczos3 produces tigher average FWHM than any other kernel or OpenCV interpolation, but it is significantly slower than other kernels.

Anfängliche Pixelgewichtung

Wenn ein Tropfen auf dem Ausgabepixelraster landet, kann er mehr als ein Ausgabepixel bedecken. Tatsächlich kann ein Ausgabepixel von mehreren Tropfen, nur von einem Bruchteil eines Tropfens oder sogar von gar keinem Tropfen bedeckt sein. Der Beitrag jedes Eingabepixels kann durch den Master-Flat gewichtet werden, sodass Pixel aus Bereichen mit höherem SNR (weniger Vignettierung) stärker gewichtet werden. Sofern Sie keine besonderen Flats haben, macht dies in der Regel keinen praktischen Unterschied.

Um das Master-Flat zu aktivieren, aktivieren Sie das Kontrollkästchen Master Flat in anfängliche Pixelgewichtung einbeziehen.

Warnung

Das Masterflat muss in der Registerkarte Kalibrierung eingestellt werden!

Lasst uns drizzeln!

Wenn Sie alle Optionen eingestellt haben, klicken Sie erneut auf die Schaltfläche :guilabel:Registrierung ausführen`.

Stacken

Sie können Ihre Drizzle-Sequenz nun wie gewohnt stacken. Beachten Sie, dass bei einigen Kombinationen von Drizzle Skalierung und Tröpfchengröße einige Ausreißerausschlussmethoden besser funktionieren als andere. Insbesondere, wenn Sie eine große Anzahl von "Nulleingabe"- oder Null-Pixeln haben, gibt es weniger Werte, die für die Ausreißererkennung verwendet werden können. MAD kann ein guter Ansatz sein, wenn Ihre übliche Abweisungsmethode nicht funktioniert.

Das folgende GIF zeigt einen Vergleich eines Stacks von 37 Bildern, wobei in einem Fall die Registrierung mittels Interpolation und im anderen Fall die Registrierung mittels Drizzle durchgeführt wurde. Es ist klar erkennbar, dass der Stack, der mit gedrizzelten Daten erstellt wurde, deutlich schärfer ist als der Stack mit Daten, die durch Interpolation registriert wurden.

Ausschnitt aus zwei gestackten Bildern, der eine deutliche Verbesserung der Schärfe im Drizzled Stack zeigt.

Vergleich der Registrierung mit Drizzle und mit Interpolation. Klicken Sie zum Vergrößern der Ansicht.

CFA Arbeitsablauf

CFA Kalibrierung

Für One-Shot-Farbbilder (OSC) deaktivieren Sie das Kontrollkästchen Vor dem Speichern debayern. Dies stellt eine Änderung gegenüber früheren Arbeitsabläufen dar, aber für das Drizzling ist es wichtig, dass das CFA-Muster in der Drizzle-Eingabesequenz erhalten bleibt.

CFA Registrierung mit Drizzling

Sie können Drizzle direkt nach einer globalen Registrierung verwenden oder durch Anwenden einer vorhandenen Registrierung für alle anderen Registrierungsmethoden, die Bilder nicht direkt exportieren.

CFA-Skalierung

Skalierung legt die Skalierung des Drizzle-Ausgangsbildes in Bezug auf das Eingangsbild fest. In OSC-Kamerabildern nimmt jedes Pixel nur eine einzige Farbe auf: Rot, Grün oder Blau. Die Pixel sind mit einer Farbfilteranordnung (CFA) versehen, die bestimmt, welche Pixel auf rote, grüne und blaue Wellenlängen reagieren. Daher sind alle Pixel im Vergleich zu einem Monosensor, bei dem alle Pixel für jedes Licht, das durch den Filter fällt, empfindlich sind, spärlich verteilt. Sowohl bei Bayer-Mustern als auch bei X-Trans-CFAs sind die roten und blauen Pixel in den Eingabebildern besonders spärlich verteilt, so dass bei einer Erhöhung der Drizzle-Skala über 1,0 noch mehr Bilder erforderlich sind, um eine ausreichende Drizzle-Abdeckung zu erzielen und einen akzeptablen Rauschpegel zu erreichen.

Für eine typische OSC-Sensoranwendung, bei der das Seeing gut an die nominale Abtastung des Sensors angepasst ist, wird empfohlen, CFA-Drizzle mit Skalierung (scale) = 1,0 und Pixelanteil (pixfrac) = 1,0 anzuwenden. Dadurch wird die Auflösung in jedem Farbkanal wiederhergestellt (der aufgrund der Abstände der farbigen Pixel in der CFA effektiv unterabgetastet wird) und herkömmliche Debayering-Artefakte vermieden. Wenn Sie das Bild durch Verwendung von scale > 1.0 ebenfalls hochskalieren möchten, sollten Sie sich darüber im Klaren sein, dass die in jedem Kanal verfügbaren Pixel noch spärlicher werden und Sie noch mehr Daten benötigen, um eine angemessene Abdeckung zu gewährleisten und das Rauschen auf ein akzeptables Maß zu beschränken.

Tipp

Für OSC Drizzle beginnen Sie mit Skalierung = Pixelanteil = 1.0.

CFA Pixelanteil

Pixelanteil legt die Größe des aus dem Eingaberaster entnommenen Tröpfchens fest. Hier gelten die gleichen Anmerkungen wie oben für den Mono-Workflow beschrieben.

CFA-Tröpfchenmodell

Für CFA-Drizzle gilt die gleiche Auswahl an Drizzle-Kernen wie für Mono-Drizzle. Beachten Sie, dass die Kernel, die besonders anfällig für die Erzeugung von Null-Pixeln sind, bei der Verwendung für CFA-Drizzle problematisch sein können. Wenn Sie Zehntausende von Einzelbildern wie in einem Planetenvideo haben, kann Turbo gut funktionieren (und wird schnell sein!), aber für Deep-Sky-Sequenzen mit einer geringeren Anzahl von Einzelbildern wird empfohlen, sich an die quadratischen oder Gauß'schen Kernel zu halten (und bedenken Sie, wie oben erwähnt, dass Gauß nicht flux-erhaltend ist, wenn Sie also etwas mit photometrischen Techniken machen wollen, ist quadratisch vorzuziehen).

CFA Anfängliche Pixelgewichtung

Wie beim Mono-Drizzling kann ein Master-Flat angegeben werden. Um die Master-Flat zu aktivieren, aktivieren Sie das Kontrollkästchen Master-Flat in anfängliche Pixelgewichtung einbeziehen.

Warnung

Das Masterflat muss in der Registerkarte Kalibrierung eingestellt werden!

Auf geht's Bayer Drizzle!

Wenn Sie alle Optionen eingestellt haben, klicken Sie erneut auf die Schaltfläche :guilabel:Registrierung ausführen`.

Stacken Ihrer CFA-Daten

Sie können Ihre Drizzle-Sequenz nun wie gewohnt stacken und dabei die gleichen Anmerkungen zur Ausreißerunterdrückung wie bei Mono-Drizzle beachten (diese können bei CFA-Drizzle deutlicher ausfallen, wenn Sie aufgrund der geringeren Anzahl von Eingangspixeln in jedem Kanal keine ausreichende Abdeckung zur Unterstützung einiger Algorithmen zur Ausreißerunterdrückung haben).

Tipp

Wenn Sie Ihre CFA-Daten drizzeln, um die Auflösung zu erhöhen, kann es sein, dass Sie enttäuscht sind, wenn Sie die Ergebnisse mit gestackten, debayerten Bildern vergleichen. Im Allgemeinen gibt es Gewinne, aber sie können marginal sein (z. B. ein paar Prozent Verbesserung bei fwhm) und sind im Allgemeinen nicht annähernd so beeindruckend wie die Auflösungsgewinne, die durch das Drizzling unterabgetasteter Monodaten (Undersampling) erzielt werden können.

Der Grund dafür ist, dass das Debayering bereits einen Teil der verlorenen Auflösung wiederherstellt. Die verschiedenen Debayering-Algorithmen arbeiten unterschiedlich, aber im Allgemeinen beruhen sie alle auf den Grundsätzen der räumlichen und spektralen Korrelation, um einen Teil der in einem Kanal fehlenden Auflösung auf der Grundlage der aus den anderen Kanälen gewonnenen Informationen abzuleiten. [Losson2010]

Der eigentliche Grund für das Drizzeln von CFA-Daten ist, dass das Drizzle-Ergebnis ein viel saubereres Rauschen aufweist. Es sieht weniger "körnig" aus (d. h. es fehlt die Struktur, die im Hintergrund eines typischen debayerten CFA-Stacks zu sehen ist) und lässt sich daher leichter mit Rauschunterdrückungstechniken reduzieren und liefert konsistentere Daten für photometrische Anwendungen wie die Farbkalibrierung. Wenn das Bild stark gestreckt wird, um schwache Merkmale knapp über dem Hintergrund hervorzuheben, sieht der resultierende Hintergrund natürlicher aus.

Vergleich Bayer Drizzle

Die Animation unten zeigt einen Vergleich zwischen CFA-Drizzle mit zwei verschiedenen Pixelanteilen und zwei der klassischen Debayering-Algorithmen.

Vergleich von VNG, RCD und CFA Drizzle mit 2 verschiedenen Pixelanteilen

Vergleich von CFA Drizzle (hier als Bayer Drizzle bezeichnet) mit klassischen Debayering-Algorithmen

  • VNG dient als grundlegende Referenz: Beachten Sie das Farbartefakt um die helleren Sterne.

  • RCD ist recht gut für runde Objekte wie Sterne geeignet.

  • Bayer Drizzle 1.0 liefert Ergebnisse, die denen von RCD sehr nahe kommen, jedoch mit einem geringeren Rauschen und besseren Hintergrund

  • Bayer Drizzle 0,5 bietet eine bessere Auflösung auf Kosten von mehr Rauschen. Der Kompromiss, den der Pixelanteil zwischen Auflösung und Rauschen darstellt, ist offensichtlich. Bei einem kleineren Pixelanteil benötigt CFA-Drizzle mehr Daten, um das gleiche Signal-Rauschverhältnis zu erzielen.

Einige häufige Probleme

Tipp

KEINE PANIK - die folgenden Ergebnisse sehen vielleicht etwas seltsam aus, wenn Sie ein einzelnes Drizzle-Sub ansehen, aber sie sind keine Fehler - der Algorithmus funktioniert wie vorgesehen. In den meisten Fällen lösen sie sich beim Stacken von selbst auf, in den übrigen Fällen können sie durch Ändern der Drizzle-Parameter oder durch Einfügen weiterer Datenbilder behoben werden.

Moiré Muster

Aufgrund der Beschaffenheit des Drizzle-Algorithmus erhalten einige Ausgabepixel bei der Hochskalierung möglicherweise keine Daten. Diese werden als "Nullpixel" bezeichnet und haben einen Nullwert. Einige Kernel kompensieren dies, indem sie den Pixelanteil begrenzen, so dass alle Ausgangspixel einen gewissen Input erhalten, andere hingegen nicht.

Ausgabepixel, die keinen Eingabedaten erhalten, sind schwarz: Da sie typischerweise in Mustern auftreten, die auf der Geometrie der Transformation aus dem Eingabebild basieren, sehen sie typischerweise wie Moiré-Muster aus, wie unten gezeigt:

Darstellung der Fleckenmuster von nullgewichteten Pixeln mit dem Turbokernel

Darstellung von Mustern, die sich aus Null-Pixeln in einem gedrizzelten Bild ergeben

Machen Sie sich darüber keine Sorgen! Siril ignoriert Pixel, die beim Stacking genau 0 sind. Solange Sie also genügend Eingabeframes haben und die Dither-Positionen angemessen gestreut sind, werden alle Pixel von genügend Pixeln abgedeckt und der Ausgabestapel ist in Ordnung. Wenn Sie jedoch mit einer geringeren Anzahl von Eingabebildern stacken und dies zu Problemen führt, sollten Sie einen anderen Drizzle-Kernel verwenden. Hier sehen Sie genau das gleiche Bild, das mit dem gleichen Maßstab und Pixelanteil, aber mit dem quadratischen Kernel anstelle des Turbo-Kernels gedrizzelt wurde. Das Ergebnis ist anders, und die Muster sind nicht mehr erkennbar.

Die Verwendung des quadratischen Kerns ergibt ein Bild ohne seltsame Muster

Die Verwendung eines anderen Drizzle-Kerns kann die fleckigen Muster von Null-Pixeln eliminieren

Fleckige Stapel

Ein Problem, das beim Stacken von gedrizzelten Daten auftreten kann, wenn zu viele Null-Pixel vorhanden sind, ist, dass das Endergebnis seltsam fleckig aussehen kann:

Ein uneinheitliches Ergebnis beim Stacken von gedrizzelten Daten mit zu vielen Null-Pixeln

Typisches uneinheitliches Erscheinungsbild eines Stacks von gedrizzelten Daten mit zu vielen Null-Pixeln / zu wenig Frames

Dies tritt typischerweise bei Punkt-, Turbo- oder Lanczos-Kerneln auf. Sie können es beheben, indem Sie den quadratischen oder den Gauß-Kernel verwenden oder mehr Eingabebilder nutzen.

Befehle

Siril Kommandozeile

seqapplyreg sequencename [-prefix=] [-scale=] [-layer=] [-framing=]
seqapplyreg sequencename ... [-interp=] [-noclamp]
seqapplyreg sequencename ... [-drizzle [-pixfrac=] [-kernel=] [-flat=]]
seqapplyreg sequencename ... [-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]] [-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]
Wendet geometrische Transformationen auf Bilder der im Argument angegebenen Sequenz an, so dass sie dem Referenzbild überlagert werden können, wobei zuvor berechnete Registrierungsdaten verwendet werden (siehe REGISTER).
Der Name der Ausgabesequenz beginnt mit dem Präfix "r_", sofern mit der Option -prefix= nichts anderes angegeben wurde.
Bei RGB-Bildern wird die Registrierung auf der ersten Ebene durchgeführt, für die Daten vorhanden sind, es sei denn, die Option -layer= (0, 1 oder 2 für R, G bzw. B) wurde angegeben.
Die ausgegebenen Bilder können durch Übergabe eines Wertes für das Argument -scale= (Skalierung, zwischen 0,1 und 3) vergrößert oder verkleinert werden.

Die automatische Beschneidung der Ausgabesequenz kann mit dem Schlüsselwort -framing=, gefolgt von einer der Methoden aus der Liste { current | min | max | cog } festgelegt werden:
-framing=max (Begrenzungsrahmen) projiziert jedes Bild und berechnet seine Verschiebung in Bezug auf das Referenzbild. Die resultierende Sequenz kann dann mit der Option -maximize des STACK-Befehls gestackt werden, wodurch das vollständige Bild erstellt wird, das alle Bilder der Sequenz umfasst.
-framing=min (gemeinsamer Bereich) beschneidet jedes Bild auf den Bereich, den es mit allen Bildern der Sequenz gemeinsam hat.
-framing=cog bestimmt die beste Position für den Bildausschnitt als Schwerpunkt (cog) aller Bilder.

Optionen zur Bildtransformation:
Standardmäßig werden Transformationen angewendet, um die Bilder mittels Interpolation zu registrieren.
Die Methode der Pixelinterpolation kann mit dem Argument -interp= angegeben werden, gefolgt von einer der Methoden aus der Liste no[ne], ne[arest], cu[bic], la[nczos4], li[near], ar[ea]}. Wenn none übergeben wird, wird die Transformation erzwungen und eine pixelweise Verschiebung ohne Interpolation auf jedes Bild angewendet.
Die bikubische und die Lanczos4-Interpolationsmethode sind standardmäßig haltend, um Artefakte zu vermeiden, das kann aber mit dem Argument -noclamp deaktiviert werden.

Optionen zum Drizzeln:
Andernfalls können die Bilder mit dem HST-Drizzle-Algorithmus exportiert werden, indem das Argument -drizzle übergeben wird, das die folgenden zusätzlichen Optionen annehmen kann:
-pixfrac= legt den Pixelanteil fest (Standard = 1,0).
Das Argument -kernel= legt den Drizzle-Kernel fest und muss von einem der folgenden Argumente gefolgt werden: point, turbo, square, gaussian, lanczos2 oder lanczos3. Der Standardwert ist square.
Das Argument -flat= gibt ein Master-Flat an, um die gedrizzelten Eingabepixel zu gewichten (Standard ist kein Flat).

Bilder herausfiltern:
Die zu registrierenden Bilder können auf der Grundlage einiger Filter ausgewählt werden (z. B. derjenigen mit der besten FWHM), mit einigen der -filter-* Optionen.


Links: register, stack

Beachten Sie, dass die Einführung von echtem Drizzlen aus Gründen der Übersichtlichkeit einige Änderungen an vorhandenen Befehlsargumenten erforderlich gemacht hat.

register und ref:seqapplyreg <seqapplyreg> haben ein neues Argument -drizzle, das, zusammen mit einigen verwandten Argumenten, "true drizzle" aktiviert.

Quellenverzeichnis

[Losson2010]

Olivier Losson, Ludovic Macaire, Yanqin Yang. Comparison of color demosaicing methods. Advances in Imaging and Electron Physics, 2010, 162, pp.173-265, section 2.2.2. https://hal.science/hal-00683233/document

[FruchterHook1997]

A. S. Fruchter and R. N. Hook. (1997) A novel image reconstruction method applied to deep Hubble Space Telescope images. Proc. S.P.I.E. vol. 3164. https://arxiv.org/abs/astro-ph/9708242

[Avila2015]

R. J. Avila, A. Koekemoer, J. Mack, A. Fruchter. (2015) Optimizing pixfrac in Astrodrizzle: An Example from the Hubble Frontier Fields. https://www.stsci.edu/files/live/sites/www/files/home/hst/instrumentation/wfc3/documentation/instrument-science-reports-isrs/_documents/2015/WFC3-2015-04.pdf