Stacking: Prüfung und Kalibrierung des Fokusantriebs

Begonnen von Horst Wörmann, Dezember 17, 2016, 12:03:01 NACHMITTAGS

Vorheriges Thema - Nächstes Thema

Horst Wörmann

Liebe Stack-Freunde,

ich möchte ein optisches Verfahren zur Kalibrierung von Stackeinrichtungen vorgestellen, das keine mechanischen Eingriffe braucht und ausschließlich Optik und Kamera des Mikroskops nutzt. Weil zusätzlich nur eine Schieblehre erforderlich ist und sonst nur die schon vorhandene Apparatur nebst Software (Excel) bzw. Freeware (ImageJ), liegen die Kosten nahe Null.

Die Methode geht auf eine Veröffentlichung von Boddeke et al. zurück (1), deren Rechenmethoden aber für mich nicht nachvollziehbar waren und deshalb modifiziert wurden. Die Verfahrensweise ist hier stark verkürzt beschrieben, ausführlich demnächst auf der MKB-Webseite.  

Prinzip: Das Referenzobjekt ist ein in Bezug auf die z-Achse schräg auf dem Objekttisch angeordnetes Balkenmuster oder eine Schneide (Abb. 1). Im mikroskopischen Bild wird nur ein schmaler Streifen senkrecht zur Rampe scharf abgebildet, zu den Bildrändern hin wird das Objekt immer unschärfer (Abb. 2). Die Länge l und der Durchmesser der zylindrischen Auflage d werden mit der Schieblehre bestimmt. Die Steigung s der Rampe ist dann s = d/l. Beispiel: bei einem Objektträger der Länge l = 76 mm und dem Zylinderdurchmesser d = 2 mm ist s = 0,0263. Die Höhendifferenz z bei einer Bildbreite b von 672 µm ist demnach z = s * b = 0,0263 * 0,672  = 0,0176 mm bzw. 17,6 µm. Somit ist für jeden Ort x auf der x-Achse dessen relative Höhe z bekannt.

Die Bildbreite wird mit dem Objektmikrometer bestimmt, d.h. die Funktion µm/Pixel, was aber dem  Mikroskopiker geläufig ist, wenn er Maßstabsbalken einfügt. Die Kamera im Beispiel hat 2584 Pixel in der Bildbreite, also 672 µm/2584 Pixel entsprechend 0,260 µm/Pixel (20x Plan-NF).



Abbildung 1: Seitenansicht des Referenzobjekts (vereinfacht). Grün: Objektträger mit Balkenmuster, A, B, C, D: 4 Stack-Ebenen, a, b, c, d: zugehörige Linien größter Schärfe (senkrecht zur Zeichnungsebene). l: wirksame Länge, d:  Durchmesser des Zylinders als Auflage. X Bildbreite im Foto, Z zugehörige Höhendifferenz.

Schritt 1: Stack aufnehmen. Ergebnis: Abb. 2



Abbildung 2: Stack aus 11 Ebenen: die maximale Schärfe wandert in der Animation von links nach rechts. Plan-Neofluar 20x.

Schritt 2: Kantenfilterung mit ImageJ mit Find Edges


Abbildung 3: Einzelbild nach Kantenfilterung mit ImageJ

Schritt 3: Intensitätsauswertung mit ImageJ mit Plot Profile


Abbildung 4: Intensitätsauswertung von Abb. 3. x-Achse: Pixelposition im Bild, y-Achse: Intensität y als Summe der Intensitäten aller Pixel(x). Das Originalbild ist unterlegt.

Damit wird die Intensität für alle y an jedem Punkt der x-Achse summiert und als Kurve über der Pixelposition x in einem neuen Fenster angezeigt. Die x-Position höchster Schärfe ist am Minimum der Kurve.

Schritt 4: Berechnung mit Excel
Das Ergebnis wird als Excel-Datei mit den Wertepaaren Pixel-x-Nr./Intensität aus ImageJ exportiert und in Excel weiter ausgewertet, und zwar für jedes Stackbild. In Excel liegt dann eine umfangreiche Datei der Form Pixel-x-Nummern als Zeilen und n Spalten für die Intensitäten  jeder Stackebene n.


Abbildung 5: Excel-Auswertung von 11 Stackebenen. Die weiß hervorgehobene Kurve gehört zu Ebene 7, siehe Abb. 4.

Abb. 5 zeigt die Resultate von elf Stackbildern. Die Minima sind die Positionen höchster Schärfe; sie wandern entlang der x-Achse von Stack- zu Stackebene. Erkennbar ist auch, daß daß die Stackebenen 10 und 11 kein Minimum ergeben: in diesen Ebenen gibt es keine scharfen Bereiche, der Stack war um diese zwei Ebenen zu hoch. Die x-Position des jeweiligen Minimums wird ermittelt und gegen die Pixelnummer x aufgetragen. Das wäre in Abb. 5 beispielsweise die weiße Kurve (aus der Stack-Ebene 7) die x-Position 1202. Nun ist die Zahl der Stepmotor-Schritte zwischen den Ebenen ja bekannt; desgleichen die x-Position maximaler Schärfe, die wie oben ermittelt wurde. Eine gut funktionierende Stackeinrichtung würde eine Gerade ergeben, d.h. die Funktion Steps =  f(Pixelnummer) ist linear (Abb. 6).


Abbildung 6: x-Position der Kurvenmaxima aufgetragen gegen die Motorschrittzahl



Aus der anfangs beschriebenen Geometrie ist nun auch die relative Höhe jeder Pixelposition bekannt:. zu jedem x ist also die Objekthöhe durch z(x) = 0,260 x gegeben (x als Pixel-nummer, 0,260 µm/Pixel aus der Objektmikrometer-Kalibrierung wie anfangs erwähnt). Folglich kann man in der x-Achse die Pixelnummer in entsprechende Höhenwerte umrechnen, wie in Abb. 7 gezeigt. Die endgültige Kalibrierfunktion ist die Kehrfunktion aus Abb. 7:
Rel. Höhe z = 0,0294 * n – 0,483
wobei n die Zahl der Motorschritte oder wie hier der Encoderschritte ist.

Zusammenfassung:
Mit dem beschriebenen Verfahren kann man mit Schieblehre und einem geeigneten Referenzobjekt exakte Höhenbestimmungen im µm-Maßstab durchführen, aufgrund einfacher geometrischer Gesetzmäßigkeiten. Die zur Auswertung und Berechnung erforderlichen Programm sind kostenlos bzw. als Tabellenkalkulationsprogramm auf praktisch jedem Rechner vorhanden.

Lit. (1): (2) F.R. Boddeke, L.J. van Vliet, I.T. Young: Calibration of the automated z-axis of a microscope using focus functions. Journal of Micrsocopy Vol. 186, pt. 3, June 1997, pp. 270 – 274

Etwas lang geraten, ging aber nicht anders.
Viele Grüße
Horst Wörmann