lentil.propagate_fft#

lentil.propagate_fft(wavefront, pixelscale, shape=None, oversample=2, scratch=None)[source]#

Propagate a Wavefront in the far-field using the FFT.

Parameters:
  • wavefront (Wavefront) – Wavefront to propagate

  • pixelscale (float or (2,) float) – Physical sampling of output Wavefront. If a single value is supplied, the output is assumed to be uniformly sampled in both x and y.

  • shape (int or (2,) tuple of ints or None) – Shape of output Wavefront. If None (default), the wavefront shape is used.

  • oversample (float, optional) – Number of times to oversample the output plane. Default is 2.

  • scratch (complex ndarray, optional) – A pre-allocated array used for padding. Providing a sufficiently large scratch array can improve broadband propagation performance by avoiding the repeated allocation of arrays of zeros.

Returns:

wavefront – The propagated Wavefront

Return type:

Wavefront