Lentil: an open-source library for fast optical propagation

被引:0
|
作者
Kee, Andrew G. [1 ]
Troy, Mitchell [1 ]
Nissly, Carl R. [1 ]
Tesch, Jonathan A. [1 ]
Bikkannavar, Siddarayappa [1 ]
Redding, David [1 ]
机构
[1] CALTECH, Jet Prop Lab, 4800 Oak Grove Dr, Pasadena, CA 91109 USA
关键词
Numerical modeling; Fourier optics; wave propagation; diffraction; !text type='Python']Python[!/text; open source;
D O I
10.1117/12.3014733
中图分类号
P1 [天文学];
学科分类号
0704 ;
摘要
Lentil is a Python package for developing high-performance diffraction simulations. Lentil provides an easy to use framework for modeling optical systems and simulating the wave propagation of light through them. Traditional Fourier optics-based approaches for numerically modeling diffraction rely on the Fast Fourier Transform (FFT) for simulating free space propagation. Despite computational efficiencies provided by the FFT, these simulations can be slow and memory-intensive due to very large array sizes needed to satisfy numerical sampling requirements imposed by the FFT algorithm. Modeling large apertures, highly aberrated or misaligned systems, or small features like primary mirror segment gaps demand even finer sampling, further degrading performance. Directly computing the discrete Fourier transform (DFT) in diffraction calculations provides greater flexibility and increased performance when compared with computing an equivalent FFT. Lentil offers generalized diffraction propagation routines using the DFT that improve simulation performance substantially, with additional optimizations for modeling segmented apertures. Lentil also implements a hybrid propagation algorithm blending physical and geometric optics to greatly improve performance in simulations where representing large tilts is required. Additionally, Lentil includes tools for modeling static and dynamic wavefront errors, radiometry, and focal plane arrays. The Lentil package and its accompanying documentation are freely available as open-source software.
引用
收藏
页数:14
相关论文
共 50 条
  • [1] Open-source toolbox for photographic characterization of optical propagation
    Sorensen, Simon R.
    Ulsig, Emil Z.
    Philip, Frederik E.
    Sorensen, Frederik R. B.
    Madsen, Magnus L.
    Gardner, Asger B.
    Tonning, Peter
    Thomsen, Simon T.
    Gravesen, Kevin B.
    Stanton, Eric J.
    Volet, Nicolas
    OPTICS LETTERS, 2024, 49 (15) : 4098 - 4101
  • [2] pyxopto: An Open-Source Python']Python Library with Utilities for Fast Light Propagation Modeling in Turbid Media
    Naglic, Peter
    Zelinskyi, Yevhen
    Pernus, Franjo
    Likar, Bostjan
    Burmen, Miran
    DIFFUSE OPTICAL SPECTROSCOPY AND IMAGING VIII, 2021, 11920
  • [3] InSilicoSpectro: An open-source proteomics library
    Colinge, J
    Masselot, A
    Carbonell, P
    Appel, RD
    JOURNAL OF PROTEOME RESEARCH, 2006, 5 (03) : 619 - 624
  • [4] Open-Source Shared Case Library
    Schwid, Howard A.
    MEDICINE MEETS VIRTUAL REALITY 16: PARALLEL, COMBINATORIAL, CONVERGENT: NEXTMED BY DESIGN, 2008, 132 : 442 - +
  • [5] Open-Source Syringe Pump Library
    Wijnen, Bas
    Hunt, Emily J.
    Anzalone, Gerald C.
    Pearce, Joshua M.
    PLOS ONE, 2014, 9 (09):
  • [6] OpenNFCSense: Open-Source Library for NFCSense
    Liang, Rong-Hao
    ADJUNCT PROCEEDINGS OF THE 34TH ANNUAL ACM SYMPOSIUM ON USER INTERFACE SOFTWARE AND TECHNOLOGY, UIST 2021, 2021, : 118 - 120
  • [7] Open-source library of tissue engineering scaffolds
    Martinez Cendrero, Adrian
    Franco Martinez, Francisco
    Solorzano Requejo, William Gabriel
    Diaz Lantada, Andres
    MATERIALS & DESIGN, 2022, 223
  • [8] oneAPI Open-Source Math Library Interface
    Krainiuk, Mariia
    Goli, Mehdi
    Pascuzzi, Vincent R.
    PROCEEDINGS OF 2021 INTERNATIONAL WORKSHOP ON PERFORMANCE, PORTABILITY & PRODUCTIVITY IN HPC (P3HPC 2021), 2021, : 22 - 32
  • [9] JHeaps: An open-source library of priority queues
    Michail, Dimitrios
    SOFTWAREX, 2021, 16 (16)
  • [10] SYSID: An open-source library for system identification
    Yerramilli, Suraj
    Moudgalya, Kannan M.
    Tangirala, Arun K.
    2017 INDIAN CONTROL CONFERENCE (ICC), 2017, : 53 - 58