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
© Copyright 2024 ExpyDoc