I am working on an optical model where I want the system to be telecentric in both object and image space. How do I do this?
Synopsis
Controlling a lens system to be telecentric
Solution
When a system is telecentric in both object and image space, it is called "doubly telecentric". OSLO actually handles the two conditions separately.
Telecentric in object space: To make a system telecentric in object space you need to "aim" rays at an infinite entrance pupil. There are 2 ways to do this:
Use Telecentric Ray Aiming mode. This mode essentially ignores the current or "manual" placement of the Aperture Stop and places the Entrance Pupil at infinity.
Use a dummy surface in object space (i.e. surface 1) and place this surface at a very large distance from the object (i.e. 100,000 units). Make this surface the Aperture Stop surface and then "undo" the thickness (maybe using a minus-thickness pickup) before moving to the next surface.
Telecentric in image space: Since the ray has already passed through the aperture stop, there is no opportunity to apply a generalized ray aiming approach to control the position of the exit pupil. Instead, the slope of individual rays need to targeted (i.e. added as operands in the optimization error function). I would recommend setting the K and L direction cosines to zero for a reference ray at a couple of field points (at the image surface). Use the direction cosine operands: nvk(fpt, ray, wvn, srf, cfg) K direction cosine of surface normal nvl(fpt, ray, wvn, srf, cfg) L direction cosine of surface normal Example ray definition: Ray Type = "Reference", FX = 0.0, FY = 0.0 Example field point definitions: FBX = 0.0, FBY = 0.0 FBX = 0.0, FBY = 0.7 FBX = 0.0, FBY = 1.0