Changelog

0.3.1 (Apr 2, 2020)

This HCIPy release fixes a major bug in the caching algorithm for backwards propagation, among some other minor improvements. See the list of all changes below for a summary. This version supports Python 3.5+.

List of major changes

  • Bug fix in the caching algorithm when using backwards propagation for the first time (@ehpor)

  • Add input/output to FITS and ASDF files for Field, Grid and ModeBasis (@ehpor)

  • Fixed normalization for the Fourier, Gaussian-Hermite and Gaussian-Laguerre mode bases (@ehpor)

  • Allow anamorphic magnification (@ehpor)

  • Allow variable wind speed for atmospheric layers (@syhaffert)

  • Add plotting utilities for pupils and PSFs (@ehpor)

  • Fix FFMpegWriter for MacOS (@ehpor & @stevenbos)

  • Minor documentation clarifications (@ehpor)

  • Increased test coverage (@ehpor)

0.3.0 (Jan 21, 2020)

This HCIPy release contains full Stokes polarization support, some performance improvements and bug fixes. See the list of major changes below for a summary. This version supports Python 3.5+. This and later releases may still work with Python 2.7, but this is not a supported use case.

List of major changes

  • Many new tutorials (everyone)

  • Windows support for GifWriter (@jamienoss)

  • Support for partially polarized wavefronts using Stokes vectors (@stevenbos, @dsdoelman & @ehpor)

  • Addition of general Jones matrix optical elements (@dsdoelman, @stevenbos & @ehpor)

  • Addition of wave plates (@dsdoelman, @stevenbos & @ehpor)

  • Addition of linear and circular polarizers and beam splitters (@dsdoelman & @stevenbos)

  • Addition of a vector vortex coronagraph (@ehpor)

  • Addition of a vector Zernike wavefront sensor (@dsdoelman)

  • Automated testing of all polarization optical elements (@stevenbos, @dsdoelman & @ehpor)

  • Bug fix in the Zernike wavefront sensor (@dsdoelman)

  • Addition of a material refractive index catalog (@syhaffert & @ehpor)

  • Addition of better microlenses (@syhaffert)

  • Addition of better single/few mode fibers (@syhaffert)

  • Fixed APP optimization code (@dsdoelman)

  • Improved handling of agnostic optical elements (@ehpor)

  • Improved of documentation, including developer notes (@ehpor)

  • Removal of much old, unused code (@ehpor)

  • Subpixel interpolation of atmospheric wavefronts is now default (@ehpor)

  • Speed improvements for calculating telescope apertures of up to 12x (@ehpor)

  • Evaluation of field generators can now be supersampled by any factor (@ehpor)

  • Bug fix where data files were not found on pip-installed versions of HCIPy (@ehpor)

0.2 (Aug 7, 2019)

This HCIPy release contains lots of new functionality, performance improvements and bug fixes. See the list of major changes below for a summary. Currently Python 2.7, 3.5-3.7 are supported. Our intention is to drop support for Python 2.7 in the near future.

List of major changes

  • Many bug fixes (everyone)

  • Many additions to the documentation (everyone)

  • Atmospheric layers are now tested to conform to analytical formulas for the total wavefront error and variance for each Zernike mode (@ehpor & @vkooten)

  • The InfiniteAtmosphericLayer now supports subpixel interpolation to improve predictive control simulations (@ehpor)

  • The phase shift for an AtmosphericModel can now be retrieved (@ehpor)

  • Calculating of influence functions for a tilted DM (@ehpor)

  • Polygonal and hexagonal apertures can now be rotated with arbitrary angles (@ehpor)

  • An optical element that performs (de)magnification was added (@syhaffert)

  • Coronagraphs are now included in automatic testing for starlight suppression capabilities (@ehpor & @cukeller)

  • HiCAT and LUVOIR-A pupils and Lyot stops were added (@kstlaurent & @RemiSoummer)

  • A segmented deformable mirror was added (@ivalaginja)

  • Much improved (modulated) Pyramid WFS models (@syhaffert)

  • Added tip-tilt mirror (@syhaffert)

  • Improved Zernike WFS model based on semi-analytical Lyot coronagraph propagation (@ehpor)

  • A mode basis can now be sparse (@ehpor)

  • All segmented pupils can now also return the pupil by segment (@ehpor, @kstlaurent, @ivalaginja & @RemiSoummer)

  • Reduced memory usage of evaluate_supersampled() (@ehpor)

  • Removal of deprecated atmospheric model (@ehpor)

  • Improved Fresnel propagation model that avoids/corrects for aliasing (@syhaffert & @ehpor)

  • Automated testing of Fraunhofer, Fresnel and ASP propagators (@ehpor & @syhaffert)

  • Introduction of grid-agnostic optical elements (@ehpor)

  • Added a knife-edge Lyot coronagraph model (@ehpor)

  • All telescope pupils are now included in the automated testing framework (@ehpor)

  • Faster calculation of Zernike modes using q-recursive algorithm (@ehpor)

  • Accelerated APP optimization based on Douglas-Rachford operator splitting (@cukeller)

  • Add methods for linear and nearest interpolation for Fields (@ehpor)

0.1 (Jul 5, 2018)

This is the first open-source release of HCIPy.