PointSpread: Entwicklungswerkzeug für Astro-Optik
PointSpread
ist ein leicht zu bedienendes Werkzeug für die Entwicklung von Astro-Optik, das
von mir ursprünglich für eigene Anwendungen im Amateurbereich entwickelt wurde.
Seit 1976, mit der Verfügbarkeit der ersten programmierbaren Taschenrechner,
habe ich das Programm auf mehreren Plattformen mit verschiedenen
Programmiersprachen aus den ersten Anfängen ständig weiterentwickelt. Über
diesen Zeitraum floss die Erfahrung über möglichst komfortable und effiziente
Entwicklung und Bedienung in die Gestaltung des Programms ein. Die aktuelle
Programmversion PointSpread 7.8 wurde mit Delphi 2005 weiterentwickelt und läuft
unter Windows. Mit Hilfe von PointSpread gelang mir die Entwicklung der neuen
Optiksysteme
Medial Triplet (1998) und
Medial Cassegrain (1999) mit zahlreichen abgeleiteten Varianten, von
denen einige auf den folgenden Seiten vorgestellt werden. Eine Beschreibung
dieser neuen Optiksysteme ist auch in der zweiten Auflage von
'Reflecting Telescope Optics I' von
Raymond N. Wilson zu finden. Ray Wilson war
u.a. maßgeblich an der Entwicklung der Aktiven Optik und des NTT (New Technology
Telescope) der ESO beteiligt.
Grundlage des Programms sind von mir selbst entwickelte
Algorithmen wie z.B. schnelle Durchrechnung windschiefer Strahlen, zuverlässige
Berechnung der Pointspread-Funktion und der MTF (keine FFT) sowie viele
Hilfsalgorithmen, z.B. die Bestimmung der Zentrumskoordinaten des
bestangepassten homozentrischen Strahlenbüschels zu einem gegebenen
aberrationsbehafteten Strahlenbüschel (least squares). Damit gelang mir auch die
Bestimmung von LA und OSC für TCT-Systeme. Die Berechnung der Seidelsummen habe
ich dem Buch 'Grundlagen der praktischen Optik'
von M. Berek entnommen, aus dem auch viele
für die Theorieentwicklung der neuen Mediale wichtigen Anregungen zur
Tripletsynthese stammen. Einige Erweiterungen , z.B. die Berechnung der
Koeffizienten 6.Ordung für die Schmidtplattenkurve und einige Anregungen zum
Predesign stammen aus 'Telescope Optics' von
Rutten und van Venrooij. Anregungen zur
Berechnung von Schiefspiegler- und Yolo-Systemen habe ich aus 'Reflecting
Telescope Optics I' von R.N.Wilson bekommen.
Die Bildschirmkopie oben zeigt den Einsatz von PointSpread bei
der Analyse eines Nagler-Okulars nach Daten aus 'Telescope Optics' von Rutten
und van Venrooij.
Hier eine Zusammenstellung der
wichtigsten Eigenschaften von PointSpread 7.8:
* komfortables Predesign dritter Ordnung für alle gängigen
Astro-Optik-Systeme wie Cassegrain, Achromat, Schmidt, (Maksutov, SC, MC,
Fraunhofer, Schiefspiegler, Yolo, Houghton, Apochromat) sowie für die neuen
Systeme Medial Triplet und Medial Cassegrain. Zusätzlich zu den üblichen
Geometrieparametern können Zielwerte für die Fehler dritter Ordnung und die
Farbfehler so vorgegeben werden, dass das Predesign bereits ein fast fertig
korrigiertes System ergibt.
* Entspanntes Arbeiten bei der Analyse oder Optimierung des
aktuellen Systems: Im Hauptfenster der Anwendung ist die Systemlayoutgrafik
zusammen mit Anzeigen der Seidelsummen und Farbfehlerparameter sowie mit
Grafikausgaben für LA und OSC sichtbar. (Eine Besonderheit von PointSpread: die
Berechnung von LA und OSC ist auch für TCT-Systeme möglich). Als weitere
Besonderheit können in der Systemlayout-Grafik die wichtigsten Systemelemente
per Mausklick selektiert und verändert werden, wobei alle Änderungen der
Fehlergrößen online aktualisiert werden. Dadurch erhält man ein sehr intuitives
Verständnis der Systemeigenschaften. Die im Layout selektier- und änderbaren
Elemente sind: Flächenradius, Abstand, Kippwinkel für Einzelflächen (und
Linsen bzw. Kittgruppen) sowie Linsen- bzw.
Kittgruppendurchbiegung.
* Einfache und übersichtliche Eingabe bzw. Änderung dieser
und aller weiteren Parameter im Systemdatenfenster (soweit die Daten nicht
durch Predesign erzeugt, oder aus einer Datei geladen wurden). Hier können auch
Flächen eingefügt und gelöscht, sowie Flächenattribute wie Reflektion,
Refraktion, Blende, Obstruktion, gesetzt werden. Besonders einfach ist die
Eingabe der Glasdaten: per Mausklick kann die Glasdatenbank aufgerufen und ein
Glas ausgewählt werden. Da in der Datenbank für jedes Glas
Dispersionskoeffizienten gespeichert sind, werden die Brechungsindizes für jede
beliebige Wellenlänge berechnet. Die zu den aktuellen drei Analysewellenlängen
gehörenden Brechungsindizes werden eingetragen und bei jeder Änderung der
Wellenlängen automatisch aktualisiert.
* Der aktuelle Korrektionszustand kann mit nur einem
weiteren Mausklick im Spotdiagramm oder als Helligkeitsverteilung der
Pointspreadfunction (PSF) und als MTF-Kurve dargestellt werden. Im Spotdiagramm
werden gleichzeitig die Durchstoßpunkte der Strahlen dreier vorgewählter
Wellenlängen für die Abbildung des Achspunktes und eines Feldpunktes für eine
vorgewählte Objektweite dargestellt. Intern werden noch zwei weitere Feldpunkte
für die Hauptwellenlänge berechnet. Für diese Punkte wird automatisch die beste
Fokuslage berechnet (least squares) und daraus die aktuelle Bildwölbung und eine
eventuelle Bildneigung (bei TCT-Systemen) ermittelt. Der Anwender muss außer der
Vorwahl der Objektweite und der Strahldichte (Darstellungsqualität) nur einen
Mausklick auf den gewünschten Objektort im Objektfenster ausführen, um
sofort die Spotdiagramme für Achs- und Feldpunkt in bester Fokuslage zu
erhalten. Für die Darstellung im PSF-Fenster wird nur der angewählte Feldpunkt
(natürlich kann auch der Achspunkt angewählt werden) verwendet, als Vergleich
wird hier zusätzlich eine ideale Punktabbildung dargestellt.
* Als Bildfläche für Spotdiagramm und PSF kann wahlweise eine
achsensenkrechte Ebene, eine bestangepasste geneigte Ebene (z.B. bei
TCT-Systemen für photographische Zwecke), oder eine allgemeine bestangepasste
Fläche (bei Bildwölbung mit/ohne Neigung) bestimmt werden. Diese Bildfläche kann
für die Darstellung im Spotdiagramm mittels Mausklick oder Pfeiltasten intra-
und extrafokal verschoben werden. Da der Strahlenverlauf im Bildraum nach der
Neuberechnung bei geänderten Systemparametern bis zur nächsten Änderung
gespeichert wird, kann die Darstellung der Spotdiagramme bei geänderter
Fokuslage sehr schnell aktualisiert werden. Auf diese Weise hat man einen sehr
viel anschaulicheren 'through-focus' Eindruck als bei der getrennten Betrachtung
von Einzelbildern einer through-focus-Serie. Mit den Pfeiltasten 'oben/unten'
kann zusätzlich die PSF-Darstellung intra- und extrafokal verschoben werden, so
dass man auch eine wirklich realistische through-focus-Sequenz erhalten kann.
Wegen der zeitaufwendigen PSF-Berechnung ist eine schnelle Serie nur bei
geringer Auflösung möglich, der Strehlwert (Definitionshelligkeit) wird aber
auch hier ausreichend genau berechnet. So kann sehr einfach die wellenoptisch
optimale Fokuslage und der maximale Strehlwert gefunden werden. Dieses Vorgehen
wird bei hoher Auflösung (lange Rechenzeit) auch dadurch unterstützt, dass aus
der Differenz zwischen least square Fokus und Gaußfokus ein Näherungswert für
die wellenoptisch beste Fokuslage (für Öffnungsfehler 3.Ordnung)errechnet und
angezeigt wird.
* Im PSF-Fenster kann der Modulationsgitterwinkel per mouse
drag&drop mit sofortiger Aktualisierung der MTF verändert werden. In der
MTF-Grafik wird die Ortsfrequenz markiert, die der in der PSF dargestellten
Gitterteilung entspricht. Die Gitterteilung kann ebenfalls per mouse drag&drop
verändert werden und dient gleichzeitig als Messwerkzeug in der PSF-Grafik.
* Eine Glasdatenbank mit Dispersionsformelkoeffizienten kann
einfach benutzt und erweitert werden, so dass die Optiksysteme bei beliebigen
Wellenlängen berechnet werden können.
Weitere Eigenschaften von PointSpread
in Kurzform:
* Umfassende Optionen zur Anpassung der Programmparameter an die aktuelle Aufgabe.
* Schmidtflächen, asphärische Flächen, geneigte Flächen und torische Flächen können berechnet werden.
* Export und Ausdruck der wichtigsten grafischen Ergebnisse in verschiedenen Formaten .
* (Effiziente Unterstützung zur Auslegung von
Baffle-Systemen.)
* (Schnelle und übersichtliche Toleranzanalyse.)
* (Berechnung von teleskopischen Systemen, z.B. zur Bewertung
von Okular/Objektiv-Kombinationen.)
Was PointSpread noch nicht kann, was aber vielleicht sinnvoll ist:
-- Konvertierung von Fremddaten, z.B. Zemax, OSLO, Modas, ins PointSpread Format.
Was PointSpread noch nicht kann, was ich aber bis jetzt nicht vermisst habe:
-- Automatische Optimierung z.B. nach Zernike-Polynomen.
-- Konvertierung von Systemdaten in andere Formate, z.B. Zemax, OSLO, Modas
Zum Abschluss der Beschreibung noch ein Wort zum allgemeinen Zustand von PointSpread: Da die Software über einen Zeitraum von über 25 Jahren in vielen Schritten zwischen unterschiedlichen Plattformen portiert wurde, existieren uralte Software-Fragmente einträchtig neben moderneren Bedienelementen. Das uneinheitliche Erscheinungsbild stört mich nicht, solange das komfortable Arbeiten mit dem Programm nicht beeinträchtigt wird. Es ist aber auch klar, dass der Programm-Code im Laufe der Zeit nicht unbedingt an Strukturklarheit gewinnt, so dass die Erkennung von Bugs bei Programmänderungen erschwert ist. Das ließe sich nur durch eine von Grund auf neu konzipierte Programmstruktur mit entsprechendem Aufwand verbessern. Ich habe mich aber nach allen Programmänderungen bemüht, während der Arbeit mit dem Programm mögliche Fehler aufzuspüren und zu beseitigen, so dass grobe Fehler wenig wahrscheinlich sind.
In der aktuellen Version 7.8 unter Delphi 2005
habe ich weitere bugs beseitigt, die Anwender gefunden hatten. Vielen Dank für
die Rückmeldungen. Weiterhin habe ich die Beschränkung der Flächenanzahl auf 10
Flächen aufgehoben, es können jetzt Systeme mit bis zu 100 Flächen bearbeitet
werden. Die Beschränkung der Glasdatenbank auf einige gebräuchliche Gläser ist
ebenfalls aufgehoben, die Glasdatenbank stellt jetzt alle aktuellen Gläser von
Schott zur Verfügung, außerdem alle Gläser von Ohara und Hoya, für die es keine
Entsprechungen bei Schott gibt. Außerdem habe ich die bisher inaktiv
geschalteten Funktionen für die Synthese von Medial Triplet und Medial
Cassegrain Systemen freigeschaltet. Wegen der Diskussion über die
Riccardi-Honders-Systeme in englischsprachigen Foren habe ich auch eine
englische Programmversion erstellt. Die neuen Versionen sind als kostenloser
Download bereitgestellt. Die Begründung für diese
Funktionserweiterungen der freien Programmversion können Sie in der
Kurzanleitung zum Programm nachlesen. Für weitere Rückmeldungen bin ich dankbar.