Changelog ========= 0.4.0 (Feb 22, 2021) -------------------- This HCIPy release provides significant speed improvements for Fourier transforms, propagations and the vortex coronagraphs, among some other minor improvements and bugfixes. See the list of all changes below for a summary. We dropped support for Python 3.5. This version supports Python 3.6+. List of major changes ~~~~~~~~~~~~~~~~~~~~~ * Major bug fix in caching algorithm for optical elements (`@ehpor `__) * Major improvement in computational efficiency of FFTs and MFTs (`@ehpor `__) * FFTs now use MKL when installed (`@ehpor `__) * Fourier transforms now retain bit depth and do not automatically cast to double precision (`@ehpor `__) * A new class FourierFilter for efficient correlations and convolutions (`@ehpor `__) * The vortex coronagraphs now use smooth windowing for their multiscale Fourier transforms (`@ehpor `__) * Added VLT aperture (`@dsdoelman `__, `@ehpor `__, `@syhaffert `__ & `@jmilou `__) * The perfect coronagraph can now handle polarized wavefronts (`@ehpor `__) * Optical elements can now be pickled for multiprocessing (`@ehpor `__) * Detectors can now do subsampling of the incoming light (`@spbos `__ & `@ehpor `__) * Fixed the OD wavefront sensors (`@syhaffert `__) * Fixed bug for the ZernikeWavefrontSensor when physical units were used (`@yinzi-xin `__ & `@ehpor `__) * Two new tutorials (`@jmilou `__ & `@ehpor `__) * Tutorial notebooks are now allowed to use up to 10mins per cell (`@ehpor `__) * Added support for Python 3.8 and 3.9 (`@ehpor `__) * Migration to Azure Pipelines for CI tests on all operating systems (`@ehpor `__) * Miscellaneous minor bug fixes (`@syhaffert `__, `@jmilou `__ & `@ehpor `__) 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.