optiland/optiland
Comprehensive optical design, optimization, and analysis in Python, including GPU-accelerated and differentiable ray tracing via PyTorch.
What it solves
Optiland provides an open-source platform for designing, simulating, and optimizing optical systems. It bridges the gap between classical lens design (refractive and reflective systems) and modern computational optics, allowing engineers to model everything from simple singlets to complex freeform assemblies with professional-grade precision.
How it works
The platform uses a Python-based API to construct optical systems by defining surfaces, materials, and apertures. It features a dual-engine backend: NumPy is used for fast CPU-based calculations, while PyTorch is integrated to enable GPU acceleration and automatic differentiation (autograd). This allows users to optimize optical designs using either traditional merit functions or differentiable modeling where gradients are calculated automatically to refine the system.
Who it’s for
It is designed for optical engineers, researchers in computational optics, and students who need a flexible, scriptable alternative to proprietary optical design software for prototyping and production systems.
Highlights
- Differentiable Core: Seamlessly switch between NumPy and PyTorch for hybrid physics-ML workflows.
- Comprehensive Analysis: Generates spot diagrams, wavefront error maps, PSF/MTF plots, and Zernike decompositions.
- Advanced Ray Tracing: Supports sequential, non-sequential (pre-release), and multi-sequence tracing for ghost and stray-light analysis.
- Interoperability: Imports and exports files from industry-standard software like Zemax, CODE V, and OSLO.
- Professional Tooling: Includes a GlassExpert module for material selection and Monte Carlo simulations for tolerancing analysis.
Related
- Project
- Project
- Project
- Project
- Project