github brandondube/prysm v0.13
prysm 0.13

latest releases: v0.21.1, v0.21, v0.20...
5 years ago

This release brings a number of new features and enhancements. Users are encouraged to upgrade from older releases.

New Features

  • SlantedEdge object for image simulation

  • deconv method on the Convolvable class to perform Wiener-Hunt deconvolution

  • convenience properties on OpticalPhase (FringeZernike, Interferogram, ...) and Convolvable objects

    • shape, diameter_x, diameter_y, and diameter on the former
    • shape, support_x, support_y, and support on the latter
  • std property for the standard deviation in OpticalPhase instances and strehl for the approximate Strehl ratio for Pupil instances

  • band-limited RMS evaluation on Interferogram objects based on a 2D PSD calculation

  • analytical Fourier transform on the AiryDisk class for faster convolutions

  • flexible linewidth in many plots, log scaling on 2D PSF plots

  • residual parameter in the fit function from the fringezernike module

  • azimuthally averaged MTF via the azimuthal_average method on the MTF class

  • convolvables can now be saved with 16-bit precision

Under-the-hood changes and bug fixes

  • Interferogram instances no longer cache PSD calculations internally

  • The wavefunction associated with an optical pupil is now a property, (Pupil).fcn instead of an attribute. It will be calculated on an as-needed basis which eliminates synchronization problems when Pupil instances are modified.

  • FZCache and MCache for Fringe Zernikes and masks now implement __call__, you can use mcache(128, 'hexagon') instead of mcache.get_mask(128, 'hexagon') and the equivalent for zcache.

  • importing of zygo datx files is now more robust. Files from the NexView NX2 now import properly

  • Convolvable is now exported at the top level

  • Convolvable.from_file no longer errors. Users must now scale the data after importing on their own, e.g. Convolvable.data /= 255 for an 8 bit per pixel file, or /= 65535 for a 16-bit file

Remove features

  • bandreject_filter has been removed on the Interferogram class; the implementation was not well done and the results of low quality.

  • MultispectralPSF an RGBPSF have been dropped; they have been neglected for a significant amount of time. MultispectralPSF only differed from a PSF in the call to __init__, users can replicate this behavior independently.

Don't miss a new prysm release

NewReleases is sending notifications on new releases.