Download/view - Max-Planck

Advanced lab course F36 at MPIA
30/03/16 11:43
Wavefront analysis with a Shack-Hartmann
wavefront sensor
Wellenfrontanalyse mit einem Shack-Hartmann
Wellenfrontsensor
Advanced lab course for physics and astronomy
students of the University of Heidelberg at
MPIA - lab course F36
Fortgeschrittenen-Praktikum für Studierende der Physik und Astronomie
der Universität Heidelberg am MPIA - Versuch F36
Download/view course materials.
Schedule overview and available dates during the semester break.
Further materials (in pdf format)
Adaptive Optik für die Astronomie, Augenheilkunde, Hochenergielaser
und mehr, von Stefan Hippler, Markus Kasper, Ric Davies und Roberto
Ragazzoni. In german language.
Adaptive Optics on Large Telescopes, by Andreas Glindemann, Stefan
Hippler, Thomas Berkefeld, and Wolfgang Hackenberg.
Introduction to CCDs, by Sami Dib and Jean Surdej.
Almost everything you want to know about CCDs, by Simon Tulloch.
Contacts and directions
Responsible: Dr. Stefan Hippler.
Current tutors.
Directions to MPIA.
Questions
Guess the Zernike function number shown at the right.
More questions.
Weitere Fragen.
Miscellaneous
Lab photos #1, #2, #3.
Interactive display of Shack-Hartmann spots
for Seidel aberrations.
Interactive display of Zernike functions,
requires Java.
University Heidelberg webpage.
http://www2.mpia.de/AO/INSTRUMENTS/FPraktikum.html
Page 1 of 1
Heidelberg, März 2016
Einführung zum Versuch F36
„Wellenfrontanalyse mit einem Shack-Hartmann-Sensor“
des Fortgeschrittenen-Praktikums II der Universität Heidelberg für Physiker
Dr. Stefan Hippler, Dr. Wolfgang Brandner, Prof. Dr. Thomas Henning
Einleitung
Astronomische Beobachtungen vom Erdboden aus sind in ihrer Qualität durch die Turbulenz der
Erdatmosphäre begrenzt. Unabhängig von der Teleskopgröße entspricht das reale Auflösungsvermögen
dem eines 10-20 cm Teleskops. Der Bau immer größerer Teleskope führte in der Vergangenheit
hauptsächlich dazu mehr Licht zu sammeln und damit tiefer in das Universum zu blicken. Das
räumliche Auflösungsvermögen hingegen konnte erst durch die so genannte Adaptive Optik (AO)
deutlich verbessert werden. Zu Beginn des 21ten Jahrhunderts lässt sich feststellen, dass optische und
infrarot Astronomie vom Boden aus ohne AO kaum weiter voran schreiten können. Ohne AO wird es
keine neue Generation von sehr großen Teleskopen (ELT, OWL) geben.
Die Idee der AO wurde in den 50er Jahren von Horace Babcock entwickelt. Das Thema „The
possibility of compensating atmospheric Seeing“ war allerdings in der damaligen Zeit technisch nicht
realisierbar. In den 70er und 80er Jahren arbeitete das amerikanische Militär an AO Systemen zur
Beobachtung von Satelliten und zur Fokussierung hochenergetischer Laserstrahlen. Anfang der 90er
Jahre wurde das erste zivile Teleskop der Welt, das 3.6-m Teleskop der ESO auf La Silla in Chile mit
einer adaptiven Optik ausgestattet. Zurzeit hat jedes Großteleskop der 8-10-m Klasse eine AO.
Ein zentraler Bestandteil jedes AO Systems ist der so genannte Wellenfront-Sensor mit dessen Hilfe
die von der Erdatmosphäre verursachten Störungen auf die vom Weltall ankommenden flachen
optischen Wellen gemessen werden können. In der Astronomie wird der Shack-Hartmann Sensor
neben dem Curvature-Sensor in AO Systemen am häufigsten eingesetzt.
Aufgabenstellung im Überblick
Mit Hilfe eines Shack-Hartmann Wellenfront-Sensors sollen optische Aberrationen bestimmt werden.
Auf einer optischen Bank soll aus optischen Einzelkomponenten – diese sind eine monochromatische
Lichtquelle mit optischer Faser, ein Kollimator, eine Mikrolinsen-Maske, ein Relay-Objektiv, sowie
eine CCD-Kamera – ein Wellenfront-Sensor nach dem Shack-Hartmann Prinzip aufgebaut werden. Die
Verstärkung (Gain=Anzahl Elektronen pro digitaler Einheit im CCD-Bild) des CCD-Detektors sowie
dessen Rauschcharakteristika sollen bestimmt werden. Letztlich sollen einige elementare Phasenfehler
der Wellenfront (Defokus, Koma, Astigmatismus, Verkippung) erzeugt, gemessen und berechnet
werden.
Themenkreis
•
Bestimmung der Charakteristika eines CCD-Detektors.
•
optische Aberrationen, Abbildungsfehler, Punktverteilungsfunktion, beugungsbegrenzte
Abbildungen.
•
Methoden zur Bestimmung von Wellenfronten (=Wellenfrontphasen).
•
Grundlagen des Hartmann Tests, Erweiterung durch Shack.
•
Phasenrekonstruktion mit einem Shack-Hartmann-Sensor.
•
Modenzerlegung optischer Aberrationen.
•
Anwendung in der Astronomie:
Charakteristische Eigenschaften der optisch turbulenten Atmosphäre.
Prinzip einer adaptiven Optik in der Astronomie.
Skript zum Versuch F36 Teil I
Seite 2 von 2
Literaturhinweise
1.
Stefan Hippler und Andrei Tokovinin: Adaptive Optik Online Tutorial,
http://www.mpia.de/homes/hippler/AOonline/ao_online.html
2.
Sami Dib, Jean Surdej, Martin Hennemann, Stefan Hippler, Jutta Stegmaier: The CCD
detector – an online tutorial:
http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/CCD_online/CCD_onlineSep2006.ppt.htm
3.
John. W. Hardy: Adaptive Optics for Astronomical Telescopes, Oxford University Press, 1998
4.
F. Roddier: Adaptive Optics in Astronomy, Cambridge Univsersity Press, 1999
5.
Ben C. Platt, Roland Shack: History and Principal of Shack-Hartmann Wavefront Sensing,
2nd Intgernational Congress of Wavefront Sensing and Aberration-free Refractive Correction,
Monerey, Journal of Refractive Surgery 17, 2001 (siehe Anhang)
6.
M.E. Kasper: Optimierung einer adaptiven Optik und ihre Anwendung in der ortsaufgelösten
Spektroskopie von T Tauri, Dissertation Universität Heidelberg, 2000 (siehe auch:
http://www.MPIA.de/ALFA/TEAM/MEK/Download/diss.pdf)
7.
Glindemann, S. Hippler, T. Berkefeld, W. Hackenberg: Adaptive Optics on Large Telescopes,
Experimental Astronomy 10, 2000
8.
J. W. Goodman, Introduction to Fourier Optics, McGraw-Hill, 1996
9.
W.J. Smith, Modern Optical Engineering, McGraw-Hill, 2000
10. Simon Tulloch: Introduction to CCDs (PowerPoint Präsentation),
http://www.qucam.com/primer/Activity_1.ppt
11. Simon Tulloch: Use of CCD Camera (PowerPoint Präsentation),
http://www.qucam.com/primer/Activity_2.ppt
12. Simon Tulloch: Advanced CCD Techniques (PowerPoint Präsentation),
http://www.qucam.com/primer/Activity_3.ppt
Betreuung
Verantwortlich: Dr. Stefan Hippler
In der Regel wird der Versuch von Doktoranden/Doktorandinnen des MPIA betreut.
Weitere Dokumente und Skripte
1.
Messung der Charakteristika einer CCD-Kamera mit Anhängen.
eines Shack-Hartmann-Wellenfrontsensors. Messung einfacher optischer
Aberrationen. Wellenfrontrekonstruktion mit Hilfe von Zernike-Funktionen. Mit weiteren
Anhängen.
2. Aufbau
Aktuelle Informationen auf der F36 Homepage:
http://www.mpia.de/homes/hippler/fprakt
Skript zum Versuch F36 – Teil I
”Wellenfrontanalyse mit einem Shack-Hartmann-Sensor”
des Fortgeschrittenen-Praktikums II der Universität Heidelberg für Physiker
Messung der Charakteristika einer CCD-Kamera
Heidelberg, März 2016
Dr. Stefan Hippler, Dr. Wolfgang Brandner, Prof. Dr. Thomas Henning
Messung der Charakteristika einer CCD-Kamera
i
Inhaltsverzeichnis
1
Die CCD-Kamera des Wellenfrontsensors
1
2
Eigenschaften der CCD-Kamera
2.1 Einführung und Begriffserklärungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
3
Im Versuch zu bestimmende Charakteristika der CCD Kamera
3.1 Elektronischer Offset, bias level . . . . . . . . . . . . . . . .
3.2 Linearität, linearity . . . . . . . . . . . . . . . . . . . . . . .
3.3 Ausleserauschen, read-noise . . . . . . . . . . . . . . . . . .
3.4 Dunkelstrom, dark-current . . . . . . . . . . . . . . . . . . .
3.5 Kamera-Verstärkung, system gain . . . . . . . . . . . . . . .
3.6 Signal-zu-Rausch Verhältnis, signal-to-noise-ratio, SNR . . .
3.7 Weißfeld, flat-field . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
4
4
5
5
5
Details zu den Messungen der Eigenschaften der CCD-Kamera
4.1 Elektronischer Offset, bias level . . . . . . . . . . . . . . .
4.2 Linearität, linearity . . . . . . . . . . . . . . . . . . . . . .
4.3 Ausleserauschen, read-noise . . . . . . . . . . . . . . . . .
4.4 Dunkelstrom, dark-current . . . . . . . . . . . . . . . . . .
4.5 Kamera-Verstärkung, system gain . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
6
6
6
7
Erstellen einer Aufnahme
5.1 Die Belichtungszeit . . . . . . . . . . . . . . . . . . .
5.2 Signal-zu-Rausch-Verhältnis, signal to noise ratio, SNR
5.3 Der Weg zum Bild . . . . . . . . . . . . . . . . . . .
5.4 Die Fortpflanzung des SNR . . . . . . . . . . . . . . .
5.5 Aufgabe . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
9
10
10
4
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
Software zum Auslesen und Betreiben der CCD-Kamera
11
7
Daten des CCD-Detektors ICX085
12
A Anhang A - Liste einiger nützlicher IDL Befehle und Programme
13
B Anhang B - Front und Back Illuminated CCD-Detektoren
17
C Anhang C - Measuring the Gain of a CCD Camera
21
Messung der Charakteristika einer CCD-Kamera
1
1
Die CCD-Kamera des Wellenfrontsensors
Der im Versuch aufzubauende Shack-Hartmann Wellenfrontsensor besitzt als zentrales optisches Element eine Mikrolinsenmaske (Linsenarray).
CCD detector
CCD detector
Abbildung 1: Mikrolinsenarray mit CCD Detektor - oben mit ungestörter Wellenfront, unten mit gestörter Wellenfront
Zur Aufnahme der Punkte, die das Linsenarray in seiner Fokalebene erzeugt (siehe Abbildung 1, wird eine CCD-Kamera
des Typs DVC1312 benutzt. Diese hat einen ICX085 CCD-Detektor der Firma Sony mit 1280 x 1024 aktiven Pixeln. In der
Standardeinstellung (mode normal) werden 12 Bilder pro Sekunde ausgelesen. In der Messeinstelllung (mode nframes)
wird die Anzahl der Bilder pro Sekunde durch das Kommando bzw. den Parameter EXP bestimmt. Dabei bestimmt EXP
die Integrationszeit in Einheiten von (EXP+1)/12 Sekunden. Die Einstellungen der Kamera können über eine serielle
Schnittstelle geändert werden. Dazu wird aus der Terminalshell heraus das Kommando serial cmd aufgerufen. Wird
beispielsweise das Kommando STA an die Kamera geschickt, erhält man als Antwort die aktuellen Kameraeinstellungen.
Die Liste der Kommandos und deren Bedeutung sind im User Manual der Kamera beschrieben.
2
2
2.1
Messung der Charakteristika einer CCD-Kamera
Eigenschaften der CCD-Kamera
Einführung und Begriffserklärungen
Eine CCD-Kamera (CCD: Charged Coupled Device) zeichnet sich gegenüber anderen optischen Detektoren, wie Auge,
Film oder Photo-Multiplier, durch zwei Eigenschaften besonders aus:
Hervorragende Empfindlichkeit Die Quanteneffizienz QE liegt um die 50% - bei manchen Wellenlängen sogar bis zu
90% - und ist somit um eine Größenordnung größ als beim Auge oder beim Film, wo die QE nur einige Prozent
beträgt.
Linearität zwischen Messsignal und aufgefangener Lichtmenge Anders als bei Photoplatten, die nur über einen verhältnismäßig kleinen Bereich linear reagieren, ist der CCD-Detektor von Signalen, die wenig über dem Hintergrundrauschen liegen, bis nahe an seine Sättigung linear. Dadurch eignet sich eine CCD-Kamera insbesondere für
photometrische Anwendungen.
Für die Entwicklung des CCD erhielten Willard Boyle und George E. Smith 2009 den Nobelpreis für Physik.
Den CCD-Detektor charakterisieren weiterhin folgende Werte, von denen einige im Rahmen des Praktikums bestimmt
werden.
Quantenausbeute, Quanteneffizienz, quantum efficiency, QE bestimmt die Empfindlichkeit des Detektors gegenüber
einfallender elektromagnetischer Strahlung. Die Quantenausbeute (auch Quanteneffizienz QE) ist definiert als die
Anzahl von Prozessen, die ein absorbiertes Photon (Lichtquant) im Mittel auslöst. Die Quantenausbeute ist von der
Energie des Photons und somit von der Wellenlänge des Lichts bzw. der elektromagnetischen Strahlung abhängig.
Die QE gibt an, mit welcher Wahrscheinlichkeit durch den (bei CCDs inneren) photoelektrischen Effekt ein Elektron
freigesetzt wird und gemessen werden kann. Wie die Quantenausbeute vom CCD-Typ abhängt — Stichwörter front
illuminated CCD, back illuminated CCD — ist im Anhang B beschrieben. Im Versuch wird dieser Wert nicht
Spektrale Sensoreigenschaften
bestimmt.
Die Quantenausbeute des Sony ICX085 CCD Detektors kann aus der folgenden Grafik bestimmt werden.
Die Quantenausbeute
ist definiert als die
prozentuale Anzahl der
Photoelektronen die ein
Photon erzeugt.
Quantumefficiency QE of selected CCD-Sensors
60
50
ICX085
TH7863/83
40
QE (%)
CCD05xx
30
FT1010/FT18
20
TH78xx
UV
10
0
200
300
400
500
600
700
800
900
1000
1100
Wavelength (nm )
Abbildung 2: Quantenausbeuten verschiedener CCD Detektoren - Quelle Theta System Elektronik GmbH
THETA SYSTEM Elektronik GmbH
S. 9
Verstärker Offset, bias level ist der durchschnittliche Wert, den die Kameraelektronik einem Pixel gibt, wenn kein Signal gemessen wird; dies ist idealerweise ein Dunkelbild mit einer Belichtungszeit von 0s. Da es sich um einen
elektronischen Offset handelt, wird dieser Wert in der Regel von den Messdaten abgezogen.
Messung der Charakteristika einer CCD-Kamera
3
Das Ausleserauschen, read-noise bzw. readout-noise besteht aus Fluktuationen des Signals, die durch die Elektronik
beim Auslesen entstehen. Das Ausleserauschen kann als Standardabweichung in Einheiten von ADU (analog digital
units) pro Pixel oder Elektronen pro Pixel bestimmt werden. Zur Konvertierung von ADU zu Elektronen wird der
Kamera-Verstärkungsfaktor benötigt (siehe weiter unten).
Der Dunkelstrom, dark-current entsteht durch Elektronen, die aufgrund der Wärme des Chips (thermisches Rauschen,
Fermiverteilung, Boltzmannverteilung) vom Valenz- ins Leitungsband übergehen und so zum zu messenden Signal
hinzukommen.
Das Weißbild, flat-field Aufnahme ist eine Aufnahme bei der die Pixel alle gleich stark bei einer Wellenlänge oder
mit Weißlicht beleuchtet werden. Hier werden die Unterschiede der Empfindlichkeit der einzelnen Pixel sichtbar.
Das Weißbild ist somit die direkte Beschreibung dieser Eigenschaft der Pixel. Das Weißbild zeigt gerade in der
Astronomie mit ihren sehr kontrastarmen Objekten oft noch weitere, unerwnschte, Strukturen auf. Diese können
beispielsweise durch Staub auf Eintrittsfenstern oder Spiegeln oder auf dem Detektor selbst verursacht sein.
Die Kamera-Verstärkung, system gain beschreibt das Verhältnis zwischen den Photoelektronen, die gemessen werden
und dem Signal in ADU, das man am Computer erhält.
Das Signal-zu-Rausch-Verhältnis, signal to noise ratio, SNR charakterisiert die Qualität eines Bildes.
Die letzten zwei Werte sind besonders wichtig. Die Kamera-Verstärkung (system gain) stellt die Verbindung zwischen
einer reinen Zahl, die sich aus der A/D-Umwandlung ergibt, und der physikalisch interessanten Anzahl der Elektronen
her. Kennt man zusätzlich noch die Quanteneffizienz des Detektors und die Wellenlänge bei der beobachtet wurde, so sind
auch die Zahl der Photonen, die von einem Pixel absorbiert wurden bekannt. Das Signal-zu-Rausch-Verhältnis, SNR, will
man so groß wie möglich halten und muss somit wissen wie es sich bei der Datenverarbeitung verhält und wie man es
verringern kann.
4
3
3.1
Messung der Charakteristika einer CCD-Kamera
Im Versuch zu bestimmende Charakteristika der CCD Kamera
Elektronischer Offset, bias level
Der elektronische Offset läßt sich mit dem Kommando OFS (serial cmd) auf verschiedene Werte einstellen. Dieser Wert
sollte so eingestellt werden, daß in etwa 100 ADU bei einer Offset-Aufnahme gemessen werden. Dieser Wert, der auf
alle Pixel addiert wird, verhindert negative Werte die durch das Ausleserauschen verursacht werden. Der Offset sollte
insbesondere bei Änderungen der Kamera Verstärkung überprüft werden.
3.2
Linearität, linearity
Über einen großen Bereich erzeugen doppelt soviele Photonen ein doppelt so starkes Ausganssignal. Die gemessene
Ladungsmenge ist direkt proportional zur Strahlungsintensität. Es ist somit nicht nötig, wie bei der Auswertung von
Photoplatten oder Film eine Schwärzungskurve zu erstellen. Diese Eigenschaft ermöglicht den direkten Vergleich der
Helligkeit zweier Quellen in einem Bild.
3.3
Ausleserauschen, read-noise
Das Ausleserauschen ist bei geringem Signal ein beträchtlicher Anteil des Gesamtrauschens. Es ist unabhängig von der
Belichtungszeit und dem Signal, solange nicht die Sättigung erreicht wird, da es aus dem Auslesevorgang hervorgeht wie der Name schon sagt. Ein typischer Wert ist einige Elektronen (Standardabweichung, rms) pro Pixel.
3.4
Dunkelstrom, dark-current
Durch ihre thermische Bewegung haben immer wieder einige Elektronen im Silizium des CCDs genug Energie um die
Potentialdifferenz (Bandlücke: ≈ 1.1 eV) zu überwinden und sich zusammen mit den Photoelektronen anzusammeln. Dies
ergibt einen zusätzlichen Strom, der auch ohne Photoneneinfall auftritt: den Dunkelstrom. Da die thermischen Elektronen
im Mittel mit einer konstanten Rate entstehen, die unabhängig von der Lichtstärke und der Belichtungszeit ist, ist der
Dunkelstrom proportional zur Belichtungszeit, da die Elektronen über diese Zeit gesammelt werden.
Der Dunkelstrom ist extrem temperaturabhängig. Er verhält sich wie
Sdark (T )[e− /px/s] = R · C1 · Ap · T 1.5 · exp(−Eg /2kT )
(1)
T = Temperatur [K]
R = Dunkelstromrate in [nA/cm2 ] bei T=300K
C1 = 2.5E15 (Umrechungsfaktor in die angegebenen Einheiten)
Ap = Fläche des Pixels [cm2 ]
Eg = Siliziumbandlücke bei der Temperatur T in [eV]; Eg = 1.1557 - (7.021E-4 · T2 )/(1108. + T)
k = Boltzmannkonstante = 8.62E-5 eV/K
Wird der Dunkelstrom eines CCD-Detektors bei 300 K beispielsweise mit 1pA/cm2 angegeben, kann wie folgt in Elektronen pro Sekunde und Quadratmikrometer umgerechnet werden:
1pA/(104 µm)2 = 1 · 10−12 · (1.602 · 10−19 )−1 e− /s/108 µm2 = 6.24 · 10−2 e− /s/µm2 .
Bei einem Detektorpixel mit der Fläche von 6.7µm · 6.7µm = 44.89 µm2 erhält man einen Wert von 2.8 Elektronen
pro Sekunde und Pixel. Dies ist schon ein sehr guter Wert. Will man mit dem CCD-Detektor lange integrieren (einige
1000 Sekunden), kann normalerweise auf eine gute Kühlung bei einer CCD-Kamera nicht verzichtet werden. Dies kann
beispielsweise eine Peltier-Kühlung sein. Es ist aber auch nicht selten, dass man Wasser statt Luft kühlung verwendet oder
sogar eine direkte Kühlung mit flüssigem Stickstoff oder Helium (speziell im Infrarotbereich) findet. Bei einer Temperatur
von T=220K verringert sich der Dunkelstrom auf 1.7E-4 Elektronen pro Sekunde und Pixel.
Letztlich hängt der Dunkelstrom auch vom Betriebsmodus der Kamera ab. Der im Praktikum verwendete Sony Detektor
hat selbst bei Raumtemperatur einen sehr geringen Dunkelstrom (siehe Abbildung 3).
Dunkelstrom
Messung der Charakteristika einer CCD-Kamera
von CCD - Bildsensoren
Der Dunkelstrom von
CCD-Sensoren ist sehr
stark abhängig vom
Sensortyp:
Darksignal
1,E+05
TH7863/83
CCD05xx
1,E+04
Electrons/s*pixel
5
Konventionelle Sensoren
haben einen hohen
Dunkelstrom.
1,E+03
FT1010, FT18
1,E+02
1,E+01
ICX085
1,E+00
Bei Sensoren vom Typ
FT18 und MPP-Sensoren
ist der Dunkelstrom um
zwei Größenordnungen
niedriger.
HAD-Sensoren haben
nochmal einen um einen
Faktor 50 niegrigeren
Dunkelstrom.
1,E-01
1,E-02
-20
-10
0
10
20
30
Temperatur (°C)
Abbildung 3: Dunkelströme verschiedener CCD Detektoren - Quelle Theta System Elektronik GmbH
THETA SYSTEM Elektronik GmbH
3.5
S. 12
Kamera-Verstärkung, system gain
Die Kamera-Verstärkung auch system gain genannt, gibt an, wie viele Elektronen durch eine Analog Digital Einheit
(ADU) repräsentiert wird. Hat die Kamera beispielsweise einen 12-Bit Analog/Digital-Konverter (ADC), stellt man den
system gain so ein, dass der analoge Meßbereich eines Pixels (full well capacity, full well depth) möglichst vollständig
digital abgedeckt wird. Beispiel: liegt das Ausleserauschen des CCD-Detektors bei ca. 10 Elektronen und es steht ein
12-Bit ADC zur Verfügung, setzt man den system gain auf 5–10 Elektronen pro ADU um das Rauschen nicht zu fein
abzutasten. Damit liegt der analoge Messbereich zwischen 20000 und 40000 Elektronen.
Zur Bestimmung des system gain wird die Photonen-Transferkurve benutzt. Diese stellt das gemessene Detektor-Signal
über der Varianz des Signals für verschiedene Lichtstärken dar. Dabei müssen Flat-field-Effekte korrigiert werden. Der
system gain ist die Steigung des linearen Teils der Kurve. Mehr zum system gain - insbesondere die mathematischen
Grundlagen - kann man in einem Artikel von Michael Newberry im Anhang C (in englisch) nachlesen.
3.6
Signal-zu-Rausch Verhältnis, signal-to-noise-ratio, SNR
Wenn das Signal-zu-Rausch Verhältnis klein ist, wird das Signal stark durch das Rauschen beeinflusst. Der prozentuale
Fehler gewonnener Messwerte ist größer, ihre Qualität somit schlechter. Besonders bei schwachen Quellen ist es daher
nötig, schon bei der Belichtung für ein möglichst großes SNR zu sorgen, beispielsweise durch lange Integrationszeiten.
Dies wird näher in dem Abschnitt ”Erstellen einer Aufnahme” beschrieben.
3.7
Weißfeld, flat-field
Flat-field-Effekte können schnell den Fehler des Signals
√ dominieren, da sie proportional zum Signal anwachsen und sich
nicht nur wie das Poissonrauschen der Photonen wie Signal verhalten. Deswegen ist ihre Korrektur wichtig. Mehr dazu
ebenfalls im Abschnitt ”Erstellen einer Aufnahme”.
6
4
Messung der Charakteristika einer CCD-Kamera
Details zu den Messungen der Eigenschaften der CCD-Kamera
Viele Messungen, die mit der CCD-Kamera gemacht werden, sollten im Dunkeln geschehen, da die Kamera auf jedes
Licht sehr empfindlich reagiert. Als Lichtquellen stehen eine Diodenlaser und eine spezielle LED Flat-field Lampe zur
Verfügung. Wie diese angesteuert und benutzt werden, erfahren Sie vom Betreuer.
Achtung: Auf gar keinen Fall mit dem Auge direkt in das Laserlicht sehen.
4.1
Elektronischer Offset, bias level
Die Aufnahmen für das Ausleserauschen (siehe weiter unten) knnen zur Bestimmung des elektronischen Offsets genutzt
werden. Hierzu berechnen Sie das Mittel über alle Pixel der sechs Aufnahmen (siehe Ausleserauschen weiter unte). Achten
Sie darauf, dass es keine Pixel mit Wert 0 gibt.
4.2
Linearität, linearity
Die Linearität wird gemessen, indem bei konstanter Beleuchtung des CCD-Detektors die Belichtungszeit texp mit dem
Kommando EXP im Programm serial cmd variiert und das Signal über texp aufträgt. Stellen Sie die Flat-field Lampe
ein und suchen sie eine Lichtstärke, so dass Sie zu kurzen Belichtungszeiten praktisch nur Rauschen sehen und bei nicht
zu grossen Zeiten ein gesättigtes Bild erhalten. Machen Sie in diesem Bereich von Belichtungszeiten verteilt ca. 10 bis
20 Bilder. Nehmen Sie auf jeden Fall auch ein Bild mit EXP 0 (kann verschiedenen Zeitdauern entsprechen) auf. Suchen
Sie sich einen Ausschnitt des Chips von 101 x 101 Pixeln in dem es auf keinem Bild offensichtliche Fehler gibt (heisse
Pixel, schlechte/defekte Pixel, kosmische Strahlung u.s.w.).
Es wird nun das Mittel <S> über diese Region gebildet. Da der Dunkelstrom sich linear verhält und der Offset konstant
ist, brauchen diese nicht abgezogen werden, um nun in einem Diagramm mit dem Mittel <S> über der Belichtungszeit
aufgetragen die Linearität festzustellen. Erstellen Sie so einen Graphen. Stellen Sie fest, bei welchem Wert Ihrer Messung
Sättigung (wieviel ADU) eintritt. Was können Sie daraus über die Kapazität eines Pixels aussagen? Was zeigt sich nach der
Mittelwertbildung in Bezug auf das Rauschen und das Signal bei den kurzen Belichtungen? Welche Perspektiven bieten
sich für extrem lichtschwache Beobachtungsobjekte, wenn man das Rauschen durch Addieren vieler Bilder entfernen
würde?
4.3
Ausleserauschen, read-noise
Um das Ausleserauschen zu messen, müssen Bilder ohne Photonenrauschen, Rauschen von thermischen Elekronen (Dunkelstrom) und Flat-field-Effekten gemacht werden bzw. müssen diese Effekte korrigiert werden. Stellen sie die Lichtquelle
ab und versichern sie sich, dass an die Kamera kein Licht kommt. Dazu kann ein lichtdichter Verschluss auf die Kamera geschraubt werden. Erstellen Sie 6 Darks mit minimaler Belichtungszeit (EXP 0). Subtrahieren sie zwei Aufnahmen
voneinander. Was bringt dieser Schritt? Wählen Sie wieder einen Ausschnitt von 101 x 101 Pixeln, in dem in den beiden
Aufnahmen keine offensichtlichen Defekte waren, und erstellen sie damit ein Histogram. Bestimmen sie die Standardabweichung der Pixelwerte (siehe auch Abschnitt
√ 5.2, Parameter R). Bei Annahme einer Gauss-Verteilung: Welchen Wert
erhält man, wenn man diesen Wert durch 2 teilt? Wiederholen sie dieses mit den zwei weiteren Paaren von Bildern.
Bestimmen sie aus den drei Werten das Mittel samt Fehler.
4.4
Dunkelstrom, dark-current
Hier ist die Dunkelheit während der Belichtung besonders wichtig. Machen sie zehn Dunkelaufnahmen mit Belichtungszeiten gleichmäßig verteilt zwischen EXP 0 und EXP 3FF (entspricht 1023 Zeiteinheiten, im NFR Modus somit ca. 85
Sekunden). Sehr lange Belichtungszeiten können im Modus Ultra Long Exposures (ULT) aufgenommen werden (siehe
dazu auch das DVC Manual).
Suchen sie sich wieder ein Quadrat mit 101 Pixel Seitenlänge ohne Defekte auf den Aufnahmen und bilden sie von jedem
Bild dort das Mittel. Erstellen Sie einen Graphen mit den Mittelwerten über den Belichtungszeiten. Bestimmen sie den
Geradenfit. Geben Sie den Dunkelstrom an. Für welche Belichtungszeiten ist der Dunkelstrom vernachlässigbar?
Messung der Charakteristika einer CCD-Kamera
4.5
7
Kamera-Verstärkung, system gain
Hier erstellen Sie nun die Photonentransferkurve für das CCD. Dazu stellen Sie die Flat-field Lampe vorsichtig auf
maximale Leistung und wählen eine Belichtungszeit, so dass das Bild fast gesättigt ist. Machen Sie zwei Bilder bei dieser
Lichtstärke, stellen Sie eine niedrigere Lichtstärke ein und machen Sie wieder zwei Bilder bei gleicher Belichtungszeit.
Wiederholen Sie das so oft und mit so gewählten Lichtstärken, dass man in der Photonentransferkurve später die Sättigung,
die Linearität des Poissonrauschen und den Effekt des Systemrauschens erkennen kann.
Bezeichnen Sie jeweils die Paare der Aufnahmen mit gleicher Lichtstärke als Bild A und B.
Überlegen Sie vorher, ob eine Dunkelstrom und Offset-Korrektur zu berücksichtigen sind.
Suchen Sie sich wieder ein Quadrat mit 101 Pixel Seitenlänge ohne Defekte auf den Aufnahmen und bilden sie von jedem
Bild dort das Mittel < S >. Korrigieren Sie Abweichungen zwischen den Bilderpaaren im mittleren Signal, indem Sie
jeweils das Bild B mit dem Verhältnis <S(A)> / <S(B)> multiplizieren. Subtrahieren Sie B von A. Welche Effekte
fallen hier heraus? Was ist die Varianz des entstandenen Bild? Erstellen Sie die Photonentransferkurve, d.h. tragen Sie die
ermittelten Mittelwerte gegen die Varianz auf. Berechnen Sie den System Gain in Elektronen pro ADU. Erklären Sie, falls
vorhanden, die nicht-linearen Teile der Kurve. Geben Sie jetzt alle Werte, die Sie bis hierhin in ADU gemessen haben, in
Anzahl der Elektronen an.
8
5
Messung der Charakteristika einer CCD-Kamera
Erstellen einer Aufnahme
Die Überschrift klingt ziemlich trivial, aber, wenn man an die Aufnahme den Anspruch stellt, ein möglichst gutes Ergebnis zur weiteren wissenschaftlichen Auswertung zu erlangen, verändert sich die Aufgabe vom bloßen Abspeichern
einer einzigen Aufnahme (Snapshot) zum aufwendigen Anfertigen von mehreren Bildern des Beobachtungsobjektes und
mehreren Dark- und Flat-field-Aufnahmen und deren Verarbeitung.
Dieser Abschnitt soll sowohl einen Eindruck des Entstehens einer astronomischen Aufnahme vermitteln, als auch und
insbesondere den Begriff des Signal-Rausch-Verhältnisses vertiefen.
5.1
Die Belichtungszeit
Die erste Aufgabe ist die richtige Belichtungszeit zu finden. Diese kann man aus dem Photonfluss vom Beobachtungsobjekt und den Daten der CCD-Kamera errechnen, so dass man nicht die kostbare Zeit am Instrument mit ausprobieren
verschwenden muss. Dazu ist es wichtig ein paar Grenzbedingungen zu beachten:
• Das Signal vom Beobachtungsobjekt bzw. der in ihm interessante Bereich sollte überall ein gutes Stück von der
Sättigung des CCD entfernt liegen. Andernfalls riskiert man in einen nicht mehr linearen Bereich zu sein, und
dass vielleicht einige Pixel, die etwas heller sind als erwartet, schon gesättigt sind. Aus diesen könnte man keine
Informationen mehr erhalten.
• Die Belichtung sollte so lang sein, dass das Poissonrauschen der Photonen über das Ausleserauschen dominiert.
Erst dann ist es sinnvoll mehrere Aufnahmen zu kombinieren und so die Bildqualität zu verbessern. So kann man
dann eine Qualität erreichen, die wegen der Sättigungsgrenze mit einer einzelnen Aufnahme nicht möglich ist. Mehr
dazu weiter unten.
• Innerhalb dieses Intervalls sollte man dann eine möglichst lange Belichtungszeit anstreben, damit im Einzelbild
SNR möglichst groß gehalten wird. Die Flat-field-Effekte, heisse bzw. schlechte/defekte Pixel und der Dunkelstrom werden korrigiert und des Ausleserauschen ist ein vernachlässigbar kleiner Anteil. Also rechtfertigt folgende
√
Überlegung zum Poissonrauschen der Photonen diese Behauptung:
Das Poissonrauschen ist proportional zu S,
√
also ist das dadurch verursachte SNR auch proportional zu S.
5.2
Signal-zu-Rausch-Verhältnis, signal to noise ratio, SNR
Jetzt stellt sich die Frage, wieviele Bilder idealerweise kombiniert werden sollen. Dazu muss man das SNR abschätzen.
Dabei gibt es auch Quellen, die man nicht beeinflussen kann und die lange vor der Beobachtungszeit nicht vorhersagbar
sind wie beispielsweise in der Astronomie der Himmelshintergrund, der mit dem Signal überlagert. Das Signal im Rohbild
S ist die Summe des Signals vom Beobachtungsobjekt sobj , dem Dunkelstrom sdark und dem Himmelshintergrund (sky
background s) ssky :
S = sobj + sdark + ssky
(2)
Das Rauschen des Rohbildes N ergibt sich aus den statistisch unabhängigen Rauschquellen Ausleserauschen R, Poissonrauschen des Beobachtungsobjektes, des Dunkelstromes und des Himmelhintergrundes σp und den Flat-field Effekten σf
wie folgt:
N 2 = R2 + σp 2 + σf 2
(3)
Als SNR ergibt sich dann unter Berücksichtigung der Signalabhängigkeiten der Rauschquellen:
sobj + sdark + ssky
sobj + sdark + ssky
SN R = p
=p
2
2
2
2
R + σp + σf
R + sobj + sdark + ssky + σf2
(4)
Da aber die flat-field Effekte (im Gegensatz zum Dunkelstrom) ein festes Muster haben und nicht zufällig sind, kann
diese Rauschquelle in der Datenverarbeitung entfernt werden. Somit ergibt sich das für uns relevante SNR ohne flat-field
Effekte der Einzelaufnahme als:
sobj + sdark + ssky
R2 + sobj + sdark + ssky
(SN R)ohnef lat−f ieldEf f ekte = p
(5)
Messung der Charakteristika einer CCD-Kamera
9
Hat man nun dieses SNR mit dem errechneten Fluss vom Beobachtungsobjekt, dem Ausleserauschen und dem Dunkelstrom aus dem Datenblatt der Kamera und dem erwarteten Himmelshintergrund errechnet und auch die weiter unten
beschriebenen Effekte der Datenverarbeitung berücksichtigt, kann man diesen Wert mit dem Kehrwert der benötigten
prozentualen Genauigkeit der zumessenden Helligkeiten vergleichen und so sich für eine Anzahl n der Aufnahmen entscheiden,
so dass die bei der Kombination entstehende Aufnahme die benötigte Qualität mit ihrer signal-to-noise-ratio
√
nSN R erreicht.
Um diese Vorgehensweise zu untermauern, wird das SNR einer Aufnahme S1 , die durch Kombination von n Aufnahmen
mit einer Belichtungszeit t enstanden ist, mit einer Aufnahme S2 mit einer Belichtungszeit n t verglichen. Für beide
Aufnahmen sollen die zwei ersten Bedingungen für die Belichtungszeit, wie oben beschrieben, erfüllt sein. Ist das Signal
einer der kurzen Aufnahmen Sshort , so haben die beiden Aufnahmen die Signale:
X
S1 =
Sshort = nSshort
(6)
n
S2 = nSshort
(7)
Das Poissonrauschen ergibt sich als
N1 =
s
X
Sshort =
p
nSshort
(8)
n
N2 =
p
p
S2 = nSshort
(9)
Die Werte für das SNR sind in beiden Fällen gleich. Zum Vergleich ist nun der Fall interessant, bei dem das Ausleserauschen R bei den kurzen Aufnahmen im Vergleich zum Gesamtrauschen nicht vernachlässigbar klein ist (diesen Fall nennt
man Auslesrauschen limitiert bzw. read-noise limited). Das bedeutet
p
p
Sshort << R << nSshort .
(10)
Dann ergibt sich folgender Term für N1 :
N1 =
s
X
√
(Sshort + R2 ) ≈ nR2
(11)
n
√
Daraus erhält man unter Beachtung von S2 /N2 = nSshort :
√
√
p
S1
Sshort
S2 Sshort
S2
= nSshort
=
<<
.
N1
R
N2
R
N2
(12)
Es ist also wichtig in den einzelnen Aufnahmen den Anteil des Ausleserauschens am Gesamtrauschen möglichst klein zu
halten.
5.3
Der Weg zum Bild
Jetzt können endlich die Aufnahmen erstellt werden. das Beobachtungsobjekt wird n mal mit der Belichtungszeit t aufgenommen. Außerdem werden noch mindestens fünf Darks mit der gleichen Belichtungszeit t und einige Flat-fieldAufnahmen gemacht. Für die Flat-field-Aufnahmen ist es wichtig die Kamera gleichmäßig auszuleuchten und dann Bilder
mit den oben beschriebenen Bedingungen an die Belichtungszeit zu machen.
Es wird jeweils das Mittel aus den Aufnahmen, den Flatfields und den Darks genommen, d.h. sie werden addiert und
durch ihre Anzahl geteilt; es wird nicht das Mittel über die Pixel genommen. Dabei sollte man bei den Darks auf sehr
helle Pixel (oft verursacht durch kosmische Strahlung) achten und diese entfernen (Bildbearbeitungssofware). Die Formel
für das endgültige Bild lautet nun:
Bild = (< Auf nahmen > − < Darks >)
M ittel über die P ixel(< F latf ield >)
< F latf ield >
(13)
10
Messung der Charakteristika einer CCD-Kamera
Durch das Abziehen des Darks werden elektronischer Offset, Dunkelstrom und heisse bzw. schlechte/ defekte Pixel aus
dem Signal entfernt. Der Quotient aus Flatfield und dem Mittel der Signale seiner Pixel stellt die Abweichungen der Empfindlichkeit der Pixel vom Mittelwert dar: ein Pixel, das wie das Mittel empfindlich ist, hat den Wert 1, ein empfindlicheres
einen Wert > 1 und ein weniger empfindliches einen Wert < 1. Wenn man nun dadurch teilt, werden die Flatfield-Effekte
korrigiert. Man erhält das Ergebnis: das fertige Bild.
5.4
Die Fortpflanzung des SNR
Nun bleibt noch die Effekte der letzten Rechenschritte auf das Signal-Rausch-Verhältnis zu diskutieren.
Wenn man von einer Aufnahme mit signal to noise ratio sobj /No ein Dark mit sdark /Nd abzieht, dann ergibt sich daraus
sobj − sdark
Sod /Nod = p
No2 + Nd2
(14)
Wenn das Dunkelbild also kein sehr gutes sdark /Nd hat, verschlechtert sich durch diesen Schritt sobj /No beträchtlich.
Man muss also durch Mittelung mehrerer Darks diesen Wert vergrößern. Mit jeder Vervierfachung der Anzahl der Darks
verdoppelt sich sdark /Nd . Es ist hier also gefragt zwischen Aufwand und Verbesserung abzuwägen.
Bei der Flat-field-Methode bringt das dividieren durch das Flat-field eine Verschlechterung von SNR mit sich. Das Multiplizieren mit dem konstanten Mittelwert über die Pixel des Flat-fields verändert dagegen diesen Wert nicht. Hat die
Aufnahme wiederum sobj /No und das Flat-field Sf /Nf , so ergibt sich nach der Division
Sof /Nof = r
sobj /Sf
1
2 = r
2 2 2
s
N
1
No
+ Sobj
+ Sff
2 Nf
Sf No
sobj
(15)
f
Hier sieht man eine noch größere Signifikanz eines großem Sf /Nf . Typischerweise sollte dieser Wert viel gößer als 100
sein, wenn nicht sogar größer als 1000. Für die Mittelung mehrerer Flat-field gilt natürlich das gleiche wie bei den Darks.
5.5
Aufgabe
Schrauben Sie die Kamera aus ihrer Halterung. Befestigen Sie ein Objektiv an der CCD-Kamera. An ihm können Sie den
Fokus und die Blende verstellen. Suchen Sie sich ein Objekt, das Sie aufnehmen wollen (z.B. den Versuchsaufbau oder
sich selbst), verdunkeln Sie den Raum und machen Sie eine Aufnahme wie in diesem Abschnitt beschrieben. Natürlich
haben Sie hier die Möglichkeit die richtige Belichtungszeit durch Ausprobieren zu finden und machen das auch statt
ihrer Berechnung. Da Sie kein wissenschaftliches Ziel mit dieser Aufnahme verfolgen, haben Sie auch keinen bestimmten
Qualitätsanspruch an das Bild. Nehmen Sie einfach drei Bilder, Darks und Flat-fields auf. Stellen Sie für das Flat-field die
Lampe vor das Objektiv, so dass die helle Fläche das Bild ausfüllt.
Vergleichen Sie ein Einzelbild mit der Kombination der drei Bilder, dem Ergebnis nach der Dunkelkorrektur und dem
Ergebnis nach der Flat-field-Korrektur.
Messung der Charakteristika einer CCD-Kamera
6
11
Software zum Auslesen und Betreiben der CCD-Kamera
Um auf die Kamera zuzugreifen, muss man sich auf den Rechner aopc1 begeben und sich unter dem Account fprakt
einloggen. Das Passwort erfahren Sie vom Betreuer. Starten Sie eine Terminalshell und öffnen Sie darin am besten mehrere
Sessions.
In einer Session starten Sie aus dem Hauptverzeichnis heraus das Kommando ./load nframes1312. Damit wird die Kamera in den nframes modus gebracht. In diesem Betriebsmodus beträgt die Dauer einer Belichtungseinheit 1/12 Sekunde.
Danach muss der Kameraserver mit dem Kommando start dvc server gestartet werden. Der Server erlaubt die Kommunikation mit der Kamera direkt aus dem Program IDL heraus. Der Kameraserver kann mit dem Kommando stop dvc server
beendet werden.
In einer weiteren Session starten Sie das Programm serial cmd. Dieses Programm erlaubt Statusabfragen als auch Parameteränderungen der Kamera vorzunehmen. In einer dritten Session wechseln Sie in ein vorher neu angelegtes Verzeichnis
z.B. $HOME/21 APR 2011 und starten dort das Programm idl. Innerhalb dieses Programms können nun Daten visualisiert werden, die mit der CCD-Kamera aufgenommen werden. Das IDL Programm live 1312 zeigt beispielsweise ein
Live-Bild der Kamera auf dem Bildschirm und gibt gleichzeitig weitere Informationen des aktuellen Bildes als Zahlen
aus.
Zum Aufnehmen und Abspeichern einzelner Bilder empfiehlt es sich in einer vierten Session das Programm idl ein
weiteres Mal zu starten. Bevor einzeln Bilder aufgenommen werden können, muß das IDL Programm live 1312 mit
CTRL-C abgebrochen werden. Danach auf jeden Fall das IDL Kommando retall eingeben. Das IDL Programm zum
Aufnehmen einzelner Bilder wird mit
dvcbild=read 1312(TIMEOUT=n)
gestartet. Die Variable TIMEOUT spezifiziert wie lange die Software maximal auf ein Bild wartet. Das TIMEOUT wird
in Millisekunden angegeben. Der Defaultwert ist 1000. Danach kann es beispielsweise mit dem Kommando atv,dvcbild
angezeigt werden oder mit dem Kommando
writefits,’meinDVCbild.fits’,dvcbild
als FITS-Datei abgespeichert werden. Die IDL Software ist zur weiteren Bildverarbeitung bestens geeignet. Eine kurze
Zusammenfassung der wichtigsten Befehle befindet sich im Anhang A.
12
7
Messung der Charakteristika einer CCD-Kamera
Typische Spezifikationen von CCD-Kameras
Daten des CCD-Detektors ICX085
CCD Image Sensor
FF=Full frame,
FT=FrameTransfer
CCD Manufacturer
TH7863
TH7883
TH789x
085
205
FT18
FT1010
CCD05-20
CCD05-30
FT
FF
FF
IT
IT
FT
FT
FF / FT
FF / FT
Thomson
Thomson
Thomson
Sony
Sony
Philips
Philips
EEV
EEV
Pixel size,
µm
23 x 23
23 x 23
19,5 x 19,5
6.7 x 6.7
4.65 x 4.65
7.5 x 7.5
12 x 12
22.5 x 22.5
22.5 x 22.5
Active area, H x V
mm
8.8 x 6.6
8.8 x 13.2
36 x 26.5
8,6 x 6,9
6,4 x 4,8
7.7 x 7.7
12.3 x 12.3
17.3 x 25.9
17.3 x 13.0
27.9 x 25.9
27.9 x 13.0
Image diagonal
mm
11.0
15.9
44.7
11.0
10.9
17.4
31.1 / 21.6
38.0 / 30.8
4:3
2:3
4:3
4:3
4:3
1:1
1:1
P 1024 x 1024
I 1024 x 2048
FF 2 : 3
FT 4 : 3
FF 770 x 1152
FT 770 x 576
FF 1 : 1.1
FT 1 : 2.1
FF 1242 x 1152
FT 1242 x 576
Aspect ratio
Active pixel, columns/lines,
I = interlace, P = progressive
-
Full Well capacity, FW pixel
e
Read-out noise, rms
e
-
Dynamic range
384 x 286
384 x 576
1840 x 1360
1280 x 1024
1380 x 1024
P 1024 x 1024
I 1024 x 2048
> 1,200,000
> 1,200,000
280,000
25,000
25,000
100,000
280,000
600,000
600,000
50
50
64
8
8
9
18
60
60
> 16,000 : 1
> 16,000 : 1
4,400 : 1
3,125 : 1
3,125 : 1
11,000 : 1
15,500 : 1
10,000 : 1
10,000 : 1
Dark current, pixel, 25°C
-
e /s
32,000
32,000
7,400
10
10
210
210
21,000
21,000
FW / Dark current, 25°C
s
22
22
38
2500
2500
240
1,330
20
20
Quantum Efficiency, peak
%
42
42
17
50 (1)
50 (1)
34
32
40
40
Total electron capacity
be
-
132
264
700
33
36
105
315
-
FF 858 / FT
428
FF 93 / FT 47
6.6
13.2
160
11.8
12.8
10.5
18.9
FF 486 / FT
283
FF 58 / FT 29
Binning
vert.
vert.
hor., vert.
hor., vert.
hor., vert.
hor., vert.
hor., vert.
hor., vert
hor., vert
Antiblooming, x FW
1
1
> 1,000
> 1,000
> 1,000
200
200
1
1
16
8
7
1.5
1.5
2
2
FF 1.5; FT 3
FF 1; FT 2
2.2, 14 bit
2.2, 14 bit
12.5, 12 bit
2.2, 14 bit
2.2, 14 bit
2.2, 14 bit
2.2, 14 bit
2.2, 14 bit
2.2, 14 bit
Total noise electrons
Frame rate, full images/s
Scan rate, A/D conversion
ke
Hz
MHz
Abbildung 4: Daten verschiedener
CCD Detektoren - SC90
Quelle Theta
System
Elektronik
GmbH;
dieSC97/ph18
Spalte unter
085 beSIS – System
SC94
Camelia
SC99/085
SC99/205
SC97/ph1010
SC95/eev20
schreibt den Interline Transfer (IT) Detektor ICX085 der Fa. Sony.
THETA SYSTEM Elektronik GmbH
S. 14
SC95/eev30
A
Anhang A - Liste einiger nützlicher IDL Befehle und Programme
General commands
? displays extensive help window for a command
syntax
: ?command
example
:
example
:
IDL> ? mean
displays a new window with extensive help on the mean function
HELP displays information about a variable
syntax
: help, variable
IDL> a = 3 * 4
IDL> help, a
A
INT
=
12
PRINT displays data on the screen
syntax
: print,variable
example
:
IDL> a = 3 * 4
IDL> print, a
12
$ executes operation system command
syntax
: $command
example
:
IDL> $ds9 &
starts the fits-viewer program ds9
+, -, *, / fundamental calculations,
for an array the operations are carried out element-wise, therefore the arrays have be of the same
dimensions
syntax
: result = variable1 + variable2
example
:
IDL> image = (raw - dark) / flat
subtracts from each element in the array raw the value of the
corresponding element in the array dark, then divides again
each element of the resulting array by the corresponding element in the array flat
[*,*] extracts sub-array
syntax
: [x1:x2, y1:y2 ]
example
:
IDL> area = dark[150:200,350:400]
extracts form the array dark a 50 x 50 array, with the xcoordinates in the range 150 to 200 and the y-coordinates
from 350 to 400
14
Messung der Charakteristika einer CCD-Kamera
Data input & output
CD changes the active directory
syntax
: CD, newdirectory
example
:
IDL> cd, ”DATA”
IDL> $ls
changes to directory DATA and lists its content
read 1312() capture and read an image from the DVC 1312 camera
syntax
: v=read 1312()
example
:
IDL> dvcImage=read 1312()
IDL> atv, dvcImage
display captured image with the atv program
live 1312 capture and display images of the DVC1312 camera
syntax
: live 1312
example
:
IDL> live 1312
IDL> CTRL-C stops live 1312
capture and display images of the DVC1312 camera;
print statistical information of the acquired images
READFITS read data from fits files
syntax
: result = readfits(filename)
example
:
IDL> dark = readfits(’dark.fits’)
% READFITS: Now reading 1280 by 1024 array
reads the file dark.fits into the array dark
WRITEFITS writes data into a fits file
syntax
: writefits, filename, variable
example
:
IDL> writefits, ’dark.fits’, dark
writes the array dark into the file dark.fits
Data display
TV, TVSCL TV simply plots an array as an image, TVSCL scales the values of the image into the
range of the display output
syntax
: TV, array
TVSCL, array
example
:
IDL> tv, dark
plots the array dark as an image
Messung der Charakteristika einer CCD-Kamera
CONGRID expands or shrinks the size of an image by an arbitrary amount
syntax
: result = congrid(array, new x size, new y size)
example
:
IDL> zoom = congrid(dark[100:150,
200:250], 100, 150)
IDL> tvscl, zoom
extracts from the array dark a subarray with the dimensions
50 × 50, doubles its size in x-direction (now 100), triples it in
y-direction (now 150) and displays this scaled image
ATV a more sophisticated tool to display an array as an image
syntax : ATV, array
Statistical Analysis
MEAN calculate the mean value of an array
syntax
: result = mean(array)
example
:
IDL> mdark = mean(dark)
IDL> print, mdark
1002.324
calculates the mean value of the array dark and prints it
MEDIAN calculate the median value of an array
syntax
: result = median(array)
example
:
IDL> med dark = median(dark)
IDL> print, med dark
998.00
calculates the median value of the array dark and prints it
STDDEV calculate the standard-deviation of an array
syntax
: result = stddev(array)
example
:
IDL> noise = stddev(dark)
IDL> print, noise
109.020
calculates the standard-deviation of the array dark and prints
it
15
16
Messung der Charakteristika einer CCD-Kamera
PLOT, HISTOGRAM plot the histogram for the values of an array
syntax
: plot, histogram(array,
[min=lower
cut],
[max=upper cut], [binsize=binsize] )
example : IDL> plot, histogram(dark)
plots a simple histogram for the values in the array dark
IDL> plot, histogram(dark, min=1000,
max=2000, binsize=2)
plots a histogram for the elements with values between 1000
and 2000 in the array dark. The elements with values 1000
and 1001 are plotted at index 0
CAUTION: the numbers below the X-axis may be misleading. These numbers represent the number of the bin (starting
at 0) and NOT the value of the elements in the respective bin.
If e.g. you have an array with values peaked around 100 and
you plot a histogram with min=50 and max=150 your peak
will be at 50 and not at 100.
B
Anhang B - Front und Back Illuminated CCD-Detektoren
Front und Back Illuminated CCDs
CCDs (Charge Coupled Devices) für wissenschaftliche Anwendung mit großem Dynamikbereich, hoher
Empfindlichkeit und geringem Ausleserauschen gibt es
seit Ende der 80er Jahre. Sie haben weite Verbreitung
in der Spektroskopie und für bildgebende Systeme
(Imaging) gefunden.
Front Illuminated CCDs mit UV-Beschichtung
Immer wieder tauchen die Begriffe Front und Back
Illuminated CCD auf, dazu Bezeichnungen wie Open
Electrode und Deep Depletion. Worin unterscheiden
sich diese CCD-Arten? Was sind ihre Vor- und Nachteile? Welches CCDs ist für meine Anwendung am
besten geeignet?
Um ein Front Illuminated CCD für UV-Licht empfindlich zu machen, kann das CCD mit einem Leuchtstoff
beschichtet werden. Einfallende UV-Photonen regen
den Leuchtstoff zu Fluoreszenz im grünen Spektralbereich an, wo ein Front Illuminated CCD relativ
empfindlich ist. Mit dieser Methode lässt sich eine UVQuanteneffizienz von etwa 15 % erzielen. Ein Front
Illuminated CCD mit UV-Beschichtung kann bis zu einer
Wellenlänge von etwa 180 nm einge-setzt werden.
Licht kürzerer Wellenlänge wird vom Quarzeingangsfenster des CCD-Detektors absorbiert.
Front Illuminated CCDs
Die UV-Beschichtung eines Front Illuminated CCDs ist
allerdings nicht die beste Lösung:
●
electrode
structures
silicon
oxide
10 - 20 µm
1 pixel
Bulk silicon
●
●
nur geringe UV-Quanteneffizienz
hohe UV-Bestrahlung kann zu einer Schädigung der
Beschichtung führen
etwas höherer Preis
Eine bessere Alternative ist ein Open Electrode CCD.
Photons absorbed
below the sensitive
region will not form
part of the signal
500 µm
Ein Front Illuminated CCD besteht aus einem relativ
dicken Silizium-Wafer von ca. 500 µm. Die Elektrodenstruktur, die die Siliziumfläche in Pixel (Bildpunkte)
unterteilt, befindet sich auf der Frontseite. Andor
Technology, führender europäischer Hersteller von 16
Bit CCD-, ICCD- und EMCCD-Detektoren, verwendet
CCD-Chips, deren Pixel zwischen 13 µm x 13 µm und
26 µm x 26 µm groß sind.
Die lichtempfindliche Schicht hat lediglich eine Schichtdicke von etwa 10 µm - 20 µm. Langwelliges Infrarotlicht, das erst unterhalb dieser Schicht vom Silizium
absorbiert wird, trägt nicht zum detektierten Signal bei.
Licht mit einer Wellenlänge < 400 nm wird vom Elektrodenmaterial (polykristallines Silizium) absorbiert, so
dass Front Illuminated CCDs nicht für den UV-Bereich
geeignet sind, sondern nur für den visuellen und nahen
Infrarot Bereich. Front Illuminated CCDs erreichen eine
maximale Quanteneffizienz von etwa 45 % für rotes
Licht.
Quanteneffizienz (%)
Photons
Wellenlänge (nm)
Quanteneffizienz von CCDs bei -90°C:
FI = Front Illuminated
UV = Front Illuminated mit UV-Beschichtung
OE = Open Electrode
Eine Antireflektionsbeschichtung zur Verminderung der
Reflektionsverluste ist aufgrund der Elektrodenstruktur
nicht möglich.
Ihr Ansprechpartner: Olaf Koschützke. Tel.: +49 6151 8806 43. E-mail: [email protected]
1
LOT-Oriel Gruppe Europa. Im Tiefen See 58. D-64293 Darmstadt. Fax: +49 6151 896667. www.lot-oriel.com
Front und Back Illuminated CCDs
Open Electrode CCDs
Back Illuminated CCDs
Ein Open Electrode CCD ist im Prinzip ein Front
Illuminated CCD, allerdings bedecken die Elektroden
nur einen Teil jeden Pixels. Dadurch kann UV-Licht in
das Silizium eindringen und absorbiert werden. Dieses
CCD-Design erreicht eine Quanteneffizienz von etwa
10 % - 33 % im UV. Auch im visuellen Spektralbereich
und im nahen Infrarot ist die Quanteneffizienz besser
als die von Front Illuminated CCDs, da die lichtempfindliche Schicht etwas dicker ist.
Aus einem Front Illuminated CCD erhält man ein Back
Illuminated CCD, in dem man den Silizium-Wafer auf
eine Dicke von lediglich 10 µm – 20 µm schleift und
das CCD umgedreht betreibt. Die Elektroden befinden
sich damit auf der Rückseite des CCDs und absorbieren nicht mehr die UV-Strahlung. Um Reflexionsverluste
zu minimieren, werden Back Illuminated CCDs mit
Antireflexionsbeschichtungen versehen, die für verschiedene Spektralbereiche vom UV bis zum NIR optimiert
werden können. Dadurch werden Quanteneffizienzen
von über 90 % erreicht. Dies macht Back Illuminated
CCDs besonders geeignet für extrem lichtschwache Anwendungen, bei denen es auf jedes Photon
ankommt.
Beim Einsatz von Open Electrode CCDs sind zwei
Aspekte zu beachten, die jedoch in der Praxis kaum
eine Rolle spielen:
●
Die Kapazität des Pixels reduziert sich. Beträgt die
Sättigungsgrenze beim entsprechenden Front Illuminated CCD typisch 465.000 Elektronen, so sind
es beim Open Electrode CCD etwa 395.000 Elektronen. Werden alle Pixel einer Spalte zusammen
ausgelesen (Full Vertical Binning), so ist dies kein
Problem, da hierbei die Kapazität des Ausleseregisters, die etwa bei 1.000.000 Elektronen liegt,
entscheidend ist.
Verglichen mit Front Illuminated und Open Electrode
CCDs haben Back Illuminated CCDs jedoch auch
einige Nachteile:
●
●
●
Da die Elektrode nur einen Teil des einzelnen Pixels
bedeckt, ändert sich besonders für UV-Licht die
spektrale Empfindlichkeit entlang des Pixels. Dies
muss jedoch nur bei Anwendungen mit extrem hoher
spektraler Auflösung berücksichtigt werden, bei der
die Spektrallinien schmaler als die Pixelbreite von 26
µm sind.
In der Open Electrode Version ist nur ein CCD-Chip
mit 1024 x 255 Pixeln erhältlich, den Andor in den
spektroskopischen 16 Bit CCD-Detektoren DV420-OE,
DU420-OE, iDus DV420-OE und iDus DU420-OE
einsetzt.
●
Quanteneffizienz (%)
●
etwas größere Inhomogenitäten und höhere Anzahl
von defekten Pixeln aufgrund der zusätzlichen Fertigungsprozesse
Interferenzstrukturen im NIR-Bereich (Etaloning)
ca. 2-fach höherer Dunkelstrom bei gleicher CCDKühltemperatur
deutlich höherer Preis
Ein Open Electrode CCD-Chip ist die beste Wahl für
die Mehrzahl der spektroskopischen Anwendungen:
●
●
●
hohe Quanteneffizienz über einen breiten Spektralbereich von UV bis NIR
kein Etaloning
Preis günstiger als ein entsprechendes Front Illuminated CCD
Wellenlänge (nm)
Quanteneffizienz von Back Illuminated CCDs und Deep Depletion
CCDs (BR-DD) mit verschiedenen Antireflexionsbeschichtungen bei
-90°C
Aufgrund des Seitenverhältnisses von 4:1 sind die
CCD-Detektoren der 420-Serie für Imaging-Anwendungen nicht besonders geeignet.
Ihr Ansprechpartner: Olaf Koschützke. Tel.: +49 6151 8806 43. E-mail: [email protected]
2
LOT-Oriel Gruppe Europa. Im Tiefen See 58. D-64293 Darmstadt. Fax: +49 6151 896667. www.lot-oriel.com
Front und Back Illuminated CCDs
Deep Depletion CCDs
Deep Depletion CCDs verwenden ein spezielles Silizium mit hohem Widerstand und hoher Dotierung. Die
lichtempfindliche Schicht ist dadurch dicker und die
Empfindlichkeit für NIR-Strahlung höher. Back Illuminated Deep Depletion CCDs haben eine bis zu einem
Faktor 2 höhere NIR-Quanteneffizienz als herkömmliche Back Illuminated CCDs und sind die empfindlichsten CCDs für den NIR-Bereich. (Front Illuminated Deep
Depletion CCDs haben im NIR nur eine geringfügig
höhere Quanteneffizienz als Open Electrode CCDs.
Wegen des deutlich höheren Preises, werden sie praktisch nicht eingesetzt.)
Ein großer Nachteil von Back Illuminated Deep Depletion CCDs ist, dass sie nicht im MPP-Modus (Multi
Phase Pinned) betrieben werden können, der zu einem
sehr niedrigen Dunkelstrom führt. Um einen vergleichbaren Dunkelstrom zu erzielen ist daher eine ca. 35°C
bis 55°C tiefere Kühltemperatur notwendig. Da Deep
Depletion CCDs die breiteste lichtempfindliche Schicht
haben, leiden sie zudem mehr unter der Sättigung von
einzelnen Pixeln durch kosmischen Höhenstrahlung.
Etaloning tritt bei Back Illuminated Deep Depletion
CCDs von Andor praktisch nicht auf. Ausführliche
Informationen hierzu finden Sie hier: Deep Depletion
CCD-Detektor, Artikel (öffnet neues PDF).
Back Illuminated Deep Depletion CCDs gibt es für die
401-Serie (1024 x 128 Pixel), die 420-Serie (1024 x
255 Pixel) und die 432-Serie (1250 x 1152 Pixel).
Übrigens sind Back Illuminated Deep Depletion CCDs
auch für den Röntgenbereich bei direktem Nachweis
sehr interessant, da sie eine höhere Absorptionswahrscheinlicht für hochenergetische Röntgenquanten bis
ca. 30 keV und eine längere Lebensdauer als „normale“ Back Illuminated oder Front Illuminated CCDs
haben.
Ihr Ansprechpartner: Olaf Koschützke. Tel.: +49 6151 8806 43. E-mail: [email protected]
3
LOT-Oriel Gruppe Europa. Im Tiefen See 58. D-64293 Darmstadt. Fax: +49 6151 896667. www.lot-oriel.com
C
Anhang C - Measuring the Gain of a CCD Camera
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 1 of 9
Measuring the Gain of a CCD Camera
Michael Newberry
Axiom Research, Inc.
Copyright © 1998-2000. All Rights Reserved.
1. Introduction
The gain of a CCD camera is the conversion between the number of electrons ("e-") recorded
by the CCD and the number of digital units ("counts") contained in the CCD image. It is
useful to know this conversion for evaluating the performance of the CCD camera. Since
quantities in the CCD image can only be measured in units of counts, knowing the gain
permits the calculation of quantities such as readout noise and full well capacity in the
fundamental units of electrons. The gain value is required by some types of image deconvolution such as Maximum Entropy since, in order to do properly the statistical part of
the calculation, the processing needs to convert the image into units of electrons. Calibrating
the gain is also useful for detecting electronic problems in a CCD camera, including gain
change at high or low signal level, and the existence of unexpected noise sources.
This Axiom Tech Note develops the mathematical theory behind the gain calculation and
shows how the mathematics suggests ways to measure the gain accurately. This note does
not address the issues of basic image processing or CCD camera operation, and a basic
understanding of CCD bias, dark and flat field correction is assumed. Developing the
mathematical background involves some algebra, and readers who do not wish to read
through the algebra may wish to skip Section 3.
2. Overview
The gain value is set by the electronics that read out the CCD chip. Gain is expressed in
units of electrons per count. For example, a gain of 1.8 e-/count means that the camera
produces 1 count for every 1.8 recorded electrons. Of course, we cannot split electrons into
fractional parts, as in the case for a gain of 1.8 e-/count. What this number means is that 4/5
of the time 1 count is produced from 2 electrons, and 1/5 of the time 1 count is produced from
1 electron. This number is an average conversion ratio, based on changing large numbers of
electrons into large numbers of counts. Note: This use of the term "gain" is in the opposite
sense to the way a circuit designer would use the term since, in electronic design, gain is
considered to be an increase in the number of output units compared with the number of
input units.
It is important to note that every measurement you make in a CCD image uses units of
counts. Since one camera may use a different gain than another camera, count units do not
provide a straightforward comparison to be made. For example, suppose two cameras each
record 24 electrons in a certain pixel. If the gain of the first camera is 2.0 and the gain of the
second camera is 8.0, the same pixel would measure 12 counts in the image from the first
camera and 3 counts in the image from the second camera. Without knowing the gain,
comparing 12 counts against 3 counts is pretty meaningless.
Before a camera is assembled, the manufacturer can use the nominal tolerances of the
electronic components to estimate the gain to within some level of uncertainty. This
calculation is based on resistor values used in the gain stage of the CCD readout electronics.
However, since the actual resistance is subject to component tolerances, the gain of the
assembled camera may be quite different from this estimate. The actual gain can only be
determined by actual performance in a gain calibration test. In addition, manufacturers
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 2 of 9
sometimes do not perform an adequate gain measurement. Because of these issues, it is not
unusual to find that the gain of a CCD camera differs substantially from the value quoted by
the manufacturer.
3. Mathematical Background
The signal recorded by a CCD and its conversion from units of electrons to counts can be
mathematically described in a straightforward way. Understanding the mathematics
validates the gain calculation technique described in the next section, and it shows why
simpler techniques fail to give the correct answer.
This derivation uses the concepts of "signal" and "noise". CCD performance is usually
described in terms of signal to noise ratio, or "S/N", but we shall deal with them separately
here. The signal is defined as the quantity of information you measure in the image— in
other words, the signal is the number of electrons recorded by the CCD or the number of
counts present in the CCD image. The noise is the uncertainty in the signal. Since the
photons recorded by the CCD arrive in random packets (courtesy of nature), observing the
same source many times records a different number of electrons every time. This variation is
a random error, or "noise" that is added to the true signal. You measure the gain of the CCD
by comparing the signal level to the amount of variation in the signal. This works because
the relationship between counts and electrons is different for the signal and the variance.
There are two ways to make this measurement:
1. Measure the signal and variation within the same region of pixels at many intensity
levels.
2. Measure the signal and variation in a single pixel at many intensity levels.
Both of these methods are detailed in section 6. They have the same mathematical
foundation.
To derive the relationship between signal and variance in a CCD image, let us define the
following quantities:
SC
The signal measured in count units in the CCD image
SE
The signal recorded in electron units by the CCD chip. This
quantity is unknown.
NC
The total noise measured in count units in the CCD image.
NE
The total noise in terms of recorded electrons. This quantity is
unknown.
g
The gain, in units of electrons per count. This will be calculated.
RE
The readout noise of the CCD chip, measured in electrons. This
quantity is unknown.
?
E
The photon noise in the signal NE
?
o
An additional noise source in the image. This is described below.
We need an equation to relate the number of electrons, which is unknown, to quantities we
measure in the CCD image in units of counts. The signals and noises are simply related
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 3 of 9
through the gain factor as
and
These can be inverted to give
and
The noise is contributed by various sources. We consider these to be readout noise, RE,
photon noise attributable to the nature of light,
, and some additional noise,
, which
will be shown to be important in Section 5. Remembering that the different noise sources are
independent of each other, they add in quadrature. This means that they add as the square
their noise values. If we could measure the total noise in units of electrons, the various noise
sources would combine in the following way:
The random arrival rate of photons controls the photon noise,
.
Photon noise obeys the
laws of Poissonian statistics, which makes the square of the noise equal to the signal, or
. Therefore, we can make the following substitution:
.
Knowing how the gain relates units of electrons and counts, we can modify this equation to
read as follows:
which then gives
We can rearrange this to get the final equation:
This is the equation of a line in which
The extra terms
is the y axis,
is the x axis, and the slope is 1/g.
are grouped together for the time being. Below, they will be
separated, as the extra noise term has a profound effect on the method we use to measure
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
gain. A better way to apply this equation is to plot our measurements with
and
Page 4 of 9
as the y axis
as the x axis, as this gives the gain directly as the slope. Theoretically, at least, one
could also calculate the readout noise,
, from the point where the line hits the y axis at
= 0. Knowing the gain then allows this to be converted to a Readout Noise in the
standard units of electrons. However, finding the intercept of the line is not a good method,
because the readout noise is a relatively small quantity and the exact path where the line
passes through the y axis is subject to much uncertainty.
With the mathematics in place, we are now ready to calculate the gain. So far, I have
ignored the "extra noise term",
. In the next 2 sections, I will describe the nature of the
extra noise term and show how it affects the way we measure the gain of a CCD camera.
4. Crude Estimation of the Gain
In the previous section we derived the complete equation that relates the signal and the
noise you measure in a CCD image. One popular method for measuring the gain is very
simple, but it is not based on the full equation I have derived above. The simple can be
described as follows:
1. Obtain images at different signal levels and subtract the bias from them. This is
necessary because the bias level adds to the measured signal but does not contribute
noise.
2. Measure the signal and noise in each image. The mean and standard deviation of a
region of pixels give these quantities. Square the noise value to get a variance at
each signal level.
3. For each image, plot Signal on the y axis against Variance on the x axis.
4. Find the slope of a line through the points. The gain equals the slope.
Is measuring the gain actually this simple? Well, yes and no. If we actually make the
measurement over a substantial range of signal, the data points will follow a curve rather
than a line. Using the present method we will always measure a slope that is too shallow,
and with it we will always underestimate the gain. Using only low signal levels, this method
can give a gain value that is at least "in the ballpark" of the true value. At low signal levels,
the curvature is not apparent, though present. However, the data points have some amount
of scatter themselves, and without a long baseline of signal, the slope might not be well
determined. The curvature in the Signal - Variance plot is caused by the extra noise term
which this simple method neglects.
The following factors affect the amount of curvature we obtain:
• The color of the light source.
Blue light is worse because CCD’s show the greatest surface irregularity at shorter
wavelengths. These irregularities are described in Section 5.
• The fabrication technology of the CCD chip.
These issues determine the relative strength of the effects described in item 1.
• The uniformity of illumination on the CCD chip.
If the Illumination is not uniform, then the sloping count level inside the pixel region
used to measure it inflates the measured standard deviation.
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 5 of 9
Fortunately, we can obtain the proper value by doing just a bit more work. We need to
change the experiment in a way that makes the data plot as a straight line. We have to
devise a way to account for the extra noise term,
. If
were a constant value we
could combine it with the constant readout noise. We have not talked in detail about readout
noise, but we have assumed that it merges together all constant noise sources that do not
change with the signal level.
5. Origin of the Extra Noise Term in the Signal - Variance Relationship
The mysterious extra noise term,
, is attributable to pixel-to-pixel variations in the
sensitivity of the CCD, known as the flat field effect. The flat field effect produces a pattern
of apparently "random" scatter in a CCD image. Even an exposure with infinite signal to
noise ratio ("S/N") shows the flat field pattern. Despite its appearance, the pattern is not
actually random because it repeats from one image to another. Changing the color of the
light source changes the details of the pattern, but the pattern remains the same for all
images exposed to light of the same spectral makeup. The importance of this effect is that,
although the flat field variation is not a true noise, unless it is removed from the image it
contributes to the noise you actually measure.
We need to characterize the noise contributed by the flat field pattern in order to determine
its effect on the variance we measure in the image. This turns out to be quite simple: Since
the flat field pattern is a fixed percentage of the signal, the standard deviation, or "noise"
you measure from it is always proportional to the signal. For example, a pixel might be 1%
less sensitive than its left neighbor, but 3% less sensitive than its right neighbor. Therefore,
exposing this pixel at the 100 count level produces the following 3 signals: 101, 100, 103.
However, exposing at the 10,000 count level gives these results: 10,100, 10,000, 10,300. The
standard deviation for these 3 pixels is
counts for the low signal case but is
counts for the high signal case. Thus the standard deviation is 100 times larger
when the signal is also 100 times larger. We can express this proportionality between the
flat field "noise" and the signal level in a simple mathematical way:
In the present example, we have k=0.02333. Substituting this expression for the flat field
variation into our master equation, we get the following result:
With a simple rearrangement of the terms, this reveals a nice quadratic function of signal:
When plotted with the Signal on the x axis, this equation describes a parabola that opens
upward. Since the Signal - Variance plot is actually plotted with Signal on the y axis, we
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 6 of 9
need to invert this equation to solve for S C:
This final equation describes the classic Signal - Variance plot. In this form, the equation
describes a family of horizontal parabolas that open toward the right. The strength of the
flat field variation, k, determines the curvature. When k = 0, the curvature goes away and it
gives the straight line relationship we desire. The curvature to the right of the line means
that the stronger the flat field pattern, the more the variance is inflated at a given signal
level. This result shows that it is impossible to accurately determine the gain from a Signal Variance plot unless we know one of two things: Either 1) we know the value of k, or 2) we
setup our measurements to avoid flat field effects. Option 2 is the correct strategy.
Essentially, the weakness of the method described in Section 4 is that it assumes that a
straight line relationship exists but ignores flat field effects.
To illustrate the effect of flat field variations, mathematical models were constructed using
the equation above with parameters typical of commonly available CCD cameras. These
include readout noise RE = 15e- and gain g = 2.0 e- / Count. Three models were constructed
with flat field parameters k = 0, k = 0.005, and k = 0.01. Flat field variations of this order are
not uncommon. These models are shown in the figure below.
Increasing values of k correspond to progressively larger flat field irregularities in the CCD
chip. The amplitude of flat field effects, k, tends to increase with shorter wavelength,
particularly with thinned CCD's (this is why Section 4 recommends using a redder light
source to illuminate the CCD). The flat field pattern is present in every image exposed to
light. Clearly, it can be seen from the models that if one simply obtains images at different
signal levels and measures the variance in them, then fitting a line through any part of the
curve yields a slope lower than its true value. Thus the simple method of section 4 always
underestimates the gain.
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 7 of 9
The best strategy for doing the Signal - Variance method is to find a way to produce a
straight line by properly compensating for flat field effects. This is important by the "virtue
of straightness": Deviation from a straight line is completely unambiguous and easy to
detect. It avoids the issue of how much curvature is attributable to what cause. The
electronic design of a CCD camera is quite complex, and problems can occur, such as gain
change at different signal levels or unexplained extra noise at high or low signal levels.
Using a "robust" method for calculating gain, any significant deviation from a line is a
diagnostic of possible problems in the camera electronics. Two such methods are described in
the following section.
6. Robust Methods for Measuring Gain
In previous sections, the so-called simple method of estimating the gain was shown to be an
oversimplification. Specifically, it produces a Signal - Variance plot with a curved
relationship resulting from flat field effects. This section presents two robust methods that
correct the flat field effects in the Signal - Variance relationship to yield the desired straightline relationship. This permits an accurate gain value to be calculated. Adjusting the method
to remove flat field effects is a better strategy than either to attempt to use a low signal level
where flat field effects are believed not to be important or to attempt to measure and
compensate for the flat field parameter k.
When applying the robust methods described below, one must consider some procedural
issues that apply to both:
• Both methods measure sets of 2 or more images at each signal level. An image set is
defined as 2 or more successive images taken under the same illumination
conditions. To obtain various signal levels, it is better to change the intensity
received by the CCD than to change the exposure time. This may be achieved either
by varying the light source intensity or by altering the amount of light passing into
the camera. The illumination received by the CCD should not vary too much within a
set of images, but it does not have to be truly constant.
• Cool the CCD camera to reduce the dark current to as low as possible. This prevents
you from having to subtract dark frames from the images (doing so adds noise, which
adversely affects the noise measurements at low signal level). In addition, if the bias
varies from one frame to another, be sure to subtract a bias value from every image.
• The CCD should be illuminated the same way for all images within a set.
Irregularities in illumination within a set are automatically removed by the image
processing methods used in the calibration. It does not matter if the illumination
pattern changes when you change the intensity level for a different image set.
• Within an image set, variation in the light intensity is corrected by normalizing the
images so that they have the same average signal within the same pixel region. The
process of normalizing multiplies the image by an appropriate constant value so that
its mean value within the pixel region matches that of other images in the same set.
Multiplying by a constant value does not affect the signal to noise ratio or the flat
field structure of the image.
• Do not estimate the CCD camera's readout noise by calculating the noise value at
zero signal. This is the square root of the variance where the gain line intercepts the
y axis. Especially do not use this value if bias is not subtracted from every frame. To
calculate the readout noise, use the "Two Bias" method and apply the gain value
determined from this test. In the Two Bias Method, 2 bias frames are taken in
succession and then subtracted from each other. Measure the standard deviation
inside a region of, say 100x100 pixels and divide by 1.4142. This gives the readout
noise in units of counts. Multiply this by the gain factor to get the Readout Noise in
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 8 of 9
units of electrons. If bias frames are not available, cool the camera and obtain two
dark frames of minimum exposure, then apply the Two Bias Method to them.
A. METHOD 1: Correct the flat field effects at each signal level
In this strategy, the flat field effects are removed by subtracting one image from
another at each signal level. Here is the recipe:
For each intensity level, do the following:
1. Obtain 2 images in succession at the same light level. Call these images A
and B.
2. Subtract the bias level from both images. Keep the exposure short so that the
dark current is negligibly small. If the dark current is large, you should also
remove it from both frames.
3. Measure the mean signal level S in a region of pixels on images A and B. Call
these mean signals S A and S B. It is best if the bounds of the region change as
little as possible from one image to the next. The region might be as small as
50x50 to 100x100 pixels but should not contain obvious defects such as
cosmic ray hits, dead pixels, etc.
4. Calculate the ratio of the mean signal levels as r = S A / S B.
5. Multiply image B by the number r. This corrects image B to the same signal
level as image A without affecting its noise structure or flat field variation.
6. Subtract image B from image A. The flat field effects present in both images
should be cancelled to within the random errors.
7. Measure the standard deviation over the same pixel region you used in step
3. Square this number to get the Variance. In addition, divide the resulting
variance by 2.0 to correct for the fact that the variance is doubled when you
subtract one similar image from another.
8. Use the Signal from step 3 and the Variance from step 7 to add a data point
to your Signal - Variance plot.
9. Change the light intensity and repeat steps 1 through 8.
B. METHOD 2: Avoid flat field effects using one pixel in many images.
This strategy avoids the flat field variation by considering how a single pixel varies
among many images. Since the variance is calculated from a single pixel many times,
rather than from a collection of different pixels, there is no flat field variation.
To calculate the variance at a given signal level, you obtain many frames, measure
the same pixel in each frame, and calculate the variance among this set of values.
One problem with this method is that the variance itself is subject to random errors
and is only an estimate of the true value. To obtain a reliable variance, you must use
100’s of images at each intensity level. This is completely analogous to measuring
the variance over a moderate sized pixel region in Method A; in both methods, using
many pixels to compute the variance gives a more statistically sound value. Another
limitation of this method is that it either requires a perfectly stable light source or
you have to compensate for light source variation by adjusting each image to the
same average signal level before measuring its pixel. Altogether, the method
requires a large number of images and a lot of processing. For this reason, Method A
is preferred. In any case, here is the recipe:
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Axiom Tech Note 1. Measuring the Gain of a CCD Camera
Page 9 of 9
Select a pixel to measure at the same location in every image. Always measure the
same pixel in every image at every signal level.
For each intensity level, do the following:
1. Obtain at least 100 images in succession at the same light level. Call the first
image A and the remaining images i. Since you are interested in a single
pixel, the images may be small, of order 100x100 pixels.
2. Subtract the bias level from each image. Keep the exposure short so that the
dark current is negligibly small. If the dark current is large, you should also
remove it from every frame.
3. Measure the mean signal level S in a rectangular region of pixels on image A.
Measure the same quantity in each of the remaining images. The measuring
region might be as small as 50x50 to 100x100 pixels and should be centered
on the brightest part of the image.
4. For each image S i other than the first, calculate the ratio of its mean signal
level to that of image A. This gives a number for each image, ri = S A / S i.
5. Multiply each image i by the number ri. This corrects each image to the same
average intensity as image A.
6. Measure the number of counts in the selected pixel in every one of the
images. From these numbers, compute a mean count and standard deviation.
Square the standard deviation to get the variance.
7. Use the Signal and Variance from step 6 to add a data point to your Signal Variance plot.
8. Change the light intensity and repeat steps 1 through 7.
7. Summary
In Section 3 we derived the mathematical relationship between Signal and Variance in a
CCD image. The resulting equation includes flat field effects that are later shown to weaken
the validity of the gain unless they are compensated. Section 4 describes a simple, commonly
employed method for estimating the gain of a CCD camera. This method does not
compensate for flat field effects and can lead to large errors in the gain calculation. The
weakness of this method is described and mathematically modeled in section 5. In Section 6,
two methods are proscribed for eliminating the flat field problem. Method A, which removes
the flat field effect by subtracting two images at each signal level requires far less image
processing effort and is the preferred choice.
Copyright © 1998-2000 Axiom Research, Inc. All Rights Reserved.
Skript zum Versuch F36 Teil II
„Wellenfrontanalyse mit einem Shack-Hartmann-Sensor“
des Fortgeschrittenen-Praktikums II der Universität Heidelberg für Physiker
Aufbau eines Shack-Hartmann Wellenfrontsensors. Messung einfacher optischer
Aberrationen. Wellenfrontrekonstruktion mit Hilfe von Zernike-Funktionen.
Heidelberg, Oktober 2006
Dr. Stefan Hippler, Dr. Wolfgang Brandner, Prof. Dr. Thomas Henning
Einleitung und Motivation: Der Einfluss der Atmosphäre auf die Bildqualität
eines Teleskops
Betrachtet man den Sternenhimmel mit dem bloßen Auge, so fällt in erster Linie das Funkeln der
Sterne, die Szintillation, auf. Dieser Effekt wird durch die atmosphärischen Turbulenzen verursacht,
die dafür sorgen, dass ständig kalte und warme Luftschichten vermischt werden. Die
Temperaturabhängigkeit des Brechungsindexes der Luft führt zu einer, wenn auch sehr schwachen,
optischen Inhomogenität. Dadurch zerfällt die Atmosphäre in viele zufällig verteilte Turbulenzzellen
mit Durchmessern von 10 bis 20 cm, die wie schwache Linsen wirken. Durch ihre lichtsammelnde
Wirkung sorgen sie in Bodennähe für Intensitätsschwankungen über Bereiche von einigen Zentimetern.
Beim Beobachten mit einem Teleskop von mehreren Metern Durchmesser machen sich die
Turbulenzen weniger durch Intensitätsschwankungen als durch die granulationsartige Struktur
(Speckles) der Bilder von Einzelsternen störend bemerkbar. Da von der Teleskopapertur viele dieser
Turbulenzzellen gleichzeitig erfasst werden, zersplittert das Bild in viele zufällig verteilte Einzelbilder,
die Speckles. Die Zahl der Speckles entspricht ungefähr der Anzahl der Turbulenzzellen in der
Teleskopapertur, und die Größe des verspecklelten Sternbildes beträgt unter guten atmosphärischen
Bedingungen ungefähr eine Bogensekunde.
Die Form und die Lage der Specklebilder ändern sich in Abhängigkeit davon, wie schnell die
Turbulenzen vor der Teleskopapertur vorbeiziehen. Im Allgemeinen muss die Belichtungszeit kleiner
als 1/10 Sekunde sein, um ein „scharfes“ Specklebild zu sehen. Werden mehrere Aufnahmen mit
kurzer Belichtungszeit wie in einem Film aneinandergereiht, so sieht man die zeitliche Veränderung
der Turbulenzen als „Wimmelbewegung“ der einzelnen Speckles und als seitliches Hin- und
Herwandern des Sternbildes. Bei Belichtungszeiten von einigen Sekunden tragen beide Effekte zum
Verschmieren des Specklebildes bei, und es entsteht ein gleichmäßig ausgeleuchtetes Bildscheibchen,
dessen Halbwertsbreite (englisch: Full Width Half Maximum, FWHM) in der Fachsprache als Seeing
bezeichnet wird. Je nach Beobachtungsstandort und meteorologischen Bedingungen beträgt das Seeing
0.5 bis 2.5 Bogensekunden.
Die Definition des Auflösungsvermögens eines Teleskops kann verwendet werden, um einen
Zusammenhang zwischen dem Seeing und der Größe der Turbulenzzellen herzustellen. Es ist
"=
#
[Radian]
D
das beugungsbegrenzte Auflösungsvermögen eines Teleskops mit dem Durchmesser D bei der
Wellenlänge λ. Im Sichtbaren, bei einer Wellenlänge von 500 nm, hat z.B. ein 3.5-m-Teleskop ein
theoretisches Auflösungsvermögen von 1.43E-7 rad oder ca. 0.03 Bogensekunden, d.h. zwei
punktförmige Sterne, die 0.03 Bogensekunden voneinander entfernt sind, könnten gerade noch als
Einzelsterne wahrgenommen
! werden. Das durch das Seeing begrenzte Auflösungsvermögen von 1
Bogensekunde entspricht einem fiktiven Teleskopdurchmesser von 10 cm; das ist gerade die Größe der
Turbulenzzellen.
Im Rahmen der Beschreibung der Turbulenz als statistischem Phänomen spricht man anstatt von
Turbulenzzellen von der Korrelationslänge r0, die nach einem amerikanischen Physiker auch FriedParameter genannt wird. Diese Größe bezeichnet den Durchmesser der Wellenfront, über den die
Wellenfrontstörung, d.h. die Abweichung von der ebenen Welle, vernachlässigbar
(Standardabweichung < 1 rad) ist. Daher ist das anschauliche Bild von Turbulenzzellen mit dem
Skript zum Versuch F36 Teil II
Seite 2 von 6
Durchmesser r0, innerhalb derer sich das Licht ungestört ausbreiten kann, durchaus zutreffend. Je
größer die Korrelationslänge wird, je mehr sich also r0 dem Teleskopdurchmesser D annähert, desto
näher kommt das Auflösungsvermögen der Beugungsgrenze " .
Die Wellenfront kann man sich als von den Turbulenzen geschaffene Berg- und Tallandschaft
vorstellen, deren typischer Höhenunterschied wellenlängenunabängig im Bereich von 3-6 µm liegt.
Für die Bildqualität relevant ist das Verhältnis der Abweichung der Wellenfront
von der ebenen Welle
!
zur Beobachtungswellenlänge; ein Zahlenwert von 3-6 µm ist zum Beispiel bei einer Wellenlänge von
10 µm ein relativ unbedeutender Wert von 0.3 bis 0.6 Wellenlängen; im Sichtbaren bei einer
Wellenlänge von 0.5 µm dagegen beträgt die Abweichung 6-12 Wellenlängen. Eine Formel für die
Korrelationslänge r0 beschreibt diesen Effekt quantitativ. Es gilt r0 ~ λ6/5, d.h. der Bereich, über den die
Wellenfrontstörung vernachlässigbar ist, wächst mit der Wellenlänge. Ein r0 von typischerweise 10 cm
bei 0.5 µm ist dann gleich bedeutend mit einem r0 von 360 cm bei 10 µm!
Die Specklebilder bei 0.5 µm und bei 10 µm sehen dementsprechend bei identischen atmosphärischen
Bedingungen völlig verschieden aus (siehe Abbildung 1). An einem 3.5-m-Teleskop hat man im
Sichtbaren bei 0.5 µm eine Wolke von (D/r0)2 ≈ 1000 Speckles, die sich in einer wilden
Wimmelbewegung befinden und deren Einhüllende eine Halbwertsbreite von 1 Bogensekunde hat.
Jedes Speckle hat die Größe des Beugungsscheibchen des Teleskops, also 0.036 Bogensekunden. Im
Infraroten bei 10 µm gibt es dagegen nur ein einziges Speckle mit einer Halbwertsbreite von 0.6
Bogensekunden, der Größe des Beugungsscheibchens bei 10 µm, da r0 größer als der
Teleskopdurchmesser D ist. Der einzige Effekt der Turbulenz besteht darin, dass das Bild relativ
langsam hin- und herwandert.
Abbildung 1: Für identische atmosphärische Bedingungen an einem 3.5-m-Teleskop
simulierte Sternbilder bei 0.5 µm (links) und bei 10 µm (rechts). Während bei 0.5 µm ein
Specklebild mit ungefähr 1000 Einzelspeckles und einer Einhüllenden von einer
Bogensekunde vorliegt, sieht man bei 10 µm jetzt schon das Beugungsscheibchen mit nur
leicht deformierten Beugungsringen.
Anhand dieses Zahlenbeispiels bekommt man bereits einen Eindruck davon, wie verschieden die
Anforderungen an eine adaptive Optik (AO) bei 0.5 µm und bei 10 µm sind. Während es bei 10 µm
ausreicht, die Bildbewegung einzufrieren, um ein beugungsbegrenztes Bild zu erzeugen, müssen bei
0.5 µm alle 1000 Speckles mit Hilfe eines deformierbaren Spiegels in einem einzigen
Beugungsscheibchen vereint werden, um die physikalisch mögliche Abbildungsleistung des Teleskops
zu erreichen. Wegen der technischen Anforderungen an ein adaptives Optik-System im sichtbaren
Spektralbereich beschränkt man sich meist darauf, im nahen Infraroten bei 1-2 µm zu beobachten, wo
mit der kleineren Zahl von 50-200 Speckles auch die Anforderungen geringer sind.
2
Skript zum Versuch F36 Teil II
Seite 3 von 6
Wellenfronten Messen und Korrigieren: Die Komponenten einer Adaptiven
Optik
Eine Adaptive Optik enthält in der Regel einen Tip/tilt Spiegel und einen verformbaren/deformierbaren
Spiegel (deformable mirror), welche die atmosphärischen Wellenfrontdeformationen fortwährend
ausgleichen. Die verbleibenden Deformationen werden mit einem Wellenfrontsensor (wavefront
sensor) gemessen. Eine Regelkreis-Elektronik (control system, real-time computer) setzt die Signale
des Wellenfrontsensors in Steuersignale für das aktive Element um. Ein Teil des Lichts wird
ausgekoppelt und der Beobachtung zugeführt, was in der Regel eine Infrarot-Kamera ist.
Abbildung 2 zeigt ein Schema eines Adaptiven Optik Systems in der Astronomie und deren
Komponenten. Es gibt eine Reihe von Methoden, um diese Störungen zu messen. Die am weitesten
verbreiteten in der Astronomie sind "Curvature wavefront sensing" und die Wellenfrontanalyse nach
dem Shack-Hartmann Prinzip.
Abbildung 2: Schematische Darstellung einer Adaptiven Optik in der Astronomie
Wellenfrontmessungen mit dem Shack-Hartmann-Sensor
Das Shack-Hartmann Prinzip soll nun kurz hier erläutert werden. Die Öffnung eines Teleskops wird
mittels einer Mikro-Linsen-Maske in Unteraperturen (Subaperturen) unterteilt. In jeder Subapertur wird
die relative Position eines Sterns - und somit die lokale Wellenfront-Verkippung - gemessen. Hieraus
lässt sich die Deformation der Lichtwelle bestimmen.
Eine Anordnung von Mikrolinsen unterteilt die Apertur des zu messenden Lichtstrahls in Subaperturen.
Jede Linse erzeugt einen Fokalpunkt im Abstand der Fokallänge der Linse. Bei einer lokalen
Verkippung der Wellenfront innerhalb der Subapertur erfolgt eine Verschiebung des Fokalpunktes aus
der Position x1 nach x2 um den Betrag !x . In erster Näherung ist diese Verschiebung genau
proportional der Verkippung der Wellenfront innerhalb der Linse.
3
Skript zum Versuch F36 Teil II
Seite 4 von 6
Abb. 3 zeigt diese Verschiebung. Ein Shack-Hartmann-Wellenfrontsensor erfasst diese Verschiebung
und schließt dadurch auf das Maß der Verkippung der Wellenfront innerhalb der Linse. Nach
entsprechender Detektion einer zweidimensionalen Matrix von Fokalpunkt-Verschiebungen kann die
komplette Wellenfront rekonstruiert werden. Mögliche Fehler bei der Rekonstruktion der WellenfrontVerkippung innerhalb einer Linse entstehen dabei durch die Unsicherheiten in der Bestimmung der
Fokalpunkt-Verschiebung. Die Bestimmung der Verschiebung wird im Folgenden genauer betrachtet.
Abbildung 3: Schematische Darstellung des Shack-Hartmann Messprinzips
Nach den Vereinfachungen der Paraxial-Optik kann der folgende eindimensionale Zusammenhang
definiert werden:
"x = f#
Dabei ist " der Kippwinkel in Radian (tilt) der Wellenfront über eine Mikro-Linse, !x die
Verschiebung des Fokalpunkts auf dem CCD-Detektor (Gradient). Im Praktikumsversuch sitzt
zwischen dem Linsenarray mit der Brennweite f=45mm noch eine so genannte Relay-Optik (Apo!
Rodagon-N f/2.8 mit 50mm Brennweite),
welche die Brennebene der Mikrolinsen auf den CCD!Detektor abbildet und dabei zusätzlich eine optische Vergrößerung / Verkleinerung M bewirkt. Das im
Praktikum verwendete Mikrolinsenarray hat einen Durchmesser von 5mm und besitzt 28 Mikrolinsen,
die in zwei Ringen (Keystone Anordnung) angeordnet sind. Der horizontale Abstand zweier
benachbarter Mikrolinsen beträgt ca. dsub=714µm ist also in etwa gleich dem Durchmesser einer
Subapertur. Ein Pixel des CCD-Detektors hat eine Größe von 6.7µm x 6.7µm. Mit diesen Angaben
kann die Vergrößerung M der Optik bestimmt werden. Für die optische Weglängendifferenz OPD gilt:
OPD = "dsub
Damit ergibt sich im eindimensionalen Fall ein einfacher Zusammenhang zwischen der Messgröße des
Shack-Hartmann-Sensors, dem Gradienten (Slope) !x , und der Steigung der Wellenfront über die
Subapertur bzw. der optischen Weglängendifferenz OPD in Einheiten der benutzten Wellenlänge "
!
zu:
"x =
f # M # $ # OPD
dsub
!
Der Shack-Hartmann-Sensor verwendet zur Rekonstruktion der Wellenfront mehrere Linsen, die in der
Regel äquidistant in einer zweidimensionalen lateralen Anordnung im Detektor-Strahlengang
angebracht werden. Dieses!
Linsenarray erzeugt eine Matrix von Fokalpunkten. Die Verschiebung jedes
Fokalpunkts ist ein Maß für die Verkippung der Wellenfront innerhalb der zugehörigen Linse, und aus
den Messungen der einzelnen Verschiebungen lässt sich anhand eines Näherungsalgorithmus die
gesamte Wellenfront annähern.
4
Skript zum Versuch F36 Teil II
Seite 5 von 6
Zur Detektion der Abbildungen eines Shack-Hartmann Linsenarrays setzt man meist eine CCD ein. Für
die Detektion der Aufnahme jeder einzelnen Subapertur benötigt man einen quadratischen Ausschnitt
von mindestens 2 x 2 Pixeln. Um optische Übersprechen (engl. Crosstalk) zwischen den Subaperturen
zu vermeiden, wird zwischen die Subaperturen ein Sicherheitsabstand von mindestens ein Pixel Breite
eingebracht. Nach diesem Prinzip arbeiten manche Shack-Hartmann-Systeme mit 3 x 3 Pixeln pro
Subapertur. Eine gängige Alternative sind 4 x 4 bis 8 x 8 Pixel pro Subapertur (z.B. Starfire Optical
Range, Adaptive Optik des Calar Alto ALFA Systems).
Je größer die Pixelzahl, desto dynamischer ist der Wellenfrontsensor (d.h. stärkere Verkippungen
können gemessen werden) und die Objekte dürfen eine größere Ausdehnung besitzen. Jedoch ist dies
mit stärkerem Rauschen verbunden, weil die Anzahl der auszulesenden Pixel und die Auslesezeit
zunehmen. Zur Steigerung der Auslesegeschwindigkeit und Verringerung des Ausleserauschens
können die 8 x 8 Pixel zu so genannten Superpixel "gebinnt" werden, wodurch man eine geringere Zahl
von (größeren) Pixeln simuliert.
Von Shack-Hartmann-Gradienten zu Wellenfronten
Wie aus der vorhergegangenen Beschreibung hervorgeht, kann man für jede Subapertur I, die mittleren
Weglängendifferenzen bestimmen durch
dsub "x i
d "y
= OPDx i und sub i = OPDy i ,
fM#
fM#
und aus diesen Informationen die Wellenfront über die gesamte Mikrolinsenmaske rekonstruieren.
Im allgemeinen kann eine Wellenfront als eine Summe Polynome höherer Ordnung mit jeweiligen
Koeffizienten repräsentiert werden. Eine in der Optik häufig verwendete Darstellung wurde von F.
!
Zernike 1934 !
zur Beschreibung der Qualität
von Hohlspiegeln entwickelt. Die Zernike-Polynome
besitzen Orthogonalität und den typischen Formen von Aberrationen wie zum Beispiel Z4=Defokus,
Z5=Astigmatismus, Z7 =Koma und sphärische Aberrationen lassen sich dedizierte Koeffizienten
zuordnen (siehe Tabelle 1.1). Zernike beschreibt eine Wellenfront W(x,y) als Summe aus den
Produkten dieser Polynome Zn(x,y) mit den Koeffizienten Cn
W ( x, y ) =
"
!C Z
n
n
( x, y ) .
0
Mit:
Tabelle 1: Einige Zernike Polynome in kartesischen Koordinaten.
5
Skript zum Versuch F36 Teil II
Seite 6 von 6
Versuchsdurchführung und Messungen
Im Rahmen des F-Praktikums sollen folgende Aufbauten und Messungen durchgeführt werden:
1.
2.
3.
4.
5.
Aufbau eines Shack-Hartmann-Sensors aus den zur Verfügung gestellten Einzelkomponenten
auf einer optischen Bank.
Aufnahmen von Shack-Hartmann Bildern (Shack-Hartmann Spot Images) mit einer
Laserlichtquelle.
Auffinden des besten Fokus als Funktion der Position der Relay-Optik auf der optischen
Bank.
Messung von Shack-Hartmann Gradienten für verschiedene optische Aberrationen.
Bestimmung einer Wellenfront aus den Messdaten (Shack-Hartmann Gradientenbild).
Für die lange Auswertung zusätzlich:
6.
7.
Rekonstruktion von Wellenfronten mit Hilfe der Zernike Polynome (Modenrekonstruktion,
modal reconstruction).
Alternativ zu Punkt 6: Lokale Rekonstruktion der Wellenfronten mit Hilfe eines geeigneten
2D Oberflächenfits.
Beispiel einer Shack-Hartmann-Aufnahme.
6
History and Principles of Shack-Hartmann
Wavefront Sensing
Ben C. Platt, PhD; Roland Shack, PhD
T
he Shack-Hartmann wavefront sensor was
developed out of a need to solve a problem.
The problem was posed, in the late 1960s, to
the Optical Sciences Center (OSC) at the University
of Arizona by the US Air Force. They wanted to
improve the images of satellites taken from earth.
The earth’s atmosphere limits the image quality and
exposure time of stars and satellites taken with telescopes over 5 inches in diameter at low altitudes
and 10 to 12 inches in diameter at high altitudes.
Dr. Aden Mienel was director of the OSC at that
time. He came up with the idea of enhancing images
of satellites by measuring the Optical Transfer
Function (OTF) of the atmosphere and dividing the
OTF of the image by the OTF of the atmosphere.
The trick was to measure the OTF of the atmosphere at the same time the image was taken and to
control the exposure time so as to capture a snapshot of the atmospheric aberrations rather than to
average over time. The measured wavefront error in
the atmosphere should not change more than ␭/10
over the exposure time. The exposure time for a low
earth orbit satellite imaged from a mountaintop was
determined to be about 1/60 second.
Mienel was an astronomer and had used the
standard Hartmann test (Fig 1), where large wooden or cardboard panels were placed over the aperture of a large telescope. The panels had an array of
holes that would allow pencils of rays from stars to
be traced through the telescope system. A photographic plate was placed inside and outside of focus,
with a sufficient separation, so the pencil of rays
would be separated from each other. Each hole in
the panel would produce its own blurry image of the
From Calhoun Vision, Inc, Pasadena, CA (Platt) and the Optical
Science Center, University of Arizona, Tucson, AZ (Shack).
Presented at the 2nd International Congress of Wavefront Sensing and
Aberration-free Refractive Correction, in Monterey, CA, on February 910, 2001.
Correspondence: Ben C. Platt, PhD, Calhoun Vision, Inc, 2555
E. Colorado Blvd, Suite 400, Pasadena, CA 91107. Tel: 626.395.5215;
Fax: 626.685.2003; E-mail: [email protected]
Journal of Refractive Surgery Volume 17 September/October 2001
star. By taking two images a known distance apart
and measuring the centroid of the images, one can
trace the rays through the focal plane. Hartmann
used these ray traces to calculate figures of merit for
large telescopes. The data can also be used to make
ray intercept curves (H'- tan U').
When Mienel could not cover the aperture while
taking an image of the satellite, he came up with the
idea of inserting a beam splitter in collimated space
behind the eyepiece and placing a plate with holes
in it at the image of the pupil. Each hole would pass
a pencil of rays to a vidicon tube (this was before
CCD arrays and image intensifiers). The two major
problems with this idea were the weak intensity of
the projected ray spots and the accuracy of measuring the centroid of the blurry pencil of rays. A tradestudy was performed using the diameter of the
holes, distance between the hole plate and the vidicon, and angular measurement accuracy as variables.
Dr. Roland Shack was involved in the study and
soon came to the conclusion that the only workable
solution was to replace the holes in the plate with
lenses. For the first time, the idea of measuring the
wavefront error, at the same time an image is taken
of the satellite or star, seemed to be feasible. The
configuration for the first Shack-Hartmann sensor
Figure 1. Optical schematic for an early Hartmann test.
S573
History of Shack-Hartmann Wavefront Sensing/Platt and Shack
Figure 2. Optical schematic for first Shack-Hartmann sensor.
Figure 3. Illustration shows how displacements of focused spots
from the lens array represent wavefront tilt.
is illustrated in Figure 2. The concept of measuring
displacements of the spots formed by the lens array
to calculate wavefront tilt is shown in Figure 3. Just
as the derivative of the wavefront optical path difference (OPD) map produces wavefront slopes, the
integration of wavefront slopes produces wavefront
OPD maps.
At that time, Dr. Ben Platt was a Research
Associate working in the Infrared Materials Lab at
the Optical Sciences Center, University of Arizona,
for Professor William Wolfe. Part of his time was
spent helping Shack set up the Optical Testing Lab.
He was given the task of purchasing an array of
lenses to test the concept. The semiconductor industry was making arrays of lenses with short focal
lengths, ~6 mm, and relatively large diameters,
~6 mm. Lenses with a diameter of 1 mm and focal
length of 100 to 150 mm were required for the
design. No one could be found to fabricate these
lenses. Platt tried about six different methods
before developing one that worked. Some of the
methods tried included the following:
1. The end of a steel rod was polished with the
correct radius and pressed into a metal surface in a
square pattern. Epoxy and thermal plastic were
used to mold a lens array from the indented surface.
2. Commercial arrays of short focal length lenses
were used with index fluids where the difference in
refractive index produced the desired focal length.
3. Lenticular lens screens from 3-D pictures were
tried with index fluids.
4. Thin cylindrical lenses were fabricated and
assembled into crossed arrays.
5. Thick cylindrical lenses were purchased,
ground into thin slabs, and glued together.
Dr. Platt finally decided that the only way to produce the long focal lengths with 1 mm center-tocenter distances was to use crossed cylindrical
lenses and to polish the surfaces into a very flat low
expansion optical flat. The optical shop at the university was asked to polish the lenses. They had no
experience in this area and could not provide support. Platt designed and fabricated a polishing
machine that used a cylindrical rod of nylon about
120 mm in diameter and about 150 mm long with a
hole through the center so it could slide back and
forth on a steel rod. The rod was supported from two
arms that allowed the nylon roll to be lowered and
raised over the optical blank. The optical blank was
attached to a tilt table and translating stage for
aligning the optical blank to the nylon polishing tool
and for translating the blank to the next cylindrical
lens location. A mechanical counter was attached to
the steel arm supporting the rod to keep track of the
number of polishing strokes at each lens location.
After several weeks of trial and error, the system
was ready to be transfered to an optician. The optician started with a 150-mm-diameter, 25-mm-thick
disk of Cervet, polished to ␭/20. Fifty grooves were
polished across the center of the blank. Two square
pieces were cut from the grooved area.
Platt made a mount for compression, molding a
1-mm-thick square plate of optical grade thermal
plastic (Plexiglass) between the two Cervet squares.
Many attempts were made to produce good quality
lens arrays. Two sets of molds were also broken in
the process. Each heating and cooling cycle in the
molding process took several hours. So, Platt decided to work all day and most of the night in his wife’s
kitchen. His wife’s electric knife sharpener was used
to trim the Plexiglass plates. Her apron and oven
mittens were also used to remove the molds from
the oven. After a few weeks, the process was perfected and good quality lens arrays were being produced. For at least the next 5 years, all lens arrays
used in Shack-Hartmann wavefront sensors were
S574
Journal of Refractive Surgery Volume 17 September/October 2001
History of Shack-Hartmann Wavefront Sensing/Platt and Shack
Figure 4. Recent image from Adaptive Optics Associates (AOA) shows the optical set-up used to test the first Shack-Hartmann sensor.
Upper left) Array of images formed by the lens array from a single wavefront. Upper right) Graphical representation of the wavefront tilt
vectors. Lower left) Zernike polynomial terms fit to the measured data. Lower right) 3-D plot of the measured wavefront.
Journal of Refractive Surgery Volume 17 September/October 2001
S575
History of Shack-Hartmann Wavefront Sensing/Platt and Shack
made by Platt in his wife’s kitchen. Because of the
high risk of breaking the molds, Platt took the
molds with him when he left the university and
made lens arrays, on request, for Shack, without
charge. Several students used the arrays in their
research projects.
The Air Force project was simulated in the laboratory. The target was a scaled photograph of a
satellite using the correct angle of illumination. A
35-mm reflex camera was used to record the focused
spots from the lens array. The focused patterns were
low-resolution images of the satellite and not just
spots. All images were identical so this did not affect
the ability to determine centroids of the images.
Atmospheric aberrations were simulated with a static phase plate. A pinhole was later used for a test
target. Figure 4, provided by Adaptive Optics
Associates (AOA), shows a recent set-up that illustrates the set-up used in 1971. The upper left image
shows what the spot pattern looked like. The upper
right image shows a vector representation of the
wavefront tilts. The length of the arrow illustrates
the magnitude of the tilt and the direction of the
arrow illustrates the angle of the tilt. The lower left
image is the Zernike polynomial fit to the calculated
wavefront. The lower right image is the plot of the
measured wavefront.
A reference set of spots were taken with a calibrated wavefront in order to make accurate measurements. This was necessary because of residual
aberrations in the optical set-up. To account for
shrinkage in the film, both sets of dots were taken
on the same slide of film. We tried two methods of
generating the reference set of spots: one method
offset the reference set of spots by introducing a tilt
in the wavefront, and the other method used color
film and no offset. This method requires optics with
an acceptable amount of chromatic aberrations. The
color separation method was easiest to work with.
Two methods of separating the two sets of spots
were used. One method used a measuring microscope and color filters over the eyepiece. The other
method used color filters over a slide projector and a
Vernier caliper. Both methods produced results that
were repeatable to ␭/50. Accuracy was determined
by a tolerance analysis and by comparing the measured results of an aberration plate, using the
Shack-Hartmann sensor, to the measured results of
a commercial Zygo interferometer. Accuracy was
determined to be at least ␭/20.
An article was written on the Lenticular
Hartmann Screen in March 1971 for the Optical
Sciences Center newsletter at the University of
S576
Arizona. In that same year, Platt presented a paper
on the Shack-Hartmann Sensor at an OSA meeting
in San Diego, CA. An attempt was made to file for a
patent through the University of Arizona. The application was never filed.
A complete system was designed, fabricated, and
delivered to the Air Force in the early 1970s to be
used on the satellite-tracking telescope at
Cloudcroft, NM. The system was never installed and
the facility was later decommissioned.
Shack also worked with astronomers in Europe.
He gave lens arrays to any astronomer that wanted
one. During that time, Ray Wilson was responsible
for the alignment and testing of all large telescopes
at the European Southern Observatories (ESO).
Wilson fabricated a wavefront sensor with one of the
lens arrays he received from Shack and tested all
the large telescopes at the ESO. He discovered that
they were all misaligned and that he could properly
align them with the data from the new tester.
Wilson published a paper on this work in April of
1984. He sent a copy of the paper to Shack, thanking him for introducing this new tester to him and
coining the name “Shack-Hartmann sensor.” In
1974, Platt received a telephone call from Europe
and was asked to build Shack-Hartmann wavefront
sensors. Platt was not able to build them at that
time because the start-up company he was working
for would not allow him to work on any other project
or to work on the side.
The military and the astronomers had parallel
wavefront sensor and adaptive optics programs.
Both groups also developed the laser guide star concept at nearly the same time. The military was
always one or two steps ahead of the astronomers
because they had better funding and higher technology hardware.
Platt later left the start-up company and went to
work for the University of Dayton Research
Institute on a contract at the Air Force Weapons
Center. While there, he proposed a ShackHartmann wavefront sensor to test the beam quality of the laser on the Airborne Laser Lab. He also
proposed a scanning Hartmann tester. Both instruments were fabricated and used in the laboratory.
Several copies of the scanning Hartmann sensor
were fabricated and used in several field tests. They
received very little attention because of the classification of the program. During the late 1970s, Platt
also proposed to use the scanning and non-scanning
Shack-Hartmann sensors to measure the flatness of
semiconductor disks.
Journal of Refractive Surgery Volume 17 September/October 2001
History of Shack-Hartmann Wavefront Sensing/Platt and Shack
During the same time period, Adaptive Optics
Associates (AOA) was developing (for the Air Force)
adaptive optics that would compensate for the
earth’s atmosphere. They started out with a scanning Hartmann system and ended up with a standard Shack-Hartmann wavefront sensor using lens
arrays. AOA developed their own lens arrays and
eventually sold them commercially. Massachusetts
Institute of Technology (MIT) developed methods for
making lens arrays using binary optics. Soon afterward, other organizations started making lens
arrays using binary optics. When the lens arrays
became easily available, more and more people
started experimenting with the Shack-Hartmann
sensor. Now, several companies are selling ShackHartmann sensors commercially.
Software to convert the 2-D tilt data into 2-D
wavefront data is another major part of the wavefront sensor. The first software program was written
at the University of Arizona. They had developed a
program for reducing interferograms. This program
was later modified to reduce shearing interferograms. Since shearing interferograms represent
wavefront tilt, it was easy to modify this program to
reduce Shack-Hartmann data. This program was
made available to the public for the cost of copying.
AOA developed its own software package for commercial and military applications. Most of the astronomical groups also developed their own software.
Soon, the software was easily available.
In the mid 1980s, Dr. Josef Bille, from the
University of Erlangen-Nurnberg, started working
with Shack to use the lens array for measuring the
profile of the cornea. Bille was the first to use the
sensor in ophthalmology. He used it first to measure
the profile of the cornea and later to measure aberrations in the eye, by projecting a point source onto
the retina. His first published paper was in 1989.
In 1985, Platt formed a company to provide optical instruments and consulting support to the
Journal of Refractive Surgery Volume 17 September/October 2001
government and commercial organizations. One of
the instruments he wanted to produce commercially
was the Shack-Hartmann sensor. He wrote several
proposals for different applications, including an
application to the National Eye Institute (NEI) of
the National Institutes of Health (NIH) for corneal
topography. By the time the proposal was resubmitted, photorefractive keratectomy (PRK) was replacing radial keratotomy, and NEI was looking only at
corneal topography instruments that could measure
the profile of a diffuse surface.
The next major milestone in the United States for
using the Shack-Hartmann sensor in ophthalmology occurred with the work of David Williams at the
University of Rochester. He was the first (in the
United States) to use the Shack-Hartmann sensor
for measuring aberrations in the eye. He also
demonstrated improved imaging of the retina by
coupling the Shack-Hartmann wavefront sensor to a
deformable mirror, generating the first adaptive
optics system used in ophthalmology.
The United States military started using the
Shack-Hartmann sensor in 1974 to test lasers, and
in the early 1980s, in adaptive optical systems.
From 1974 to 1996, Platt wrote proposals to use the
Shack-Hartmann sensor for applications ranging
from aligning telescopes, testing lasers, testing
semiconductor disks, to measuring the profile of the
cornea. Current applications for the ShackHartmann sensor in ophthalmology, astronomy,
adaptive optics, optical alignment, and commercial
optical testing are too numerous to list. Hundreds of
programs using the Shack-Hartmann sensor can be
found on the Internet. It is currently the most popular wavefront sensor in the world for applications
other than standard optical testing of optical components. Although the Shack-Hartmann sensor is
being used to test optical components, it is not
expected to replace the interferometer—only to
complement it.
S577
Advanced Lab Course F36
Analysis of Shack-Hartmann Spot Images with IDL and StarFinder
Dr. Stefan Hippler, February 2011
IDL session to determine the spot locations of a Shack-Hartmann spot pattern using
StarFinder (version 1.6)
StarFinder, an IDL code that does a great job at finding point sources in crowded fields was developed by E. Diolai? (see E. Diolai? et al., A&AS 147, pp 335 (2000)).
1. Start idl
2. Within idl start xstarfinder
3. Load spot image, e.g. sh_spots.fits, into xstarfinder; use Image-> Load ... -> Image
4. Create a PSF; use the PSF button and select “Extract from image”.
Advanced Lab Course F36
Analysis of Shack-Hartmann Spot Images with IDL and StarFinder
Dr. Stefan Hippler, February 2011
5. Change size of output PSF to 64 and press “Processing”.
6. Check the information box and confirm with OK.
7. Select the PSF star with the left mouse button; use the right mouse button to exit the
selection.
8. Confirm this star? Yes (if ok).
9. Do you want to select and subtract the secondary sources around the selected stars?
-> No.
10. Confirm “Done” with OK.
11. Exit the PSF extract window; Answer Yes to the “Save PSF stars” question.
12. Save the PSF to a file with the name sh_psf.txt or sh_astig_psf.txt
13. On the main window select “Astrometry and Photometry”.
Advanced Lab Course F36
Analysis of Shack-Hartmann Spot Images with IDL and StarFinder
Dr. Stefan Hippler, February 2011
14. Set the minimum distance of close sources (FWHM units) to 10.
15. Press the Processing button and wait until the info box appears (about 3 minutes).
16. Save results (should be exactly 28 ; use sh_spots.txt or sh_astig_spots.txt as filename.
17. Repeat steps 3) to 16) for the aberrated Shack-Hartmann spot pattern, eg sh_astig.fits
18. Run the idl script sh_slopes.idl; idl> @sh_slopes.idl
19. Use the sh_spots.txt and sh_astig_spots.txt files for your own data reduction.
Advanced Lab Course F36
Analysis of Shack-Hartmann Spot Images with IDL and StarFinder
Dr. Stefan Hippler, February 2011
20. Check the result.
21. The end
Wellenfrontanalyse mit Zernike-Polynomen und
Shack-Hartmann Gradientenmessungen
Stefan Hippler, August 2006
Mit dem Shack-Hartmann Wellenfrontsensor werden die Verschiebungen ∆x, ∆y der Spots
gemessen. Diese Verschiebungen, oft auch Shack-Hartmann Gradienten genannt, stehen mit den
partiellen Ableitungen der einfallenden, aberrierten Wellenfront W (x, y) wie folgt im Zusammenhang:
∂W (x, y)
∆x(x, y)
=
∂x
f
(1)
∆y(x, y)
∂W (x, y)
=
∂y
f
(2)
Die Wellenfront W (x, y) kann als Summe von Zernike Polynomen Pn dargestellt werden:
X
Cn Pn (x, y)
W (x, y) =
(3)
n
dabei entsprechen die Koeffizienten Cn der Zernike Polynome der Standardabweichnung (rms) der
Wellenfront für den Mode Pn . Für die partiellen Ableitungen der Wellenfront gilt:
∂Pn (x, y)
∂W (x, y) X
Cn
=
∂x
∂x
n
(4)
∂Pn (x, y)
∂W (x, y) X
Cn
=
∂y
∂y
n
(5)
Einsetzen von Gl. 1 und Gl. 2 ergibt:
∂Pn (x, y)
∆x(x, y) X
Cn
=
f
∂x
n
(6)
∆y(x, y) X
∂Pn (x, y)
=
Cn
f
∂y
n
(7)
(x,y)
(x,y)
Mit ∆x(x,y)
= a(x, y) und ∆y(x,y)
= b(x, y) sowie ∂Pn∂x
= g(x, y) und ∂Pn∂y
= h(x, y) erhält
f
f
man ein lineares Gleichungssystem, das sich in Matrixform wie folgt aufschreiben läßt:

 

