optiland
optiland copied to clipboard
Comprehensive optical design, optimization, and analysis in Python, including GPU-accelerated and differentiable ray tracing via PyTorch.
I've read the documentation and to me it looks like features like glass substituion (semi-automatic optimization for chromatism) and a fast (but inaccurate) optimizer (akin to the "Orthogonal Descent in...
**What is your question?** Can I specify an image array as input and draw how the same image would look like after a lens, or any other imaging system. **Relevant...
I've looked through the documentation and examples - great job! I couldn't find any spectrograph example, maybe just missed it. Is there anyway the idea of modeling the concept of...
Hello there friends from optiland, Thanks for making this project available to everyone. I am trying to use optiland to: I need to obtain the partial derivatives of different intermediate...
Could I please request that you add "image_height" as a new "field_type". This is a commonly used field selection in other optical programs such as Quadoa, and allows you to...
I'm attempting to call draw3D() on the Cooke Triplet example, and receive the following error (running Linux Mint 22 x86_64): > 2025-05-06 11:06:04.568 ( 2.362s) [ 7E6E1755A600]vtkXOpenGLRenderWindow.:256 ERR| vtkXOpenGLRenderWindow (0x2b3233a0):...
**Describe the bug** When trying to view the grid distortion of the system in example `Tutorial_7d_Three_Mirror_Anastigmat.ipynb` by calling `analysis.GridDistortion(lens).view()`, the output image results in image scale on the order of...
**Is your feature request related to a problem? Please describe.** In Zemax e.g it is not possible to optimize for multiple sequences of surfaces or only via multi-configurations. Say you...
Following the implementation of Zernike surfaces I was curious about their shape. In freeform manufacturing, deviation to the best sphere is crutial. Now, using `lens.draw_surface(surface_index=1)` the user can view the...
Most use of `matplotlib` througout the package rely on the implicit `pyplot` API. I'd advocate for using the more explicit OOP-oriented API since it is considered cleaner, more pythonic, and...