Lentil

Latest version: v0.8.1

Safety actively analyzes 619504 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.8.1

------
Released February 27, 2024

* Deprecate :class:`~lentil.Image` ``shape`` parameter `50`_
* :class:`~Plane` ``mask``, ``pixelscale``, ``diameter``, and ``ptype`` are
now immutable
* Fix bugs in creation and handling of :class:`~lentil.Plane` ``mask`` and
``slice``
* Fix scipy deprecation warnings
* Update GitHub actions `51`_ `52`_
* Update docs `49`_

.. _49: https://github.com/andykee/lentil/issues/49
.. _50: https://github.com/andykee/lentil/issues/50
.. _51: https://github.com/andykee/lentil/issues/51
.. _52: https://github.com/andykee/lentil/issues/52

0.8.0

------
Released February 2, 2024


* New :func:`~lentil.propagate_dft` method for performing far-field
propagations using the matrix triple product DFT
* New :func:`~lentil.propagate_fft` method for performing far-field
propagations using the FFT `46`_
* Deprecate ``Wavefront.propagate_image()``
* Propagation backend updates and enhancements
* DFT implementation improvements
* Plane ``phase`` attribute renamed to ``opd``
* Allow ``amp`` as an alias for ``amplitude`` in Plane constructor
* New ``ptype`` object for managing plane and wavefront types
* Enforce ``ptype``-based rules in :func:`Plane.multiply`
* Streamline :class:`~lentil.Wavefront` constructor
* New :class:`DispersiveTilt` object
* Deprecate :class:`Grism` -- :class:`DispersiveTilt` should be used instead
* Utility shapes now accept an ``antialias`` argument
* New :func:`~lentil.spider` method for drawing spiders
* New :func:`~lentil.hex_segments` method for drawing segmented apertures made
of rings of hexagonal segments
* Standardize shape naming
* Deprecate in-place operations `43`_
* Many documentation updates and improvements

.. _43: https://github.com/andykee/lentil/issues/43
.. _46: https://github.com/andykee/lentil/issues/46

0.7.0

------
Released March 7, 2022

* Fix complex amplitude sign flip introduced in `v0.6.0`_
* Remove unused parameter from ``Wavefront.insert()`` function
signature `42`_
* Scipy compatibility - Fix Scipy map_coordinates import `40`_
* Python 3.9 compatibility - Ensure ``math.factorial()`` always
receives an int

.. _40: https://github.com/andykee/lentil/issues/40
.. _42: https://github.com/andykee/lentil/issues/42

0.6.0

------
Released January 21, 2022

* Entirely new approach to how diffraction propagations are performed:

* New ``propagate_image()`` method for propagating between Pupil and
Image planes

* Deprecate core ``propagate()`` method

* Include negative sign in complex phasor complex exponential

* Wavefront complex field data is now managed using a new internal Field
class
* Standardize around (row, col) aka. ij indexing
* New methods for Plane resampling (``Plane.resample()``) and rescaling
(``Plane.rescale()``)
* Collapse Plane segmask and mask functionality `24`_
* Allow in-place operations on Wavefront `38`_
* Relocate contents of ``zerenike``, ``wfe``, ``convolvable``, and ``util``
modules to the core ``lentil`` namespace
* Allow floating point plane masks, which are automatically cast to bool
* Documentation updates
* Extend unit test coverage slightly
* Switch to GitHub Actions for unit testing and code coverage

.. _24: https://github.com/andykee/lentil/issues/24
.. _38: https://github.com/andykee/lentil/issues/38

0.5.0

------
Released August 13, 2021

* Propagations with ``tilt='angle'`` have tilt projected out of each
plane once before the entire propagation rather than at each monochromatic
propagation
* Rework ``Plane.pixelscale`` to always store (r,c) pixelscale
* Fix bug in ``Plane.mask`` on the fly calculation that was overwriting
``Plane.amplitude`` with a binary mask
* No longer cache ``Plane.ptt_vector``
* Deprecate ``Plane.cache_propagate()`` and ``Plane.clear_cache_propagate()``.
This functionality has been migrated to ``propagate._prepare_planes()``
and ``propagate._cleanup_planes()``
* New ``Plane.rescale()`` method to rescale Plane pixelscale
* Update ``util.rescale()`` to choose a more conservative (better sampled)
result when having to choose an integer output shape
* Define ``Wavefront.__slots__`` to increase attribute access speed and reduce
memory footprint
* ``util.circle()`` `center` parameter is now called `shift`
* Deprecate ``cache.Cache`` in favor of a simple dictionary
* New function ``fourier.expc()`` to more quickly compute a complex exponential
* ``fourier.dft2()`` now accepts an offset parameter
* New function ``Plane.fit_tilt()`` to handle tilt fitting and removal of in the
Plane's ``phase`` attribute. This is now called once
* New function ``Plane.slice()`` for computing avaliable slices from the plane
attributes to speed up propagation performance
* New ``Detector()`` plane that returns intensity
* Update ``zernike.zernike_coordinates()`` to automatically compute shift that
locates the origin at the mask centroid if no shift is provided.

0.4.1

------
Released October 7, 2020

* Fix implementation error in Grism model dispersion calculations

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.