g1 (x1 , y1 ) g2 (x1 , y1 ) · · · gn (x1 , y1 )
a(x1 , y1 )
 a(x1 , y2 )   g1 (x1 , y2 ) g2 (x1 , y2 ) · · · gn (x1 , y2 ) 
 

 


 

..
..
..
..
C1

 

.
.
·
·
·
.
.
 
 

 a(xs , ys )   g1 (xs , ys ) g2 (xs , ys ) · · · gn (xs , ys )   C2 

 


(8)
. 
 b(x1 , y1 )  =  h1 (x1 , y1 ) h2 (x1 , y1 ) · · · hn (x1 , y1 )  · 
  .. 

 
 b(x1 , y2 )   h1 (x1 , y2 ) h2 (x1 , y2 ) · · · hn (x1 , y2 ) 
Cn

 



 
..
..




.
.
b(xs , ys )
h1 (xs , ys ) h2 (xs , ys ) · · · hn (xs , ys )
Besteht die Shack-Hartmann Mikrolinsenmaske aus s2 Mikrolinsen (angeordnet auf einem quadratischen Gitter s x s, können maximal 2s2 Gradientensätze a (x Gradienten) und b (y Gradienten)
gemessen werden. Achtung, die im Versuch verwendete Mikrolinsenmaske hat keine quadratische
1
sondern eine ringförmige Geometrie. Für die maximale Modenzahl gilt n < 2s2 . Schreibt man
Gl. 8 als:
~ =α
~
G
~C
(9)
~ über die Pseudoinverse von α
dann erhält man C
~, α
~ +:
~
~ =α
C
~ +G
(10)
Die Pseudoinverse einer Matrix ist die Verallgemeinerung der Inversen einer quadratischen Matrix
für beliebige (m,n) Matrizen. Die Pseudoinverse einer Matrix A kann für m > n wie folgt definiert
werden:
A+ = (AT A)−1 AT
(11)
Der beste Weg, die Pseudoinverse zu berechnen, geschieht mit Hilfe der Singulärwert Zerlegung.
Mit A = U SV T , so wie den orthogonalen Matrizen U (n, n) und V (n, n) und der Singulärwert
Diagonal-Matrix S(m, n) erhält man:
A+ = V (S T S)−1 S T U T
(12)
Die Diagonale von S besteht dabei aus realen, nicht negativen Zahlen. Das im Praktikum verwendete Programm IDL kann die Singulärwert Zerlegung mit den Prozeduren LA SVD oder SVDC
berechnen. Im Anhang ist die IDL-Helpseite für das LA SVD Programm abgedruckt.
Beispiel für eine Wellenfrontrekonstruktion mit Hilfe von
Zernike-Moden und gemessenen Shack-Hartmann Gradienten: die IDL Prozedur f36.pro
PRO F36
;PRO F36 ZERNIKE FIT
;
; NAME:
;
F36 Zernike fit
;
; S t e f a n H i p p l e r , MPIA, H e i d e l b e r g , 27 J u l y 2006
; PURPOSE:
;
F i t Z e r n i k e p o l y n o m i a l s t o W a v e f r o n t and Shack−Hartmann d a t a
;
; CALLING SEQUENCE:
;
F36 ZERNIKE FIT o r j u s t F36 ( c h e c k PRO s t a t e m e n t a b o v e )
;
; INPUTS :
;
None .
;
; RESTRICTIONS :
;
Makes u s e o f t h e f u n c t i o n s NOLL SEQUENCE and ZERNIKE .
;
and DIST CIRCLE ( a s t r o l i b )
;
; REFERENCE:
;
N o l l , R . J . , 1 9 7 6 : Z e r n i k e P o l y n o m i a l s and A t m o s p h e r i c T u r b u l e n c e , J o u r n a l
;
o f t h e O p t i c a l S o c i e t y o f America , Volume 6 6 , 2 0 7 .
;
; ORIGINAL :
;
p a s p z e r n i k e f i t . pro by :
;
2005−11−08 C a r s t e n Denker , New J e r s e y I n s t i t u t e o f T e c h n o l o g y , C e n t e r
;
f o r S o l a r −T e r r e s t r i a l R e s e a r c h , 323 M ar ti n L u t h e r King Blvd , Newark ,
;
NJ 0 7 1 0 2 , cdenker@adm . n j i t . edu
;
; error handling
ON ERROR, 2
2
; true color device
; check with help ,/ device
DEVICE, decomposed=1
;
; COLOR DEFS, h e x f o r m a t BGR
; d e v i c e has to be a t r u e c o l o r d e v i c e
; c h e c k w i t h h e l p , / d e v i c e −−−> G r a p h i c s P i x e l s : decomposed
; s e t w i t h d e v i c e , decomposed=1
;
TRED= ’ 0000FF ’ x
TGREEN= ’ 00 FF00 ’ x
TBLUE= ’ FF0000 ’ x
TWHITE= ’FFFFFF ’ x
TBLACK= ’ 000000 ’ x
TYELLOW= ’ 00FFFF ’ x
MODENAME=[ ’ P i s t o n ’ , ’ Tip ’ , ’ T i l t ’ , ’ D e f o c u s ’ , ’ A s t i g m a t i s m ’ , ’ A s t i g m a t i s m ’ , $
’Coma ’ , ’Coma ’ , ’ T r i f o i l ’ , ’ T r i f o i l ’ , ’ S p h e r i c a l A b e r r a t i o n ’ ]
; d e f i n i t i o n s f o r t h e F36 KS28 a r r a y
; ; ; KS28 nx = 8
; p i x e l i n x−d i r e c t i o n
; ; ; KS28 ny = 8
; p i x e l i n y−d i r e c t i o n
; remember t h a t t h e Z e r n i k e a r r a y i s s u r r o u n d e d b y z e r o rows / col umn s
;
; d e f i n i t i o n s for the Zernike d e r i v a t i v e s
;
nx = 512
; p i x e l i n x−d i r e c t i o n
ny = 512
; p i x e l i n y−d i r e c t i o n
t e s t w i t h 512 x 512 p i x e l s
;
; remember t h a t t h e Z e r n i k e a r r a y i s s u r r o u n d e d b y z e r o rows / col umn s
;
nz = 30 ; number o f Z e r n i k e p o l y n o m i a l s i n c l u d i n g p i s t o n
dx = 1
; f i r s t p a r t i a l d e r i v a t i v e o f Z , dZ/ dx
dy = 1
; f i r s t p a r t i a l d e r i v a t i v e o f Z , dZ/ dy
;
; a z i m u t h a l f r e q u e n c y and r a d i a l o r d e r a c c o r d i n g t o t h e N o l l s e q u e n c e
;
mn = NOLL SEQUENCE( nz )
;
; random v a r i a b l e t o c r e a t e t h e
; random Z e r n i k e c o e f f i c i e n t s
;
randomzc = RANDOMN( s , nz )
coefficients
for the wavefront representation
;
; u s e t h e p i s t o n term t o d e f i n e t h e a p e r t u r e
;
wf = DOUBLE( ZERNIKE( mn [ 0 , 0 ] , mn [ 1 , 0 ] , nx ) )
mask = wf
i n d e x = WHERE( mask , n p i x )
;
; c r e a t e mask f o r f i r s t d e r i v a t i v e s ( g r a d i e n t s ) = d i a m e t e r o f mask − 4
; ignore 2 outermost c i r c l e s
;
d i s t c i r c l e , dmask , 5 1 2 , 2 5 5 . 5 , 2 5 5 . 5
dmask [ where ( dmask LT 2 5 4 . ) ] = 1
dmask [ where ( dmask GE 2 5 4 . ) ] = 0
g i n d e x = WHERE ( dmask , g p i x )
;
; Z e r n i k e p o l y n o m i a l s a s column v e c t o r s
3
;
z k = FLTARR( nz , n p i x )
z k [ 0 , ∗ ] = randomzc [ 0 ] ∗ wf [ i n d e x ]
;
; f i r s t x d e r i v a t i v e a s column v e c t o r
;
z k d x = FLTARR( nz , g p i x )
z k d x [ 0 , ∗ ] = randomzc [ 0 ] ∗ wf [ g i n d e x ]
;
; f i r s t y d e r i v a t i v e a s column v e c t o r
;
z k d y = FLTARR( nz , g p i x )
z k d y [ 0 , ∗ ] = randomzc [ 0 ] ∗ wf [ g i n d e x ]
WINDOW, XSIZE = 2 ∗ nx , YSIZE = ny
LOADCT, 13
FOR i = 1 , nz −1 DO BEGIN
;
; c r e a t e a w a v e f r o n t composed o f Z e r n i k e p o l y n o m i a l s
;
tmp = DOUBLE( ZERNIKE( mn [ 0 , i ] , mn [ 1 , i ] , nx , dx=dx , dy=dy ) )
;
; s a v e one Z e r n i k e mode f o r t e s t s
;
IF i eq 6 then z t = tmp
IF i eq 6 then i i i t = i
wf = TEMPORARY( wf ) + randomzc [ i ] ∗ tmp
z k [ i , ∗ ] = tmp [ i n d e x ]
z k d x [ i , ∗ ] = dx [ g i n d e x ]
z k d y [ i , ∗ ] = dy [ g i n d e x ]
;
m = s t d d e v ( tmp ∗ mask )
m = m ∗ 2.
;
; display the Zernike polynomials
;
TV, BYTSCL( tmp ∗ mask , −m, m ) , 0
TV, BYTARR( nx , ny ) , 1
XYOUTS, 2 0 , ny − 2 0 , ’ Z e r n i k e P o l y n o m i a l Z ’ , $
COLOR = TBLACK, /DEVICE, FONT = 0
XYOUTS, nx + 2 0 , ny − 2 0 , $
’ F36 W a v e f r o n t Modal R e c o n s t r u c t i o n w i t h Z e r n i k e P o l y n o m i a l s , [ J u l y 2 7 , 2 0 0 6 ] ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
;
XYOUTS, nx + 2 0 , ny − 4 0 , STRING( FORMAT = $
’ ( ” Z e r n i k e mode number [ N o l l o r d e r i n g ] j : ” , I 2 ) ’ , i +1 ) , $
COLOR = TRED, /DEVICE, FONT = 0
;
; n e g a t i v e m i n d i c e s mean N o l l s i n ( ) Z e r n i k e f u n c t i o n s
;
ZTERM = ’ c o s ( ) ’
IF mn[ 0 , i ] LT 0 THEN ZTERM = ’ s i n ( ) ’
XYOUTS, nx + 2 0 , ny − 6 0 , STRING( FORMAT
’ ( ” A z i m u t h a l f r e q u e n c y m [ N o l l ” , A, ”
ZTERM, mn [ 0 , i ] ) , $
COLOR = TRED, /DEVICE, FONT = 0
XYOUTS, nx + 2 0 , ny − 8 0 , STRING( FORMAT
’ ( ” R a d i a l o r d e r n : ” , I 2 ) ’ , mn [ 1 , i ]
COLOR = TRED, /DEVICE, FONT = 0
= $
term ] : ” , I 2 ) ’ , $
= $
), $
IF ( i +1 LE 1 1 ) THEN BEGIN
XYOUTS, nx + 2 0 , ny − 1 0 0 , STRING( FORMAT = $
4
’ ( ” A b e r r a t i o n name : ” , A) ’ , MODENAME[ i ] ) , $
COLOR = TYELLOW, /DEVICE, FONT = 0
ENDIF
;
; d i s p l a y t h e f i r s t p a r t i a l d e r i v a t e d dZ/ dx
;
tmpdx = dx ∗ mask
m = s t d d e v ( dx ∗ mask )
m = m ∗ 2.
tmpdx = r e b i n ( tmpdx , nx / 2 , ny / 2 )
TV, BYTSCL( tmpdx , −m, m ) , nx , 0
XYOUTS, nx + 2 0 , ny /2 + 2 0 , ’ F i r s t p a r t i a l
COLOR = TYELLOW, /DEVICE, FONT = 0
d e r i v a t i v e dZ/ dx ’ , $
;
; d i s p l a y t h e f i r s t p a r t i a l d e r i v a t e d dZ/ dy
;
tmpdy = dy ∗ mask
m = s t d d e v ( dy ∗ mask )
m = m ∗ 2.
tmpdy = r e b i n ( tmpdy , nx / 2 , ny / 2 )
TV, BYTSCL( tmpdy , −m, m ) , nx+nx / 2 , 0
XYOUTS, nx+nx /2 + 2 0 , ny /2 + 2 0 , ’ F i r s t p a r t i a l
COLOR = TYELLOW, /DEVICE, FONT = 0
WAIT, 0 . 5
d e r i v a t i v e dZ/ dy ’ , $
ENDFOR
; erase display
ERASE
;
; c h e c k DERIV on p u r e Z e r n i k e no # i i i t
;
wft = zt
; compute dynamic r a n g e f o r image d i s p l a y
m = MAX( ABS( w f t [ i n d e x ] ) ) / 2 .
wftm = r e b i n ( w f t ∗ mask , nx / 2 , ny / 2 )
TV, BYTSCL( wftm , −m, m ) , 0 , 0
XYOUTS, 2 0 , ny /2 + 2 0 , ’ Z e r n i k e #7 ’ , $
COLOR = TRED, /DEVICE, FONT = 0
;
; Z e r n i k e s a r e d e f i n e d on t h e u n i t c i r c l e
; DINDGEN g e n e r a t e s i n d i c e s from 0 : nx −1.
;
; xc = [ −1 ,1]
; yc = [ −1 ,1]
;
x c = DINDGEN( nx ) / ( nx − 1 ) ∗ 2 . 0 − 1 . 0
y c = REPLICATE( 1 . 0D, nx ) # x c
x c = x c # REPLICATE( 1 . 0D, nx )
; compute d w f t / dx
d w f t d x = DBLARR( nx , ny )
FOR i i i = 0 , nx − 1 DO d w f t d x [ ∗ , i i i ] = DERIV( x c [ ∗ , i i i ] , w f t [ ∗ , i i i ] )
;
m = MAX( ABS( d w f t d x [ g i n d e x ] ) ) / 2 .
d w f t d x m a s k = r e b i n ( d w f t d x ∗ mask , nx / 2 , ny / 2 )
TV, BYTSCL( d w f t d x m a s k , −m, +m) , nx , 0
XYOUTS, nx + 2 0 , ny /2 + 2 0 , ’ d ( Z e r n i k e #7)/ dx ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
; now t h e same w i t h some n o i s e on Z6
wft = zt
w f t = w f t + 0 . 1 ∗ RANDOMN( s , nx , ny )
;
5
m = MAX( ABS( w f t [ i n d e x ] ) ) / 2 .
wftm = r e b i n ( w f t ∗ mask , nx / 2 , ny / 2 )
TV, BYTSCL( wftm , −m, +m ) , nx / 2 , 0
XYOUTS, nx /2 + 2 0 , ny /2 + 2 0 , ’ N o i s y Z e r n i k e #7 ’ , $
COLOR = TRED, /DEVICE, FONT = 0
; compute d w f t / dx
d w f t d x = DBLARR( nx , ny )
FOR i i i = 0 , nx − 1 DO d w f t d x [ ∗ , i i i ] = DERIV( x c [ ∗ , i i i ] , w f t [ ∗ , i i i ] )
;
m = MAX( ABS( d w f t d x [ g i n d e x ] ) ) / 2 .
d w f t d x m a s k = r e b i n ( d w f t d x ∗ mask , nx / 2 , ny / 2 )
TV, BYTSCL( d w f t d x m a s k , −m, +m) , nx + nx / 2 , 0
XYOUTS, nx +nx /2 + 2 0 , ny /2 + 2 0 , ’ d ( N o i s y Z e r n i k e #7)/ dx ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
WAIT, 5 . 0
; erase display
ERASE
;
; the r e a l fun
;
; compute dynamic r a n g e f o r image d i s p l a y
m1 = MAX( ABS( wf [ i n d e x ] ) ) / 2 .
wfmask = r e b i n ( wf ∗ mask , nx / 2 , ny / 2 )
TV, BYTSCL( wfmask , −m1 , m1 ) , 0 , 0
XYOUTS, 2 0 , ny /2 + 2 0 , ’ Random w a v e f r o n t ( w i t h o u t n o i s e ) W’ , $
COLOR = TWHITE, /DEVICE, FONT = 0
; add some n o i s e t o t h e w a v e f r o n t t o make t h e f i t more i n t e r e s t i n g
; wfn = wf + RANDOMN( s , nx , ny )
; wfnmask = r e b i n ( wfn ∗ mask , nx / 2 , ny / 2 )
; TV, BYTSCL( wfnmask , −m, m ) , nx / 2 , 0
;XYOUTS, nx /2 + 2 0 , ny /2 + 2 0 , ’ Random w a v e f r o n t + n o i s e ’ , $
; COLOR = TRED, /DEVICE, FONT = 0
; compute dwf / dx
d w f d x = DBLARR( nx , ny )
FOR i i i = 0 , nx − 1 DO d w f d x [ ∗ ,
;
iii
] = DERIV( x c [ ∗ , i i i ] , wf [ ∗ , i i i ] )
;
; x x x=d w f d x [ g i n d e x ]
; p r i n t , min ( x x x ) , max ( x x x ) , mean ( x x x ) , s t d d e v ( x x x )
; d w f d x [ g i n d e x ] = x x x − mean ( x x x )
;
m2 = MAX( ABS( d w f d x [ g i n d e x ] ) ) / 3 .
dwfdxmask = r e b i n ( d w f d x ∗ mask , nx / 2 , ny / 2 )
TV, BYTSCL( dwfdxmask , −m2 , +m2 ) , nx , 0
XYOUTS, nx + 2 0 , ny /2 + 2 0 , ’dW/ dx ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
; compute dwfmask / dy
d w f d y = DBLARR( nx , ny )
FOR i i i = 0 , ny − 1 DO d w f d y [ i i i , ∗ ] = DERIV( y c [ i i i , ∗ ] , wf [ i i i , ∗ ] )
;
;
; x x x=d w f d y [ g i n d e x ]
; p r i n t , min ( x x x ) , max ( x x x ) , mean ( x x x ) , s t d d e v ( x x x )
; d w f d y [ g i n d e x ] = x x x − mean ( x x x )
;
6
m3 = MAX( ABS( d w f d y [ g i n d e x ] ) ) / 3 .
dwfdymask = r e b i n ( d w f d y ∗ mask , nx / 2 , ny / 2 )
TV, BYTSCL( dwfdymask , −m3 , +m3 ) , nx + nx / 2 , 0
XYOUTS, nx +nx /2 + 2 0 , ny /2 + 2 0 , ’dW/ dy ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
;
; WAIT, 5 . 0
; n o t n e c e s s a r y ? ? ? , SVDC t a k e s some t i m e
;
XYOUTS, nx + 2 0 , ny − 2 0 , $
’ Computing S i n g u l a r V a l u e D e c o m p o s i t i o n o f Z e r n i k e modes m a t r i x . . . ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
;
; S i n g u l a r V a l u e D e c o m p o s i t i o n o f z k t o g e t t h e c o e f f i c i e n t s from t h e w a v e f r o n t
; z k = U S VˆT
; SVDC r e t u r n s t h e s i n g u l a r v a l u e s w f i r s t , t h e n t h e u and v m a t r i c e s
;
; z k c o n t a i n s t h e Z e r n i k e c o e f f i c i e n t s i n a 2− d i m e n s i o n a l m a t r i x [ nz , n p i x ]
;
; SVDC, zk , w , u , v
LA SVD , zk , w , u , v
FOR i = 0 , nz − 1 DO IF ABS( w [ i ] ) LE 1 . 0 e−5 THEN w [ i ] = 0
;
; now s o l v e t h e l i n e a r e q u a t i o n s s y s t e m
; Z e r n i k e C o e f f i c i e n t s = Wavefront ∗ PseudoInverse ( Z e r n i k e Polynomials )
; u s i n g SVDC and SVSOL
;
; SVSOL = S i n g u l a r V a l u e S o l v e
; s o l v e t h e l i n e a r e q u a t i o n s s y s t e m WF = ZC ∗ ZK
; w i t h t h e o u t p u t o f t h e s i n g u l a r v a l u e d e c o m p o s i t i o n o f ZK
; ZC = [WF] ∗ [ ZK]+
;
z c = SVSOL( u , w , v , wf [ i n d e x ] )
; 2D Z e r n i k e f i t
w f f = FLTARR( nx , ny )
w f f [ i n d e x ] = REFORM( z k ## z c )
m = s t d d e v ( w f f ∗ mask )
m=m∗ 2 .
TV, BYTSCL( w f f ∗ mask , −m, m ) , 0
XYOUTS, 2 0 , ny − 2 0 , ’ R e c o n s t r u c t e d w a v e f r o n t ’ , $
COLOR = TBLACK, /DEVICE, FONT = 0
; residuals
TV, BYTSCL( ( wf − w f f ) ∗ mask , −m / 1 0 0 . , m / 1 0 0 . ) , 1
XYOUTS, nx + 2 0 , ny − 2 0 , $
’ ( W a v e f r o n t − r e c o n s t r u c t e d w a v e f r o n t ) x 100 ’ , $
COLOR = TBLACK, /DEVICE, FONT = 0
WAIT, 5 . 0
;
; reset color
;
LOADCT, 0
;
x
y
y
table
t a k e c a r e o f t h e p i s t o n term , NOLL n u m b e ri n g s t a r t s w i t h 1 ( p i s t o n )
= INDGEN( nz − 1 ) + 2
= randomzc
= y[ 1 : ∗ ]
;
; show t h e random Z e r n i k e c o e f f i c i e n t s
; P . MULTI [ No . o f p l o t s , COL,ROW,STACK,ORDER]
;
! P . MULTI = [ 0 , 2 , 1 ]
7
PLOT, x , y , TITLE = ’ Z e r n i k e c o e f f i c i e n t s ZC o f random w a v e f r o n t ’ , $
XTITLE = ’ Mode number ( N o l l ) ’ , $
YTITLE = ’ZC ’ , YRANGE = [ −3, 3 ] , YSTYLE = 1
;
; show random − r e c o n s t r u c t e d modes
;
x = INDGEN( nz − 1 ) + 2
y = randomzc − z c
y = y[ 1 : ∗ ]
PLOT, x , y , TITLE = ’ F i t t i n g e r r o r o f Z e r n i k e c o e f f i c i e n t s ’ , $
XTITLE = ’ Mode number ( N o l l ) ’ , YTITLE = ’ F i t t i n g e r r o r ’ , $
YRANGE = [ −0.01 , 0 . 0 1 ]
WAIT, 5 . 0
;
; r e s e t p l o t window
;
! P . MULTI = 0
;
; erase display
; and r e p l o t W, dW/ dx , and dW/ dy
ERASE
;
TV, BYTSCL( wfmask , −m1 , m1 ) , 0 , 0
XYOUTS, 2 0 , ny /2 + 2 0 , ’ Random w a v e f r o n t ( w i t h o u t n o i s e ) W’ , $
COLOR = TWHITE, /DEVICE, FONT = 0
;
TV, BYTSCL( dwfdxmask , −m2 , +m2 ) , nx , 0
XYOUTS, nx + 2 0 , ny /2 + 2 0 , ’dW/ dx ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
;
TV, BYTSCL( dwfdymask , −m3 , +m3 ) , nx + nx / 2 , 0
XYOUTS, nx +nx /2 + 2 0 , ny /2 + 2 0 , ’dW/ dy ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
;
XYOUTS, nx + 2 0 , ny − 2 0 , $
’ Computing S i n g u l a r V a l u e D e c o m p o s i t i o n o f Z e r n i k e GRADIENTS m a t r i x . . . ’ , $
COLOR = TYELLOW, /DEVICE, FONT = 0
;
;
−−−−−−−−−−−−−−−−−
; Find Z e r n i k e c o e f f i c i e n t s u s i n g f i r s t d e r i v a t i v e s o f w a v e f r o n t ;
;
−−−−−−−−−−−−−−−−−
; Shack−Hartmann m e a s u r e s dW/ dx and dW/ dy
; ZCG = [dWF/ dx dWF/ dy ] ∗ [ dZP/ dx dZP/ dy ]+
;
; c r e a t e Z e r n i k e d e r i v a t i v e s m a t r i x w i t h d i m e n s i o n [ nmodes , 2 ∗ s i z e ( g i n d e x ) ]
;
zkdxdy = [ transpose ( zkdx ) , transpose ( zkdy ) ]
zkdxdy = transpose ( zkdxdy )
wfdxdy = [ dwfdx [ g i n d e x ] , dwfdy [ g i n d e x ] ]
; help , zkdxdy , wfdxdy
; SVDC, z k d x d y , w , u , v
LA SVD , z k d x d y , w , u , v
FOR i = 0 , nz − 1 DO IF ABS( w [ i ] ) LE 1 . 0 e−5 THEN w [ i ] = 0
z c g = SVSOL( u , w , v , w f d x d y )
;
; 2D Z e r n i k e f i t
;
w f f = FLTARR( nx , ny )
w f f [ i n d e x ] = REFORM( z k ## z c g )
m = s t d d e v ( w f f ∗ mask )
m=m∗ 2 .
8
TV, BYTSCL( w f f ∗ mask , −m, m ) , 0
XYOUTS, 2 0 , ny − 2 0 , ’ W a v e f r o n t R e c o n s t r u c t i o n ’ , $
COLOR = TBLACK, /DEVICE, FONT = 0
XYOUTS, 2 0 , ny − 4 0 , ’ from G r a d i e n t s ’ , $
COLOR = TBLACK, /DEVICE, FONT = 0
;
; residuals
;
TV, BYTSCL( ( wf − w f f ) ∗ mask , −m / 1 0 0 . , m / 1 0 0 . ) , 1
XYOUTS, nx + 2 0 , ny − 2 0 , $
’ ( W a v e f r o n t − r e c o n s t r u c t e d w a v e f r o n t ) x 100 ’ , $
COLOR = TBLACK, /DEVICE, FONT = 0
WAIT, 5 . 0
;
; reset color
;
LOADCT, 0
table
;
; show c o e f f i c i e n t s
;
! P . MULTI = [ 0 , 2 , 1 ]
; t a k e c a r e o f t h e p i s t o n term and NOLL n u m b e ri n g s t a r t s w i t h 1 ( IDL s t a r t s w i t h 0 )
x = INDGEN( nz − 1 ) + 2
y = randomzc
y = y[ 1 : ∗ ]
PLOT, x , y , TITLE = ’ Z e r n i k e c o e f f i c i e n t s ZC o f random w a v e f r o n t ’ , $
XTITLE = ’ Mode number ( N o l l ) ’ , $
YTITLE = ’ZC ’ , YRANGE = [ −3, 3 ] , YSTYLE = 1
;
; t a k e c a r e o f t h e p i s t o n term and NOLL n u m b e ri n g s t a r t s w i t h 1 ( IDL s t a r t s w i t h 0 )
;
x = INDGEN( nz − 1 ) + 2
y = randomzc − z c g
y = y[ 1 : ∗ ]
PLOT, x , y , TITLE = ’ F i t t i n g e r r o r o f Z e r n i k e c o e f f i c i e n t s ( from g r a d i e n t s ) ’ , $
XTITLE = ’ Mode number ( N o l l ) ’ , YTITLE = ’ F i t t i n g e r r o r ’ , $
YRANGE = [ −0.01 , 0 . 0 1 ]
;
; r e s e t p l o t window
;
! P . MULTI = 0
print
print
print
print
print
print
print
print
print
, ’ Random Z e r n i k e c o e f f i c i e n t s o f i n p u t w a v e f r o n t ’
, ’−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ’
,
randomzc
, ’ R e c o n s t r u c t e d Z e r n i k e c o e f f i c i e n t s from w a v e f r o n t d a t a ’
, ’−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ’
, zc
, ’ R e c o n s t r u c t e d Z e r n i k e c o e f f i c i e n t s from w a v e f r o n t g r a d i e n t s ’
, ’−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ’
, zcg
END
Anhang: IDL Help Ausdruck für LA SVD
9
IDL Reference Guide: Procedures and Functions
LA_SVD
Syntax | Arguments | Keywords | Examples | Version History | See Also
The LA_SVD procedure computes the singular value decomposition (SVD) of an
n-columns by m-row array as the product of orthogonal and diagonal arrays:
A is real: A = U S VT
A is complex: A = U S VH
where U is an orthogonal array containing the left singular vectors, S is a diagonal array
containing the singular values, and V is an orthogonal array containing the right singular
vectors. The superscript T represents the transpose while the superscript H represents
the Hermitian, or transpose complex conjugate.
If n < m then U has dimensions (n x m), S has dimensions (n x n), and VH has
dimensions (n x n). If n  m then U has dimensions (m x m), S has dimensions (m x m),
and VH has dimensions (n x m). The following diagram shows the array dimensions:
LA_SVD is based on the following LAPACK routines:
Table 3-66: LAPACK Routine Basis for LA_SVD
Output Type
Float
Double
Complex
Double complex
LAPACK Routine
QR Iteration
Divide-and-conquer
sgesvd
sgesdd
dgesvd
dgesdd
cgesvd
cgesdd
zgesvd
zgesdd
For details see Anderson et al., LAPACK Users' Guide, 3rd ed., SIAM, 1999.
Syntax
LA_SVD, Array, W, U, V [, /DOUBLE] [, /DIVIDE_CONQUER] [, STATUS=variable]
Arguments
Array
1
Array
The real or complex array to decompose.
W
On output, W is a vector with MIN(m, n) elements containing the singular values.
U
On output, U is an orthogonal array with MIN(m, n) columns and m rows used in the
decomposition of Array. If Array is complex then U will be complex, otherwise U will be
real.
V
On output, V is an orthogonal array with MIN(m, n) columns and n rows used in the
decomposition of Array. If Array is complex then V will be complex, otherwise V will be
real.
Note
To reconstruct Array, you will need to take the transpose or Hermitian of V.
Keywords
DIVIDE_CONQUER
If this keyword is set, then the divide-and-conquer method is used to compute the
singular vectors, otherwise, QR iteration is used. The divide-and-conquer method is
faster at computing singular vectors of large matrices, but uses more memory and may
produce less accurate singular values.
DOUBLE
Set this keyword to use double-precision for computations and to return a
double-precision (real or complex) result. Set DOUBLE = 0 to use single-precision for
computations and to return a single-precision (real or complex) result. The default
is /DOUBLE if Array is double precision, otherwise the default is DOUBLE = 0.
STATUS
Set this keyword to a named variable that will contain the status of the computation.
Possible values are:
STATUS = 0: The computation was successful.
STATUS > 0: The computation did not converge. The STATUS value specifies how
many superdiagonals did not converge to zero.
Note
If STATUS is not specified, any error messages will output to the screen.
Examples
Construct a sample input array A, consisting of smoothed random values:
PRO ExLA_SVD
2
PRO ExLA_SVD
; Create a smoothed random array:
n = 100
m = 200
seed = 12321
a = SMOOTH(RANDOMN(seed, n, m, /DOUBLE), 5)
; Compute the SVD and check reconstruction error:
LA_SVD, a, w, u, v
arecon = u ## DIAG_MATRIX(w) ## TRANSPOSE(v)
PRINT, 'LA_SVD error:', MAX(ABS(arecon - a))
; Keep only the 15 largest singular values
wfiltered = w
wfiltered[15:*] = 0.0
; Reconstruct the array:
afiltered = u ## DIAG_MATRIX(wfiltered) ## TRANSPOSE(v)
percentVar = 100*(w^2)/TOTAL(w^2)
PRINT, 'LA_SVD Variance:', TOTAL(percentVar[0:14])
END
When this program is compiled and run, IDL prints:
LA_SVD error: 1.0103030e-014
LA_SVD variance:
82.802816
Note
More than 80% of the variance is contained in the 15 largest singular values.
Version History
5.6
Introduced
See Also
LA_CHOLDC, LA_LUDC, SVDC
IDL Online Help (March 01, 2006)
3
Fragenkatalog (list of questions) zu/for F36
04/02/2007 11:54 AM
Fragenkatalog zum Versuch F36 "Wellenfrontanalyse"
List of questions for practical F36, "Wavefront Analysis"
Was ist eine CCD-Kamera und wie funktioniert sie?
Was sind die wesentlichen Vorteile eines CCD-Detektors?
Wie vergleicht sich ein CCD mit a) dem menschlichen Auge,
b) Fotoplatte, c) Handy-Kamera?
Welche Kenngrößen werden bei der Charakterisierung und
Kalibrierung von CCDs benutzt?
Wie können die Kenngrößen eines CCDs bestimmt werden?
Welche Rauschquellen gibt es im Zusammenhang mit CCD Bildern?
Was versteht man unter einer Wellenfront?
Wie kann eine Wellenfront im optischen Spektralbereich gemessen
werden?
Welche Detektoren eignen sich zur Wellenfrontanalyse?
Was versteht man unter der Winkelauflösung eines Teleskops/einer
Linse/des menschlichen Auges?
Was versteht man unter der Strehl-Zahl?
Wie hängt die Strehl-Zahl von der Flachheit der Wellenfront ab?
Was versteht man unter optischer Turbulenz der Erdatmosphäre?
Wie beeinflusst die Erdatmosphäre die Qualität von
Teleskopbildern?
Was versteht man unter adaptiver Optik?
http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/F36Questions.html
What is a CCD camera and how does it work?
What are the main advantages of CCD devices?
How does a CCD compares with a) the human eye,
b) photo plate, and c)mobile phone camera?
What are the characteristic data to calibrate a CCD?
How can we measure the characteristic data of a CCD?
What kind of noise sources exist in the context of CCD images?
What is a wavefront?
How to measure a wavefront at optical wavelengths?
What kind of detectors can be used for wavefront analysis?
What is the angular resolution of a telescope/a lens/the human eye?
What is the Strehl ratio?
How does the Strehl ratio depend on wavefront flatness?
What is meant by optical Turbulence of the Earth's atmosphere?
What is the impact of the earth atmophere on the quality of telescope
images?
What is Adaptive Optics?
Page 1 of 1
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
1
Zernike Polynomials
1 Introduction
Often, to aid in the interpretation of optical test results it is convenient to express wavefront data in polynomial form. Zernike polynomials are often used for this
purpose since they are made up of terms that are of the same form as the types of aberrations often observed in optical tests (Zernike, 1934). This is not to say that
Zernike polynomials are the best polynomials for fitting test data. Sometimes Zernike polynomials give a poor representation of the wavefront data. For example,
Zernikes have little value when air turbulence is present. Likewise, fabrication errors in the single point diamond turning process cannot be represented using a
reasonable number of terms in the Zernike polynomial. In the testing of conical optical elements, additional terms must be added to Zernike polynomials to accurately
represent alignment errors. The blind use of Zernike polynomials to represent test results can lead to disastrous results.
Zernike polynomials are one of an infinite number of complete sets of polynomials in two variables, r and q, that are orthogonal in a continuous fashion over the interior
of a unit circle. It is important to note that the Zernikes are orthogonal only in a continuous fashion over the interior of a unit circle, and in general they will not be
orthogonal over a discrete set of data points within a unit circle.
Zernike polynomials have three properties that distinguish them from other sets of orthogonal polynomials. First, they have simple rotational symmetry properties that
lead to a polynomial product of the form
r@ρD g@θD,
where g[q] is a continuous function that repeats self every 2p radians and satisfies the requirement that rotating the coordinate system by an angle a does not change the
form of the polynomial. That is
g@θ + αD = g@θD g@αD.
The set of trigonometric functions
g@θD =
±
mθ
,
where m is any positive integer or zero, meets these requirements.
The second property of Zernike polynomials is that the radial function must be a polynomial in r of degree 2n and contain no power of r less than m. The third property
is that r[r] must be even if m is even, and odd if m is odd.
The radial polynomials can be derived as a special case of Jacobi polynomials, and tabulated as r@n, m, rD. Their orthogonality and normalization properties are given
by
‡
1
0
and
r@n, m, ρD r@n ', m, ρD ρ ρ =
1
KroneckerDelta@n − n 'D
2 Hn + 1L
James C. Wyant, 2003
ZernikePolynomialsForTheWeb.nb
2
r@n, m, 1D = 1.
As stated above, r[n, m, r] is a polynomial of order 2n and it can be written as
r@n_, m_, ρ_D := ‚ H−1Ls
n−m
s=0
H2 n − m − sL !
s ! Hn − sL ! Hn − m − sL !
ρ2 Hn−sL−m
In practice, the radial polynomials are combined with sines and cosines rather than with a complex exponential. It is convenient to write
rcos@n_, m_, ρ_D := r@n, m, ρD Cos@m θD
and
rsin@n_, m_, ρ_D := r@n, m, ρD Sin@m θD
The final Zernike polynomial series for the wavefront opd Dw can be written as
n
i
y
¯¯¯¯¯
z
j
a@nD
r@n,
0,
ρD
+
∆w@ρ_, θ_D := ∆w + „ j
j
z
‚ Hb@n, mD rcos@n, m, ρD + c@n, mD rsin@n, m, ρDLz
j
z
k
{
m=1
n=1
nmax
where Dw[r, q] is the mean wavefront opd, and a[n], b[n,m], and c[n,m] are individual polynomial coefficients. For a symmetrical optical system, the wave aberrations
are symmetrical about the tangential plane and only even functions of q are allowed. In general, however, the wavefront is not symmetric, and both sets of trigonometric
terms are included.
2 Calculating Zernikes
For the example below the degree of the Zernike polynomials is selected to be 6. The value of nDegree can be changed if a different degree is desired.
The array zernikePolar contains Zernike polynomials in polar coordinates (r, q), while the array zernikeXy contains the Zernike polynomials in Cartesian, (x, y),
coordinates. zernikePolarList and zernikeXyList contains the Zernike number in column 1, the n and m values in columns 2 and 3, and the Zernike polynomial in
column 4.
nDegree = 6;
i = 0;
Do@If@m == 0, 8i = i + 1, temp@iD = 8i − 1, n, m, r@n, m, ρD<<,
8i = i + 1, temp@iD = 8i − 1, n, m, Factor@rcos@n, m, ρDD<,
i = i + 1, temp@iD = 8i − 1, n, m, Factor@rsin@n, m, ρDD<<D, 8n, 0, nDegree<, 8m, n, 0, −1<D;
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3
zernikePolarList = Array@temp, iD;
Clear@tempD;
Do@zernikePolar@i − 1D = zernikePolarList@@i, 4DD, 8i, 1, Length@zernikePolarListD<D;
zernikeXyList = Map@TrigExpand, zernikePolarListD ê. 9ρ →
!!!!!!!
è!!!!!!!!
x2 + y2 , Cos@θD →
Do@zernikeXy@i − 1D = zernikeXyList@@i, 4DD, 8i, 1, Length@zernikeXyListD<D
x
y
, Sin@θD →
=;
!
!!!!!
!
!!!!!!!
è!!!!!!!!
è!!!!!!!!
x2 + y2
x2 + y2
2.1 Tables of Zernikes
In the tables term # 1 is a constant or piston term, while terms # 2 and # 3 are tilt terms. Term # 4 represents focus. Thus, terms # 2 through # 4 represent the Gaussian
or paraxial properties of the wavefront. Terms # 5 and # 6 are astigmatism plus defocus. Terms # 7 and # 8 represent coma and tilt, while term # 9 represents thirdorder spherical and focus. Likewise terms # 10 through # 16 represent fifth-order aberration, terms # 17 through # 25 represent seventh-order aberrations, terms # 26
through # 36 represent ninth-order aberrations, and terms # 37 through # 49 represent eleventh-order aberrations.
Each term contains the appropriate amount of each lower order term to make it orthogonal to each lower order term. Also, each term of the Zernikes minimizes the rms
wavefront error to the order of that term. Adding other aberrations of lower order can only increase the rms error. Furthermore, the average value of each term over the
unit circle is zero.
2.1.1 Zernikes in polar coordinates
TableForm@zernikePolarList, TableHeadings −> 88<, 8"#", "n", "m", "Polynomial"<<D
#
0
1
2
3
4
5
6
7
8
9
10
n
0
1
1
1
2
2
2
2
2
3
3
m
0
1
1
0
2
2
1
1
0
3
3
Polynomial
1
ρ Cos@θD
ρ Sin@θD
−1 + 2 ρ2
ρ2 Cos@2 θD
ρ2 Sin@2 θD
ρ H−2 + 3 ρ2 L Cos@θD
ρ H−2 + 3 ρ2 L Sin@θD
1 − 6 ρ2 + 6 ρ4
ρ3 Cos@3 θD
ρ3 Sin@3 θD
ZernikePolynomialsForTheWeb.nb
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
3
3
3
3
3
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
James C. Wyant, 2003
2
2
1
1
0
4
4
3
3
2
2
1
1
0
5
5
4
4
3
3
2
2
1
1
0
6
6
5
5
4
4
3
3
2
2
ρ2 H−3 + 4 ρ2 L Cos@2 θD
ρ2 H−3 + 4 ρ2 L Sin@2 θD
ρ H3 − 12 ρ2 + 10 ρ4 L Cos@θD
ρ H3 − 12 ρ2 + 10 ρ4 L Sin@θD
−1 + 12 ρ2 − 30 ρ4 + 20 ρ6
ρ4 Cos@4 θD
ρ4 Sin@4 θD
ρ3 H−4 + 5 ρ2 L Cos@3 θD
ρ3 H−4 + 5 ρ2 L Sin@3 θD
ρ2 H6 − 20 ρ2 + 15 ρ4 L Cos@2 θD
ρ2 H6 − 20 ρ2 + 15 ρ4 L Sin@2 θD
ρ H−4 + 30 ρ2 − 60 ρ4 + 35 ρ6 L Cos@θD
ρ H−4 + 30 ρ2 − 60 ρ4 + 35 ρ6 L Sin@θD
1 − 20 ρ2 + 90 ρ4 − 140 ρ6 + 70 ρ8
ρ5 Cos@5 θD
ρ5 Sin@5 θD
ρ4 H−5 + 6 ρ2 L Cos@4 θD
ρ4 H−5 + 6 ρ2 L Sin@4 θD
ρ3 H10 − 30 ρ2 + 21 ρ4 L Cos@3 θD
ρ3 H10 − 30 ρ2 + 21 ρ4 L Sin@3 θD
ρ2 H−10 + 60 ρ2 − 105 ρ4 + 56 ρ6 L Cos@2 θD
ρ2 H−10 + 60 ρ2 − 105 ρ4 + 56 ρ6 L Sin@2 θD
ρ H5 − 60 ρ2 + 210 ρ4 − 280 ρ6 + 126 ρ8 L Cos@θD
ρ H5 − 60 ρ2 + 210 ρ4 − 280 ρ6 + 126 ρ8 L Sin@θD
−1 + 30 ρ2 − 210 ρ4 + 560 ρ6 − 630 ρ8 + 252 ρ10
ρ6 Cos@6 θD
ρ6 Sin@6 θD
ρ5 H−6 + 7 ρ2 L Cos@5 θD
ρ5 H−6 + 7 ρ2 L Sin@5 θD
ρ4 H15 − 42 ρ2 + 28 ρ4 L Cos@4 θD
ρ4 H15 − 42 ρ2 + 28 ρ4 L Sin@4 θD
ρ3 H−20 + 105 ρ2 − 168 ρ4 + 84 ρ6 L Cos@3 θD
ρ3 H−20 + 105 ρ2 − 168 ρ4 + 84 ρ6 L Sin@3 θD
ρ2 H15 − 140 ρ2 + 420 ρ4 − 504 ρ6 + 210 ρ8 L Cos@2 θD
ρ2 H15 − 140 ρ2 + 420 ρ4 − 504 ρ6 + 210 ρ8 L Sin@2 θD
4
ZernikePolynomialsForTheWeb.nb
46
47
48
James C. Wyant, 2003
6
6
6
5
ρ H−6 + 105 ρ2 − 560 ρ4 + 1260 ρ6 − 1260 ρ8 + 462 ρ10 L Cos@θD
ρ H−6 + 105 ρ2 − 560 ρ4 + 1260 ρ6 − 1260 ρ8 + 462 ρ10 L Sin@θD
1 − 42 ρ2 + 420 ρ4 − 1680 ρ6 + 3150 ρ8 − 2772 ρ10 + 924 ρ12
1
1
0
2.1.2 Zernikes in Cartesian coordinates
TableForm@zernikeXyList, TableHeadings −> 88<, 8"#", "n", "m", "Polynomial"<<D
#
0
1
2
3
4
5
6
7
n
0
1
1
1
2
2
2
2
m
0
1
1
0
2
2
1
1
8
9
10
11
12
2
3
3
3
3
0
3
3
2
2
13
3
1
14
3
1
15
16
17
18
19
3
4
4
4
4
0
4
4
3
3
20
4
2
21
4
2
22
4
1
23
4
1
24
25
26
27
28
4
5
5
5
5
0
5
5
4
4
29
5
3
30
5
3
31
5
2
32
5
2
33
5
1
34
5
1
35
36
37
38
39
5
6
6
6
6
0
6
6
5
5
40
6
4
Polynomial
1
x
y
−1 + 2 Hx2 + y2 L
x2 − y2
2xy
−2 x + 3 x Hx2 + y2 L
−2 y + 3 y Hx2 + y2 L
1 − 6 Hx2 + y2 L + 6 Hx2 + y2 L
x3 − 3 x y2
3 x2 y − y3
−3 x2 + 3 y2 + 4 x2 Hx2 + y2 L − 4 y2 Hx2 + y2 L
−6 x y + 8 x y Hx2 + y2 L
2
3 x − 12 x Hx2 + y2 L + 10 x Hx2 + y2 L
2
3 y − 12 y Hx2 + y2 L + 10 y Hx2 + y2 L
2
−1 + 12 Hx2 + y2 L − 30 Hx2 + y2 L + 20 Hx2 + y2 L
x4 − 6 x2 y2 + y4
4 x3 y − 4 x y3
−4 x3 + 12 x y2 + 5 x3 Hx2 + y2 L − 15 x y2 Hx2 + y2 L
−12 x2 y + 4 y3 + 15 x2 y Hx2 + y2 L − 5 y3 Hx2 + y2 L
2
3
6 x2 − 6 y2 − 20 x2 Hx2 + y2 L + 20 y2 Hx2 + y2 L + 15 x2 Hx2 + y2 L − 15 y2 Hx2 + y2 L
2
12 x y − 40 x y Hx2 + y2 L + 30 x y Hx2 + y2 L
2
2
−4 x + 30 x Hx2 + y2 L − 60 x Hx2 + y2 L + 35 x Hx2 + y2 L
2
3
−4 y + 30 y Hx2 + y2 L − 60 y Hx2 + y2 L + 35 y Hx2 + y2 L
2
3
1 − 20 Hx2 + y2 L + 90 Hx2 + y2 L − 140 Hx2 + y2 L + 70 Hx2 + y2 L
x5 − 10 x3 y2 + 5 x y4
5 x4 y − 10 x2 y3 + y5
−5 x4 + 30 x2 y2 − 5 y4 + 6 x4 Hx2 + y2 L − 36 x2 y2 Hx2 + y2 L + 6 y4 Hx2 + y2 L
−20 x3 y + 20 x y3 + 24 x3 y Hx2 + y2 L − 24 x y3 Hx2 + y2 L
2
3
4
10 x3 − 30 x y2 − 30 x3 Hx2 + y2 L + 90 x y2 Hx2 + y2 L + 21 x3 Hx2 + y2 L − 63 x y2 Hx2 + y2 L
Hx2
y2 L
Hx2
y2 L
Hx2
2
2
y2 L
2
Hx2
2
y2 L
−10 x2 + 10 y2 + 60 x2 Hx2 + y2 L − 60 y2 Hx2 + y2 L − 105 x2 Hx2 + y2 L + 105 y2 Hx2 + y2 L + 56 x2 Hx2 + y2 L − 56 y2 Hx2 + y2 L
30
x2
y − 10
y3
− 90
x2
y
+
+ 30
y3
+
+ 63
x2
y
+
−20 x y + 120 x y Hx2 + y2 L − 210 x y Hx2 + y2 L + 112 x y Hx2 + y2 L
2
− 21
y3
+
2
2
3
3
3
5 x − 60 x Hx2 + y2 L + 210 x Hx2 + y2 L − 280 x Hx2 + y2 L + 126 x Hx2 + y2 L
2
3
2
3
4
5 y − 60 y Hx2 + y2 L + 210 y Hx2 + y2 L − 280 y Hx2 + y2 L + 126 y Hx2 + y2 L
Hx2
y2 L
Hx2
2
y2 L
Hx2
3
y2 L
Hx2
4
y2 L
4
−1 + 30
+
− 210
+
+ 560
+
− 630
+
+ 252 Hx2 + y2 L
x6 − 15 x4 y2 + 15 x2 y4 − y6
6 x5 y − 20 x3 y3 + 6 x y5
−6 x5 + 60 x3 y2 − 30 x y4 + 7 x5 Hx2 + y2 L − 70 x3 y2 Hx2 + y2 L + 35 x y4 Hx2 + y2 L
−30 x4 y + 60 x2 y3 − 6 y5 + 35 x4 y Hx2 + y2 L − 70 x2 y3 Hx2 + y2 L + 7 y5 Hx2 + y2 L
5
15 x4 − 90 x2 y2 + 15 y4 − 42 x4 Hx2 + y2 L + 252 x2 y2 Hx2 + y2 L − 42 y4 Hx2 + y2 L + 28 x4 Hx2 + y2 L − 168 x2 y2 Hx2 + y2 L + 28 y4 Hx2 + y2 L
2
2
2
James C. Wyant, 2003
ZernikePolynomialsForTheWeb.nb
6
60 x3 y − 60 x y3 − 168 x3 y Hx2 + y2 L + 168 x y3 Hx2 + y2 L + 112 x3 y Hx2 + y2 L − 112 x y3 Hx2 + y2 L
2
2
−20 x3 + 60 x y2 + 105 x3 Hx2 + y2 L − 315 x y2 Hx2 + y2 L − 168 x3 Hx2 + y2 L + 504 x y2 Hx2 + y2 L + 84 x3 Hx2 + y2 L − 252 x y2 Hx2 + y2 L
41
6
4
42
6
3
43
6
3
44
6
2
15 x2 − 15 y2 − 140 x2 Hx2 + y2 L + 140 y2 Hx2 + y2 L + 420 x2 Hx2 + y2 L − 420 y2 Hx2 + y2 L − 504 x2 Hx2 + y2 L + 504 y2 Hx2 + y2 L + 210 x2 Hx2 + y2 L − 210 y2 Hx2 + y2 L
45
6
2
30 x y − 280 x y
46
6
1
47
6
1
−6 y + 105 y Hx2 + y2 L − 560 y Hx2 +
48
6
0
1 − 42
2
2
3
3
−60 x2 y + 20 y3 + 315 x2 y Hx2 + y2 L − 105 y3 Hx2 + y2 L − 504 x2 y Hx2 + y2 L + 168 y3 Hx2 + y2 L + 252 x2 y Hx2 + y2 L − 84 y3 Hx2 + y2 L
2
Hx2
y2 L
Hx2
2
y2 L
Hx2
3
y2 L
2
2
Hx2
4
y2 L
3
2
3
3
3
4
4
−6 x + 105 x Hx2 + y2 L − 560 x Hx2 + y2 L + 1260 x Hx2 + y2 L − 1260 x Hx2 + y2 L + 462 x Hx2 + y2 L
Hx2
+
y2 L
+
+ 420
Hx2
+ 840 x y
+
2
y2 L
+
2
2
y2 L
− 1680
− 1008 x y
+ 1260 y Hx2 +
Hx2
+
3
y2 L
3
3
y2 L
+ 3150
+
+ 420 x y
− 1260 y Hx2 +
Hx2
+
4
y2 L
4
4
y2 L
− 2772
Hx2
+
5
+ 462 y Hx2 + y2 L
+
5
y2 L
+ 924
Hx2
5
+ y2 L
6
2.2 OSC Zernikes
Much of the early work using Zernike polynomials in the computer analysis of interferograms was performed by John Loomis at the Optical Sciences Center, University
of Arizona in the 1970s. In the OSC work Zernikes for n= 1 through 5 and the n=6, m=0 term were used. The n=m=0 term (piston term) was used in interferogram
analysis, but it was not included in the numbering of the Zernikes. Thus, there were 36 Zernike terms, plus the piston term used.
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3 Zernike Plots
A few sample plots are given in this section. More plots can be found at http://www.optics.arizona.edu/jcwyant/Zernikes/ZernikePolynomials.htm.
3.1 Density Plots
zernikeNumber = 8;
temp = zernikeXy@zernikeNumberD;
DensityPlot@If@x2 + y2 ≤ 1, HCos@2 π tempDL2 , 1D, 8x, −1, 1<, 8y, −1, 1<,
PlotLabel → "Zernike #" <> ToString@zernikeNumberD, ColorFunction → GrayLevel, PlotPoints −> 150, Mesh −> FalseD;
Zernike #8
1
0.5
0
-0.5
-1
-1
-0.5
0
0.5
1
7
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
8
3.2 3D Plots
zernikeNumber = 8;
temp = zernikeXy@zernikeNumberD; Graphics3D@Plot3D@
8If@x2 + y2 ≤ 1, temp, 1D, If@x2 + y2 ≤ 1, Hue@temp, 1, 1D, Hue@1, 1, 1DD<, 8x, −1, 1<, 8y, −1, 1<, PlotPoints → 40DD;
1
1
0.5
0
0.5
-0.5
-1
0
-0.5
-0.5
0
0.5
1
-1
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
zernikeNumber = 8;
temp = zernikeXy@zernikeNumberD;
Graphics3D@Plot3D@If@x2 + y2 ≤ 1, temp, 1D, 8x, −1, 1<, 8y, −1, 1<, PlotPoints → 40,
LightSources −> 8881., 0., 1.<, RGBColor@1, 0, 0D<,
881., 1., 1.<, RGBColor@0, 1, 0D<, 880., 1., 1.<, RGBColor@0, 0, 1D<,
88−1., 0., −1.<, RGBColor@1, 0, 0D<, 88−1., −1., −1.<, RGBColor@0, 1, 0D<,
880., −1., −1.<, RGBColor@0, 0, 1D<<DD;
1
1
0.5
0
0.5
-0.5
-1
0
-0.5
-0.5
0
0.5
1 -1
9
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.3 Cylindrical Plot 3D
zernikeNumber = 8;
temp = zernikePolar@zernikeNumberD;
gr = CylindricalPlot3D@temp, 8ρ, 0, 1<, 8θ, 0, 2 π<, BoxRatios → 81, 1, 0.5<, Boxed → False, Axes → FalseD;
10
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
zernikeNumber = 5;
temp = zernikePolar@zernikeNumberD;
gr = CylindricalPlot3D@8temp, Hue@tempD<, 8ρ, 0, 1<,
8θ, 0, 2 π<, BoxRatios → 81, 1, 0.5<, Boxed → False, Axes → False, Lighting → FalseD;
11
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
Can rotate without getting dark side
zernikeNumber = 5;
temp = zernikePolar@zernikeNumberD;
gr = CylindricalPlot3D@temp, 8ρ, 0, 1<, 8θ, 0, 2 π<, BoxRatios → 81, 1, 0.5<,
Boxed → False, Axes → False, LightSources −> 8881., 0., 1.<, RGBColor@1, 0, 0D<,
881., 1., 1.<, RGBColor@0, 1, 0D<, 880., 1., 1.<, RGBColor@0, 0, 1D<,
88−1., 0., −1.<, RGBColor@1, 0, 0D<, 88−1., −1., −1.<, RGBColor@0, 1, 0D<,
880., −1., −1.<, RGBColor@0, 0, 1D<<D;
12
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
zernikeNumber = 16;
temp = zernikePolar@zernikeNumberD;
gr = CylindricalPlot3D@temp, 8ρ, 0, 1<, 8θ, 0, 2 π<, BoxRatios → 81, 1, 0.5<,
Boxed → False, Axes → False, LightSources −> 8881., 0., 1.<, RGBColor@1, 0, 0D<,
881., 1., 1.<, [email protected], 1, 0D<, 880., 1., 1.<, RGBColor@1, 0, 0D<,
88−1., 0., −1.<, RGBColor@1, 0, 0D<, 88−1., −1., −1.<, [email protected], 1, 0D<,
880., −1., −1.<, RGBColor@1, 0, 0D<<D;
13
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.4 Surfaces of Revolution
zernikeNumber = 8;
temp = zernikePolar@zernikeNumberD;
SurfaceOfRevolution@temp, 8ρ, 0, 1<, PlotPoints → 40, BoxRatios → 81, 1, 0.5<,
LightSources −> 8881., 0., 1.<, RGBColor@1, 0, 0D<,
881., 1., 1.<, [email protected], 1, 0D<, 880., 1., 1.<, RGBColor@1, 0, 0D<,
88−1., 0., −1.<, RGBColor@1, 0, 0D<, 88−1., −1., −1.<, [email protected], 1, 0D<,
880., −1., −1.<, RGBColor@1, 0, 0D<<D;
1
0.5
1
0
0.5
-0.5
0
-1
-0.5
-0.5
0
0.5
1
-1
14
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.5 3D Shadow Plots
zernikeNumber = 5;
temp = zernikeXy@zernikeNumberD;
è!!!!!!!!!!!!! è!!!!!!!!!!!!!
ShadowPlot3DAtemp, 9x, − 1 − y2 , 1 − y2 =, 8y, −1, 1<, PlotPoints → 40E;
15
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.6 Animated Plots
3.6.1 Animated Density Plots
zernikeNumber = 3;
temp = zernikeXy@zernikeNumberD;
MovieDensityPlotAIfAx2 + y2 < 1, Sin@Htemp + t y2 L πD , 1E, 8x, −1, 1<, 8y, −1, 1<,
2
8t, −7, 4, 1<, PlotPoints → 100, Mesh −> False, FrameTicks −> None, Frame → FalseE;
16
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.6.2 Animated 3D Shadow Plots
zernikeNumber = 5;
temp = zernikeXy@zernikeNumberD;
è!!!!!!!!!!!!! è!!!!!!!!!!!!!
g = ShadowPlot3DAtemp, 9x, − 1 − y2 , 1 − y2 =, 8y, −1, 1<, PlotPoints → 40, DisplayFunction → IdentityE;
SpinShow@ g, Frames −> 6,
SpinRange −> 80 Degree, 360 Degree< D
17
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.6.3 Animated Cylindrical Plot 3D
zernikeNumber = 5;
temp = zernikePolar@zernikeNumberD;
gr = CylindricalPlot3D@8temp, Hue@Abs@temp + .4DD<, 8ρ, 0, 1<, 8θ, 0, 2 π<,
BoxRatios → 81, 1, 0.5<, Boxed → False, Axes → False, Lighting → False, DisplayFunction → IdentityD;
SpinShow@ gr, Frames −> 6,
SpinRange −> 80 Degree, 360 Degree< D
18
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.7 Two pictures stereograms
zernikeNumber = 8;
Print@"Zernike #" <> ToString@zernikeNumberDD;
ed = 0.6;
temp = zernikeXy@zernikeNumberD;
f@x_, y_D := temp ê; Hx2 + y2 L < 1
f@x_, y_D := 1 ê; Hx2 + y2 L >= 1
plottemp = Plot3D@f@x, yD, 8x, −1, 1<, 8y, −1, 1<, Boxed → False,
Axes → False, DisplayFunction → Identity, PlotPoints → 50, Mesh −> FalseD;
Show@GraphicsArray@8Show@plottemp, ViewPoint −> 8−ed ê 2, −2.4, 2.<, ViewCenter → 0.5 + 8−ed ê 2, 0, 0<D,
Show@plottemp, ViewPoint −> 8ed ê 2, −2.4, 2.<, ViewCenter → 0.5 + 8ed ê 2, 0, 0<D<,
GraphicsSpacing → 0D, PlotLabel → zernikeXy@zernikeNumberDD;
Zernike #8
1 − 6 Hx2 + y2 L + 6 Hx2 + y2 L
2
19
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
3.8 Single picture stereograms
zernikeNumber = 8;
temp = zernikeXy@zernikeNumberD;
tempPlot = Plot3D@If@x2 + y2 < 1, temp, 1D, 8x, −1, 1<, 8y, −1, 1<, PlotPoints → 400, DisplayFunction → IdentityD;
SIRDS@tempPlotD;
Clear@temp, tempPlotD;
20
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
21
4 Relationship between Zernike polynomials and third-order aberrations
4.1 Wavefront aberrations
The third-order wavefront aberrations can be written as shown in the table below. Because there is no field dependence in these terms they are not true Seidel
aberrations. Wavefront measurement using an interferometer only provides data at a single field point. This causes field curvature to look like focus and distortion to
look like tilt. Therefore, a number of field points must be measured to determine the Seidel aberrations.
thirdOrderAberration = 88"piston", w00 <, 8"tilt", w11 ρ Cos@θ − αTilt D<, 8"focus", w20 ρ2 <,
8"astigmatism", w22 ρ2 Cos@θ − αAst D2 <, 8"coma", w31 ρ3 Cos@θ − αComa D<, 8"spherical", w40 ρ4 <<;
TableForm@thirdOrderAberrationD
piston
tilt
focus
astigmatism
coma
spherical
w0
ρ Cos@θ − αTilt D w11
ρ2 w20
ρ2 Cos@θ − αAst D2 w22
ρ3 Cos@θ − αComa D w31
ρ4 w40
4.2 Zernike terms
First-order wavefront properties and third-order wavefront aberration coefficients can be obtained from the Zernike polynomials. Let the coefficients of the first nine
zernikes be given by
zernikeCoefficient = 8z0 , z1 , z2 , z3 , z4 , z5 , z6 , z7 , z8 <;
The coefficients can be multiplied times the Zernike polynomials to give the wavefront aberration.
wavefrontAberrationList = Table@zernikeCoefficient zernikePolarList@@Range@1, 9D, 4DDD;
We will now express the wavefront aberrations and the corresponding Zernike terms in a table
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
22
4.3 Table of Zernikes and aberrations
wavefrontAberrationLabels = 8"piston", "x−tilt", "y−tilt", "focus", "astigmatism at 0 degrees & focus",
"astigmatism at 45 degrees & focus", "coma and x−tilt", "coma and y−tilt", "spherical & focus"<;
Do@
8tableData@i, 1D = wavefrontAberrationLabels@@iDD, tableData@i, 2D = wavefrontAberrationList@@iDD<, 8i, 1, 9<D
TableForm@Array@tableData, 89, 2<D, TableHeadings → 88<, 8"Aberration", "Zernike Term"<<D
Aberration
piston
x−tilt
y−tilt
focus
astigmatism at 0 degrees & focus
astigmatism at 45 degrees & focus
coma and x−tilt
coma and y−tilt
spherical & focus
Zernike Term
z0
ρ Cos@θD z1
ρ Sin@θD z2
H−1 + 2 ρ2 L z3
ρ2 Cos@2 θD z4
ρ2 Sin@2 θD z5
ρ H−2 + 3 ρ2 L Cos@θD z6
ρ H−2 + 3 ρ2 L Sin@θD z7
H1 − 6 ρ2 + 6 ρ4 L z8
The Zernike expansion above can be rewritten grouping like terms and equating them with the wavefront aberration coefficients.
wavefrontAberration = Collect@Sum@wavefrontAberrationList@@iDD, 8i, 9<D, ρD
z0 − z3 + ρ HCos@θD z1 + Sin@θD z2 − 2 Cos@θD z6 − 2 Sin@θD z7 L +
ρ3 H3 Cos@θD z6 + 3 Sin@θD z7 L + ρ2 H2 z3 + Cos@2 θD z4 + Sin@2 θD z5 − 6 z8 L + z8 + 6 ρ4 z8
piston = Select@wavefrontAberration, FreeQ@#, ρD &D;
tilt = Collect@Select@wavefrontAberration, MemberQ@#, ρ D &D, 8ρ, Cos@θD, Sin@θD<D;
focusPlusAstigmatism = Select@wavefrontAberration, MemberQ@#, ρ2 D &D;
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
coma = Select@wavefrontAberration, MemberQ@#, ρ3 D &D;
spherical = Select@wavefrontAberration, MemberQ@#, ρ4 D &D;
4.4 zernikeThirdOrderAberration Table
zernikeThirdOrderAberration = 88"piston", piston<, 8"tilt", tilt<,
8"focus + astigmatism", focusPlusAstigmatism<, 8"coma", coma<, 8"spherical", spherical<<;
TableForm@zernikeThirdOrderAberrationD
piston
tilt
focus + astigmatism
coma
spherical
z0 − z3 + z8
ρ HCos@θD Hz1 − 2 z6 L + Sin@θD Hz2 − 2 z7 LL
ρ2 H2 z3 + Cos@2 θD z4 + Sin@2 θD z5 − 6 z8 L
ρ3 H3 Cos@θD z6 + 3 Sin@θD z7 L
6 ρ4 z8
These tilt, coma, and focus plus astigmatism terms can be rearranged using the equation
è!!!!!!!!!!!!!!!
a Cos@θD + b Sin@θD = a2 + b2 Cos@θ − ArcTan@a, bDD.
4.4.1 Tilt
tilt = tilt ê. a_ Cos@θ_D + b_ Sin@θD →
è!!!!!!!!
!!!!!!!
a2 + b2 Cos@θ − ArcTan@a, bDD
ρ Cos@θ − ArcTan@z1 − 2 z6 , z2 − 2 z7 DD
"################################
#######################
Hz1 − 2 z6 L2 + Hz2 − 2 z7 L2
4.4.2 Coma
coma = SimplifyAcoma ê. a_ Cos@θ_D + b_ Sin@θD →
!!!!!!!
è!!!!!!!!
a2 + b2 Cos@θ − ArcTan@a, bDDE
23
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
24
3 ρ3 Cos@θ − ArcTan@z6 , z7 DD "########
z26 +######
z27#
4.4.3 Focus
This is a little harder because we must separate the focus and the astigmatism.
focusPlusAstigmatism
ρ2 H2 z3 + Cos@2 θD z4 + Sin@2 θD z5 − 6 z8 L
focusPlusAstigmatism = focusPlusAstigmatism ê. a_ Cos@θ_D + b_ Sin@θ_D →
z24 +######
z25# − 6 z8 N
ρ2 J2 z3 + Cos@2 θ − ArcTan@z4 , z5 DD "########
!!!!!!!
è!!!!!!!!
a2 + b2 Cos@θ − ArcTan@a, bDD
But Cos@2 φD = 2 Cos@φD2 − 1
focusPlusAstigmatism = focusPlusAstigmatism ê. a_ Cos@2 θ_ − θ1_D → 2 a CosAθ −
2
1
i
y
z24 +######
z25# + 2 CosAθ −
ArcTan@z4 , z5 DE "########
z25# − 6 z8 z
ρ2 j
z24 +######
j2 z3 − "########
z
2
k
{
Let
θ1
2
E −a
2
"###############
i
y
focusMinus = ρ2 j
j2 z3 − z24 + z25 − 6 z8 z
z;
k
{
è!!!!!!!!
!!!!!!!!!2!
è!!!!!!!!!!!!!!!!!!
2
2
Sometimes 2 I z4 + z5 M ρ is added to the focus term to make its absolute value smaller and then 2 I z4 2 + z5 2 M ρ2 must be subtracted from the astigmatism
term. This gives a focus term equal to
"###############
i
y
focusPlus = ρ2 j
j2 z3 + z24 + z25 − 6 z8 z
z;
k
{
For the focus we select the sign that will give the smallest magnitude.
focus = If@Abs@focusPlus ê ρ2 D < Abs@focusMinus ê ρ2 D, focusPlus, focusMinusD;
James C. Wyant, 2003
ZernikePolynomialsForTheWeb.nb
25
It should be noted that most commercial interferogram analysis programs do not try to minimize the absolute valus of the focus term so the focus is set equal to
focusMinus.
4.4.4 Astigmatism
astigmatismMinus = focusPlusAstigmatism − focusMinus êê Simplify
2 ρ2 CosAθ −
2
1
ArcTan@z4 , z5 DE "########
z25#
z24 +######
2
astigmatismPlus = focusPlusAstigmatism − focusPlus êê Simplify
−2 ρ2 SinAθ −
Since Sin@θ −
1
2
2
1
ArcTan@z4 , z5 DE "########
z25#
z24 +######
2
ArcTan@z4 , z5 DD
2
is equal to
Cos@θ − H 12 ArcTan@z4 , z5 D +
π y 2 "########
#######
i1
z
astigmatismPlus = −2 ρ2 CosAθ − j
ArcTan@z
,
z
D
+
z24 + z25 ;
j
zE
4
5
2
2
k
{
π
2
LD , astigmatismPlus could be written as
2
Note that in going from astigmatismMinus to astigmatismPlus not only are we changing the sign of the astigmatism term, but we are also rotating it 90°.
We need to select the sign opposite that chosen in the focus term.
astigmatism = If@Abs@focusPlus ê ρ2 D < Abs@focusMinus ê ρ2 D, astigmatismPlus, astigmatismMinusD;
Again it should be noted that most commercial interferogram analysis programs do not try to minimize the absolute valus of the focus term and the astigmatism is given
by astigmatismMinus.
4.4.5 Spherical
spherical = 6 z8 ρ4
4.5 seidelAberrationList Table
We can summarize the results as follows.
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
seidelAberrationList := 88"piston", piston<, 8"tilt", tilt<,
8"focus", focus<, 8"astigmatism", astigmatism<, 8"coma", coma<, 8"spherical", spherical<<;
seidelAberrationList êê TableForm
è!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!
ρ Cos@θ − ArcTan@z1 − 2 z6 , z2 − 2 z7 DD Hz1 − 2 z6 L2 + Hz2 − 2 z7 L2
IfAAbsA2 z3 + "########
z24 +######
z25# − 6 z8 E < AbsA2 z3 − "########
z24 +######
z25# − 6 z8 E, focusPlus, focusMinusE
z0 − z3 + z8
piston
tilt
focus
z24 +######
z25# − 6 z8 E < AbsA2 z3 − "########
z24 +######
z25# − 6 z8 E, astigmatismPlus, astigmatismMinusE
IfAAbsA2 z3 + "########
coma
z26 +######
z27#
3 ρ3 Cos@θ − ArcTan@z6 , z7 DD "########
spherical
6 ρ4 z8
astigmatism
4.5.1 Typical Results
seidelAberrationList êê. 8z0 → 0, z1 → 1, z2 → 1, z3 → 1, z4 → 3, z5 → 1, z6 → 1, z7 → 1, z8 → 2< êê TableForm
coma
1
è!!!
2 ρ Cos@ 34π + θD
è!!!!!!
I−10 + 10 M ρ2
è!!!!!!
−2 10 ρ2 Sin@θ − 12 ArcTan@
è!!!
3 2 ρ3 Cos@ π4 − θD
spherical
12 ρ4
piston
tilt
focus
astigmatism
1
3
DD
2
seidelAberration = Apply@Plus, seidelAberrationListD@@2DD;
seidelAberration êê. 8z0 → 0, z1 → 1, z2 → 1, z3 → 1, z4 → 3, z5 → 1, z6 → 1, z7 → 1, z8 → 2<
1 + I−10 +
2
π
3π
1
1
è!!!!!!
è!!!
è!!!
è!!!!!!
10 M ρ2 + 12 ρ4 + 3 2 ρ3 CosA − θE + 2 ρ CosA
+ θE − 2 10 ρ2 SinAθ −
ArcTanA EE
4
4
2
3
26
James C. Wyant, 2003
ZernikePolynomialsForTheWeb.nb
27
5 RMS Wavefront Aberration
If the wavefront aberration can be described in terms of third-order aberrations, it is convenient to specify the wavefront aberration by stating the number of waves of
each of the third-order aberrations present. This method for specifying a wavefront is of particular convenience if only a single third-order aberration is present. For
more complicated wavefront aberrations it is convenient to state the peak-to-valley (P-V) sometimes called peak-to-peak (P-P) wavefront aberration. This is simply the
maximum departure of the actual wavefront from the desired wavefront in both positive and negative directions. For example, if the maximum departure in the positive
direction is +0.2 waves and the maximum departure in the negative direction is -0.1 waves, then the P-V wavefront error is 0.3 waves.
While using P-V to specify wavefront error is convenient and simple, it can be misleading. Stating P-V is simply stating the maximum wavefront error, and it is telling
nothing about the area over which this error is occurring. An optical system having a large P-V error may actually perform better than a system having a small P-V
error. It is generally more meaningful to specify wavefront quality using the rms wavefront error.
The next equation defines the rms wavefront error s for a circular pupil, as well as the variance s2 . Dw(r, q) is measured relative to the best fit spherical wave, and it
generally has the units of waves. Dw is the mean wavefront OPD.
average@∆w_D :=
1
π
‡
2π
0
‡ ∆w ρ ρ θ;
1
0
1 2π 1
2 %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
standardDeviation@∆w_D := $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ρ ρ θ
Ÿ Ÿ H∆w − average@∆wDL
π 0 0
As an example we will calculate the relationship between s and the mean wavefront aberrations for the third-order aberrations of a circular pupil.
meanRmsList = 98"Defocus", "w20 ρ2 ", w20 average@ρ2 D, w20 N@ standardDeviation@ρ2 D, 3D<,
8"Spherical", "w40 ρ4 ", w40 average@ρ4 D, w40 N@ standardDeviation@ρ4 D, 3D<,
8"Spherical & Defocus", "w40 Hρ4 −ρ2 L", w40 average@Hρ4 − ρ2 LD, w20 N@ standardDeviation@Hρ4 − ρ2 LD, 3D<,
8"Astigmatism", "w22 ρ2 Cos@θD2 ", w22 average@ρ2 Cos@θD2 D, w22 N@ standardDeviation@ρ2 Cos@θD2 D, 3D<,
1
9"Astigmatism & Defocus", "w22 ρ2 HCos@θD2 − L",
2
1
1
i
jCos@θD2 − y
jCos@θD2 − y
zE, w22 NA standardDeviationAρ2 i
zE, 3E=,
w22 averageAρ2 j
j
z
z
2{
2{
k
k
8"Coma", "w31 ρ3 Cos@θD", w31 average@ρ3 Cos@θDD, w31 N@ standardDeviation@ρ3 Cos@θDD, 3D<, 9"Coma & Tilt",
2
i 3 2 y
i 3 2 y
"w31 Hρ3 − ρL Cos@θD", w31 averageAj
ρz
ρz
jρ −
z Cos@θDE, w31 NA standardDeviationAj
jρ −
z Cos@θDE, 3E==;
3
3 {
3 {
k
k
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
28
¯¯¯¯¯
TableForm@meanRmsList, TableHeadings −> 88<, 8"Aberration", "∆w", "∆w", "RMS"<<D
¯¯¯¯¯
∆w
Aberration
Defocus
∆w
w20 ρ2
Spherical
w40 ρ4
Spherical & Defocus
w40
Hρ4 −ρ2 L
w22
ρ2
Astigmatism & Defocus
w22
ρ2
L
0
0.204124 w22
Coma
Coma & Tilt
w31
Cos@θD
w31 Hρ3 − 23 ρL Cos@θD
0
0
0.353553 w31
0.117851 w31
Astigmatism
2
HCos@θD −
Cos@θD
2
1
2
ρ3
w20
2
w40
3
− w640
w22
4
RMS
0.288675 w20
0.298142 w40
0.0745356 w20
0.25 w22
If the wavefront aberration can be expressed in terms of Zernike polynomials, the wavefront variance can be calculated in a simple form by using the orthogonality
relations of the Zernike polynomials. The final result for the entire unit circle is
++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
*++++++++++++++++++++++++++++++++
nmax
n
2
2
i
z
j
b@n,
mD
+ c@n, mD2 y
1
a@nD
z
j
z
z
j
+
σ = („ j
;
„
z
j
z
j
z
j2n+1
2
2n+1−m
{
n=1 k
m=1
The following table gives the relationship between s and the Zernike polynomials if the Zernike coefficients are unity.
zernikeRms = TableAIfAzernikePolarList@@i, 3DD == 0,
1
,
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!
è!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 zernikePolarList@@i, 2DD + 1
1
E, 8i, Length@zernikePolarListD<E;
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!
è!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 H2 zernikePolarList@@i, 2DD + 1 − zernikePolarList@@i, 3DDL
zernikePolarRmsList = Transpose@Insert@Transpose@zernikePolarListD, zernikeRms, 4DD;
TableForm@zernikePolarRmsList, TableHeadings −> 88<, 8"#", "n", "m", "RMS", "Polynomial"<<D
#
0
n
0
m
0
RMS
1
1
1
1
2
1
1
3
1
0
1
2
1
2
1
è!!!!
3
Polynomial
1
ρ Cos@θD
ρ Sin@θD
−1 + 2 ρ2
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
4
2
2
5
2
2
6
2
1
7
2
1
8
2
0
9
3
3
10
3
3
11
3
2
12
3
2
13
3
1
14
3
1
15
3
0
16
4
4
17
4
4
18
4
3
19
4
3
20
4
2
21
4
2
22
4
1
23
4
1
24
4
0
25
5
5
26
5
5
27
5
4
28
5
4
29
5
3
30
5
3
1
è!!!!
6
1
è!!!!
6
1
è!!!!
2 2
1
è!!!!
2 2
1
è!!!!
5
1
è!!!!
2 2
1
è!!!!
2 2
1
è!!!!!!
10
1
è!!!!!!
10
1
è!!!!
2 3
1
è!!!!
2 3
1
è!!!!
7
1
è!!!!!!
10
1
è!!!!!!
10
1
è!!!!
2 3
1
è!!!!
2 3
1
è!!!!!!
14
1
è!!!!!!
14
1
4
1
4
1
3
1
è!!!!
2 3
1
è!!!!
2 3
1
è!!!!!!
14
1
è!!!!!!
14
1
4
1
4
ρ2 Cos@2 θD
ρ2 Sin@2 θD
ρ H−2 + 3 ρ2 L Cos@θD
ρ H−2 + 3 ρ2 L Sin@θD
1 − 6 ρ2 + 6 ρ4
ρ3 Cos@3 θD
ρ3 Sin@3 θD
ρ2 H−3 + 4 ρ2 L Cos@2 θD
ρ2 H−3 + 4 ρ2 L Sin@2 θD
ρ H3 − 12 ρ2 + 10 ρ4 L Cos@θD
ρ H3 − 12 ρ2 + 10 ρ4 L Sin@θD
−1 + 12 ρ2 − 30 ρ4 + 20 ρ6
ρ4 Cos@4 θD
ρ4 Sin@4 θD
ρ3 H−4 + 5 ρ2 L Cos@3 θD
ρ3 H−4 + 5 ρ2 L Sin@3 θD
ρ2 H6 − 20 ρ2 + 15 ρ4 L Cos@2 θD
ρ2 H6 − 20 ρ2 + 15 ρ4 L Sin@2 θD
ρ H−4 + 30 ρ2 − 60 ρ4 + 35 ρ6 L Cos@θD
ρ H−4 + 30 ρ2 − 60 ρ4 + 35 ρ6 L Sin@θD
1 − 20 ρ2 + 90 ρ4 − 140 ρ6 + 70 ρ8
ρ5 Cos@5 θD
ρ5 Sin@5 θD
ρ4 H−5 + 6 ρ2 L Cos@4 θD
ρ4 H−5 + 6 ρ2 L Sin@4 θD
ρ3 H10 − 30 ρ2 + 21 ρ4 L Cos@3 θD
ρ3 H10 − 30 ρ2 + 21 ρ4 L Sin@3 θD
29
James C. Wyant, 2003
ZernikePolynomialsForTheWeb.nb
31
5
2
32
5
2
33
5
1
34
5
1
35
5
0
36
6
6
37
6
6
38
6
5
39
6
5
40
6
4
41
6
4
42
6
3
43
6
3
44
6
2
45
6
2
46
6
1
47
6
1
48
6
0
1
è!!!!
2
1
è!!!!
3 2
1
è!!!!
2 5
1
è!!!!
2 5
3
1
è!!!!!!
11
1
è!!!!!!
14
1
è!!!!!!
14
1
4
1
4
1
è!!!!
3 2
1
è!!!!
3 2
1
è!!!!
2 5
1
è!!!!
2 5
1
è!!!!!!
22
1
è!!!!!!
22
1
è!!!!
2 6
1
è!!!!
2 6
1
è!!!!!!
13
30
ρ2 H−10 + 60 ρ2 − 105 ρ4 + 56 ρ6 L Cos@2 θD
ρ2 H−10 + 60 ρ2 − 105 ρ4 + 56 ρ6 L Sin@2 θD
ρ H5 − 60 ρ2 + 210 ρ4 − 280 ρ6 + 126 ρ8 L Cos@θD
ρ H5 − 60 ρ2 + 210 ρ4 − 280 ρ6 + 126 ρ8 L Sin@θD
−1 + 30 ρ2 − 210 ρ4 + 560 ρ6 − 630 ρ8 + 252 ρ10
ρ6 Cos@6 θD
ρ6 Sin@6 θD
ρ5 H−6 + 7 ρ2 L Cos@5 θD
ρ5 H−6 + 7 ρ2 L Sin@5 θD
ρ4 H15 − 42 ρ2 + 28 ρ4 L Cos@4 θD
ρ4 H15 − 42 ρ2 + 28 ρ4 L Sin@4 θD
ρ3 H−20 + 105 ρ2 − 168 ρ4 + 84 ρ6 L Cos@3 θD
ρ3 H−20 + 105 ρ2 − 168 ρ4 + 84 ρ6 L Sin@3 θD
ρ2 H15 − 140 ρ2 + 420 ρ4 − 504 ρ6 + 210 ρ8 L Cos@2 θD
ρ2 H15 − 140 ρ2 + 420 ρ4 − 504 ρ6 + 210 ρ8 L Sin@2 θD
ρ H−6 + 105 ρ2 − 560 ρ4 + 1260 ρ6 − 1260 ρ8 + 462 ρ10 L Cos@θD
ρ H−6 + 105 ρ2 − 560 ρ4 + 1260 ρ6 − 1260 ρ8 + 462 ρ10 L Sin@θD
1 − 42 ρ2 + 420 ρ4 − 1680 ρ6 + 3150 ρ8 − 2772 ρ10 + 924 ρ12
6 Strehl Ratio
While in the absence of aberrations, the intensity is a maximum at the Gaussian image point, if aberrations are present this will in general no longer be the case. The
point of maximum intensity is called diffraction focus, and for small aberrations is obtained by finding the appropriate amount of tilt and defocus to be added to the
wavefront so that the wavefront variance is a minimum.
The ratio of the intensity at the Gaussian image point (the origin of the reference sphere is the point of maximum intensity in the observation plane) in the presence of
James C. Wyant, 2003
ZernikePolynomialsForTheWeb.nb
31
aberration, divided by the intensity that would be obtained if no aberration were present, is called the Strehl ratio, the Strehl definition, or the Strehl intensity. The Strehl
ratio is given by
strehlRatio :=
1
π2
AbsA‡
2π
0
‡
2
1
2 π ∆w@ρ,θD
ρ ρ θE
0
where Dw[r, q] in units of waves. As an example
strehlRatio ê. ∆w@ρ, θD → ρ3 Cos@θD êê N
0.0790649
where Dw[r, q] is in units of waves. The above equation may be expressed in the form
1
strehlRatio = 2 AbsA‡ ‡ H1 + 2
π
0
0
2π
2
1
π ∆w@ρ, θD − 2 π ∆w@ρ, θD + ∫L ρ ρ θE
2
2
¯¯¯¯¯¯ 2
¯¯¯¯¯ 1
strehlRatio ≈ AbsA1 + 2π ∆w −
H2 πL2 ∆w2 E
2
¯¯¯¯¯2¯ ¯¯¯¯¯¯¯¯¯¯2¯
2
≈ 1 − H2 πL I∆w − H∆wL M
If the aberrations are so small that the third-order and higher-order powers of 2pDw can be neglected, the above equation may be written as
≈ 1 − H2 π σL2
where s is in units of waves.
Thus, when the aberrations are small, the Strehl ratio is independent of the nature of the aberration and is smaller than the ideal value of unity by an amount proportional
to the variance of the wavefront deformation.
The above equation is valid for Strehl ratios as low as about 0.5. The Strehl ratio is always somewhat larger than would be predicted by the above approximation. A
better approximation for most types of aberration is given by
strehlRatioApproximation :=
−H2 πσL2
strehlRatioApproximation ≈ 1 − H2 πσL2 +
H2 πσL4
+∫
2
which is good for Strehl ratios as small as 0.1.
Once the normalized intensity at diffraction focus has been determined, the quality of the optical system may be ascertained using the Marechal criterion. The Marecha1
criterion states that a system is regarded as well corrected if the normalized intensity at diffraction focus is greater than or equal to 0.8, which corresponds to an rms
wavefront error <l/14.
ZernikePolynomialsForTheWeb.nb
James C. Wyant, 2003
32
As mentioned above, a useful feature of Zernike polynomials is that each term of the Zernikes minimizes the rms wavefront error to the order of that term. That is, each
term is structured such that adding other aberrations of lower orders can only increase the rms error. Removing the first-order Zernike terms of tilt and defocus
represents a shift in the focal point that maximizes the intensity at that point. Likewise, higher order terms have built into them the appropriate amount of tilt and defocus
to minimize the rms wavefront error to that order. For example, looking at Zernike term #9 shows that for each wave of third-order spherical aberration present, one
wave of defocus should be subtracted to minimize the rms wavefront error and find diffraction focus.
7 References
Born, M. and Wolf, E., (1959). Principles of Optics, pp. 464-466, 767-772. Pergamon press, New York.
Kim, C.-J. and Shannon, R.R. (1987). In "Applied Optics and Optical Engineering," Vol. X (R. Shannon and J. Wyant, eds.), pp. 193-221. Academic Press, New York.
Wyant, J. C. and Creath, K. (1992). In "Applied Optics and Optical Engineering," Vol. XI (R. Shannon and J. Wyant, eds.), pp. 28-39. Academic Press, New York.
Zernike, F. (1934), Physica 1, 689.
ZernikePolynomialsForTheWeb.nb
8 Index
Introduction...1
Calculating Zernikes...2
Tables of Zernikes...3
OSC Zernikes...6
Zernike Plots...7
Density Plots...7
3D Plots...8
Cylindrical Plot 3D...10
Surfaces of Revolution...14
3D Shadow Plots...15
Animated Plots...16
Animated Density Plots...16
Animated 3D Shadow Plots...17
Animated Cylindrical Plot 3D...18
Two pictures stereograms...19
Single picture stereograms...20
Zernike polynomials and third-order aberrations...21
Wavefront aberrations...21
Zernike terms...21
Table of Zernikes and aberrations...22
Zernike Third-Order Aberration Table...23
Seidel Aberration Table...25
RMS Wavefront Aberration...27
Strehl Ratio...30
References...32
Index...33
James C. Wyant, 2003
33