VortexCoronagraph

class hcipy.coronagraphy.VortexCoronagraph(input_grid, charge, lyot_stop=None, q=1024, scaling_factor=4, window_size=32)

Bases: hcipy.optics.optical_element.OpticalElement

An optical vortex coronagraph.

This OpticalElement simulations the propagation of light through a vortex in the focal plane. To resolve the singularity of this vortex phase plate, a multi-scale approach is made. Discretisation errors made at a certain level are corrected by the next level with finer sampling.

Parameters
input_gridGrid

The grid on which the incoming wavefront is defined.

chargeinteger

The charge of the vortex.

lyot_stopField or OpticalElement

The Lyot stop for the coronagraph. If it’s a Field, it is converted to an OpticalElement for convenience. If this is None (default), then no Lyot stop is used.

qscalar

The minimum number of pixels per lambda/D. The number of levels in the multi-scale Fourier transforms will be chosen to reach at least this number of samples. The required q for a high-accuracy vortex coronagraph depends on the charge of the vortex. For charge 2, this can be as low as 32, but for charge 8 you need ~1024. Lower values give higher performance as a smaller number of levels is needed, but increases the sampling errors near the singularity. Charges not divisible by four require a much lower q. The default (q=1024) is conservative in most cases.

scaling_factorscalar

The fractional increase in spatial frequency sampling per level. Larger scaling factors require a smaller number of levels, but each level requires a slower Fourier transform. Factors of 2 or 4 usually perform the best.

window_sizeinteger

The size of the next level in the number of pixels on the current layer. Lowering this increases performance in exchange for accuracy. Values smaller than 4-8 are not recommended.

Methods Summary

backward(wavefront)

Propagate backwards through the vortex coronagraph.

forward(wavefront)

Propagate a wavefront through the vortex coronagraph.

Methods Documentation

backward(wavefront)

Propagate backwards through the vortex coronagraph.

This essentially is a forward propagation through a the same vortex coronagraph, but with the sign of the its charge flipped.

Parameters
wavefrontWavefront

The Lyot plane wavefront.

Returns
Wavefront

The pupil-plane wavefront.

forward(wavefront)

Propagate a wavefront through the vortex coronagraph.

Parameters
wavefrontWavefront

The wavefront to propagate. This wavefront is expected to be in the pupil plane.

Returns
Wavefront

The Lyot plane wavefront.