Optiland
Authors/Creators
Description
Optiland v0.5.7 Release Notes
v0.5.7 delivers a major architectural upgrade with new geometry capabilities, backend-agnostic optimization, and improved performance across modeling and analysis. This release focuses on extensibility, clarity, and computational efficiency while preparing the foundation for advanced features like GRIN modeling and next-generation optimization workflows.
<p align="center"> <img width="573" height="371" alt="image" src="https://github.com/user-attachments/assets/f390a6f6-e45a-4941-8118-d16ce5f982d8" /> <br /> <em>Simple example window demonstrating new NURBS functionality. Contribution by @mattemilio</em> </p>
đź§© Core Geometry & Modeling
NURBS Geometry Support (New Major Feature)
Introduces full Non-Uniform Rational B-Spline (NURBS) surface modeling, enabling smooth freeform and parametric designs with unprecedented flexibility.
Includes integration with surface visualization and sag computation tools.Propagation Model Framework
Added a generalized propagation model interface that supports current field propagation and will serve as the foundation for GRIN and wave-based modeling in future versions.Interaction Models on Surfaces
Decoupled ray-surface interaction logic through modular interaction models, improving separation of concerns and paving the way for exotic surface behaviors (diffractive, reflective, refractive, hybrid).Field System Refactor
Reworked the internal field framework to simplify extension and customization, improving maintainability and consistency across analysis modules.- Added Paraxial Image Height as a new field type for rapid paraxial evaluation and comparison with full raytrace results.
MMDFT PSF Calculation
Added a Matrix-Multiply Discrete Fourier Transform (MMDFT) method for efficient, high-accuracy point spread function computation, especially for large pupils or fine sampling grids.Pixel Pitch Option for Huygens PSF
Introduced apixel_pitchparameter for Huygens-based PSF analyses, allowing precise control over spatial sampling and detector mapping.AOI Operand for Optimization
Added Angle of Incidence as a new optimization operand, enabling direct optimization of surface angles and incidence-dependent performance.
đź§ Optimization & Backend Integration
Torch Optimization Rework (Major Update)
Completely restructured optimization backend to allow PyTorch-driven optimization within the standard Optiland framework.- Supports backend-agnostic optimization problems that can run seamlessly on either native or torch-based backends.
- Introduces a torch-like API for differentiable and gradient-based optimization workflows.
- Includes new documentation and examples demonstrating torch-based optimization.
Modular Variable Scaling Framework
Refactored scaling of optimization variables into a clean modular system, improving transparency, tuning flexibility, and code clarity.
⚙️ Performance & Robustness Improvements
Caching of Material Index and Absorption Calculations
Added intelligent caching to material property computations, significantly improving performance during repeated evaluations and optimization.Wavefront Error Calculation Fixes
Improved robustness and accuracy in wavefront error computation, addressing numerical edge cases and filtering issues.Forbes Geometry Improvements
Enhanced numerical stability and handling of Forbes polynomial surfaces.General Bug Fixes and Cleanups
Numerous fixes across modules, including visualization bugs, doc build issues, and cleanup of obsolete files and redundant utilities.pyproject.tomlCompatibility Updates
Adjusted dependencies to resolve version mismatches withnumbaandtyping-extensions.
🖥️ Graphical User Interface
Stability and Responsiveness Improvements
Multiple GUI fixes addressing visual refresh issues and interactivity problems in the lens editor and analysis panels.Quality-of-Life Enhancements
Better synchronization between system state and visualization components, improving reliability for multi-surface or diffractive designs.
📚 Documentation & Examples
RTD Documentation Expansion
Improved and expanded ReadTheDocs documentation with clearer structure, new code examples, and setup guidance.New Example Systems
- Czerny–Turner Spectrometer: Added a fully functional diffractive spectrometer example.
- Additional doc examples highlighting NURBS usage, torch optimization, and new PSF modes.
<p align="center"> <img width="534" height="525" alt="image" src="https://github.com/user-attachments/assets/3481197a-a591-4dca-bd96-fb1072ddf49c" /> <br /> <em>Czerny–Turner Spectrometer example added in v0.5.7</em> </p>
Optiland v0.5.7 reinforces the platform's foundation with powerful modeling primitives, a unified optimization framework, and improved computational efficiency. This release establishes a strong base for upcoming GRIN modeling, wave-based propagation, and deep integration of differentiable optics.
Contributors in v0.5.7: @mattemilio, @crnh, @Littie28, @rjmoerland, @drpaprika, @scottpaine, @manuelFragata, @hemkumarsrinivas
Notes
Files
HarrisonKramer/optiland-v0.5.7.zip
Files
(40.2 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:4a83002c7d8f49a6d527355770cbccc7
|
40.2 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/HarrisonKramer/optiland/tree/v0.5.7 (URL)
Software
- Repository URL
- https://github.com/HarrisonKramer/optiland