[go: up one dir, main page]

Skip to content

HarrisonKramer/optiland

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forks Watchers License Stars

Optiland

Table of Contents
  1. Introduction
  2. Installation
  3. Functionalities
  4. Learning Guide
  5. License
  6. Contact
  7. Acknowledgements & References

Introduction

Optiland is a lens design and analysis program written in Python 3. It provides an intuitive and efficient interface for defining and visualizing lens systems, performing optimization of lens systems based on user-defined merit functions and variables, as well as analyzing optical systems using geometric and diffraction-based methods. Leveraging computational libraries such as NumPy and SciPy, Optiland delivers exceptional performance and efficiency in handling complex optical computations.

Get started immediately with Optiland Tutorial #1 or see the extensive Learning Guide.

U.S. patent 2959100

Python code to generate this 3D visualization:

from optiland.samples.objectives import ReverseTelephoto
lens = ReverseTelephoto()
lens.draw3D()

Installation

You can install the package using pip. To do so, follow these steps:

  1. Open a terminal or command prompt.

  2. Run the following command to install the package:

    pip install git+https://github.com/HarrisonKramer/optiland.git

Functionalities

  • Lens entry
  • 2D/3D visualization
  • Paraxial and aberration analyses
  • Real and paraxial ray tracing, including aspherics and freeforms
  • Polarization ray tracing
  • Real analysis functions (spot diagrams, ray aberration fans, OPD fans, distortion, PSF, MTF, etc.)
  • Glass catalogue (based on refractiveindex.info)
  • Design optimization (local and global)
  • Wavefront and Zernike analysis
  • Coating and surface scatter (BSDF) analysis

The code itself is in constant flux and new functionalities are always being added.

Learning Guide

This guide gives a step-by-step approach to learning how to use Optiland.

  1. Introduction to Optiland
  2. Real Raytracing & Analysis
  3. Aberrations
  4. Optical Path Difference (OPD), Point Spread Functions (PSF) & Modulation Transfer Function (MTF)
  5. Optimization
  6. Coatings & Polarization
  7. Advanced Optical Design
  8. Tolerancing
    • Tutorial 8a - Introduction to Tolerancing - Update in progress (target completion: Sept. 2024)
      • Sensitivity studies
    • Tutorial 8b - Advanced Tolerancing - Update in progress (target completion: Sept. 2024)
      • Monte Carlo-based Tolerancing
  9. Lens Catalogue Integration
  10. Extending Optiland
    • Tutorial 10a - Custom Surface Types - Update in progress (target completion: Sept. 2024)
      • Adding new surface types
    • Tutorial 10b - Custom Coating Types - Update in progress (target completion: Sept. 2024)
      • Adding new coating types
    • Tutorial 10c - Custom Optimization Algorithms - Update in progress (target completion: Sept. 2024)
      • Adding new optimization approaches
  11. Machine Learning in Optical Design
    • Tutorial 11a - Reinforcement Learning for Lens Design - Update in progress (target completion: Sept. 2024)

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Contact

Kramer Harrison - kdanielharrison@gmail.com

Acknowledgements & References