prysm 0.13
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 theConvolvable
class to perform Wiener-Hunt deconvolution -
convenience properties on
OpticalPhase
(FringeZernike
,Interferogram
, ...) andConvolvable
objects -
shape,
diameter_x,
diameter_y
, anddiameter
on the former
-
shape,
support_x,
support_y,
andsupport
on the latter
-
std
property for the standard deviation inOpticalPhase
instances andstrehl
for the approximate Strehl ratio forPupil
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 thefit
function from thefringezernike
module -
azimuthally averaged MTF via the
azimuthal_average
method on theMTF
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 whenPupil
instances are modified. -
FZCache and MCache for Fringe Zernikes and masks now implement
__call__
, you can usemcache(128, 'hexagon')
instead ofmcache.get_mask(128, 'hexagon')
and the equivalent forzcache
. -
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 theInterferogram
class; the implementation was not well done and the results of low quality. -
MultispectralPSF
anRGBPSF
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.