Die Mittelwerte der Bias-Frames, die von unserem Lehrteleskop kommen, verschieben sich mit jeder Aufnahme nach oben oder unten. Zum Beispiel:
import glob, numpy as np, astropy.io.fits as fio, matplotlib.pyplot as plt
data = np.zeros((10,255,765), dtype=np.int)
for i, f in enumerate(glob.glob('bias_*.fit')):
data[i,:,:] = fio.getdata(f)
print(np.median(data, axis=(1,2)))
[ 106. 106. 108. 108. 110. 108. 105. 106. 107. 107.]
Während der Datenreduktion kombinieren wir nun im Durchschnitt unsere Bias-Frames. Wir lehnen auch Ausreißer ab (entweder Minmax oder Sigmaclip). Aber wenn einige unserer Frames höher als andere "verschoben" werden, würde dies nicht die Mittelung (und insbesondere die Ausreißerunterdrückung) verzerren, so dass wir während der Mittelung möglicherweise mehr Rauschen einführen?
Um Ihnen eine Vorstellung von der Art dieser Fluktuation zu geben, habe ich eine kurze Analyse durchgeführt: 10 Bias-Frames gelesen, dann iteriert, wobei jeder Frame von der Mediankombination aller anderen Frames subtrahiert wurde. Dies gibt mir so etwas wie "Noise Frames", die nur zeigen, wie stark jeder Frame vom Median des Rests abweicht. Unten ist der Code und die Verteilungen von zwei dieser Rauschrahmen.
noiseframes = np.zeros((10,255,765), dtype=np.int)
otherframes = np.ones(10, dtype=np.bool) # just a mask
for i in xrange(10):
otherframes[:] = True
otherframes[i] = False # exclude current frame from mask
median_of_others = np.median(data[otherframes,:,:], axis=0)
noiseframes[i,:,:] = data[i,:,:] - median_of_others
def plotdist(i):
frame = noiseframes[i].flatten()
x = np.arange(np.min(frame),np.max(frame)+1)
y = np.bincount(frame-np.min(frame))
plt.step(x, y, label=str(np.median(data[i,:,:])))
plotdist(4)
plotdist(3)
plt.xlabel('Difference from median [ADU]')
plt.legend()
plt.show()
Alle Rauschframes haben nahezu perfekte Gaußsche Verteilungen mit ziemlich konstanter FWHM, es ist nur der zentrale Wert, der sich mit jedem Frame verschiebt.
Dies führt mich zu ein paar Schlussfolgerungen: Erstens ist diese Verschiebung wirklich eine Verschiebung des Medianwerts und nicht nur ein Ergebnis von etwas wie kosmischer Strahlung; Zweitens ist die Schwankung ein additiver Effekt und daher nicht auf eine Verstärkungsänderung aufgrund einer Spannungsdifferenz oder ähnlichem zurückzuführen.
Ich konnte auch keine Korrelation mit Temperatur oder Zeit seit dem letzten Auslesen finden, was ich beide für einen Moment vermutete.
Vielleicht sind es leichte Änderungen in der Auslesezeit?
In meinen eigenen Kursnotizen konnte ich keine Erwähnung dieser Art von Artefakt finden. Es wird auch nirgendwo im Internet erwähnt, das ich finden kann.
Kann mir jemand von Ihnen helfen, a) die möglichen Quellen einer solchen Schwankung zu identifizieren und/oder b) eine bewährte Strategie für den Umgang damit während der Datenreduktion bereitzustellen?
Sieht so aus, als hätten Sie eine flockige Elektronik an Ihrem CCD angebracht, wenn sich der Bias-Pegel bei aufeinanderfolgenden Belichtungen um mehrere Einheiten ändert. Es ist jedoch nicht alles verloren, wenn Ihr CCD einen Overscan-Bereich hat .
Dies sind normalerweise mehrere Spalten von "Pixeln", die an jede Zeile Ihrer Daten angehängt erscheinen, aber nicht den physischen Pixeln auf dem CCD entsprechen. Sie sind eigentlich Dummy-Anzeigen, um den tatsächlichen Bias-Pegel in jeder bestimmten Zeile zu beurteilen.
Der Overscan-Bereich sollte bei jeder realen Belichtung einer Lichtquelle deutlich sichtbar sein, da der Overscan-Bereich unbeleuchtet bleibt.
Sie können den Overscan auf zwei Arten verwenden. Die herkömmliche Methode besteht darin, Ihre Bilder mit Overscan-Korrektur zu korrigieren, bevor Sie eine Bias-Subtraktion durchführen. Sie sollten dies auch mit Ihren Bias-Frames tun, bevor Sie sie zu Ihrem "Master Bias"-Frame kombinieren.
Nehmen Sie also Ihren Overscan-Bereich und berechnen Sie entweder (i) einen Median (oder beschnittenen Mittelwert) darin und subtrahieren Sie diesen Wert vor der Verwendung von jedem Pixel im Bild (einschließlich der Bias-Frames); oder (ii) passen Sie etwas Komplizierteres als Funktion der Zeilennummer an und subtrahieren Sie dies dann Zeile für Zeile von Ihren tatsächlichen Daten.
Methode (ii) ist erforderlich, wenn Sie feststellen, dass die Overscan-Werte als Funktion der Zeilennummer eine Struktur oder Drift/einen Trend aufweisen.
Dieser Link enthält viele Details, einige Bilder und ein Rezept.
Benutzer181339
Benutzer181339
ProfRob
ProfRob
Benutzer181339