This version of pyZELDA allows to take into account amplitude errors in the reconstruction of the OPD map from ZELDA measurements. This is for example the case when using a Zernike wavefront sensor downstream of an apodized pupil coronagraph. The formalism is described in Pourcelot et al. (2020). These changes are transparent and should not impact existing code.
New parameters have been added to the Sensor.analyze()
function:
refwave_from_clear
parameter: if set toTrue
, computes the reference wave from the clear pupil. Useful if the pupil does not have binary values (0 or 1), as with an apodization that changes the core of the PSF.use_arbitrary_amplitude
: if set toTrue
, it will estimate the amplitude P in the pupil (not the intensity) by computingsqrt(clear_pupil)
. It will not make the assumption pupil is binary when normalizing zelda pupil images. Useful with non-binary apodizations.sign_mask parameter
: in some cases, as when the signal is filtered through a pinhole, the amplitude P does take negative values which are not taken into account bysqrt(P)
withuse_arbitrary_amplitude
. The sign_mask is an analytical input to discriminate whereP<0
andP>0
.pupil_roi
: allows to differentiate the pupil shape array and where phase computation is performed (in the pupil_roi).