KnifeEdgeLyotCoronagraph

class hcipy.coronagraphy.KnifeEdgeLyotCoronagraph(input_grid, q=8, direction='+x', apodizer=None, lyot_stop=None)

Bases: OpticalElement

A Lyot-style coronagraph with a centered, knife-edge focal-plane mask.

As the knife-edge is invariant along one axis, the Fourier transforms can be sped up by only taking them along one axis. Also, the zero-padding only needs to be done along that axis, reducing memory usage while doing the transform.

The knife-edge is set along the y-axis, so perpendicular to the x-axis.

Parameters
input_gridGrid

The grid of the wavefront that is to be propagated.

qscalar

The amount of oversampling used for the knife edge.

directionstring

The direction of the transmissive part of the knife edge. This has to be one of {‘+x’, ‘-x’, ‘+y’, ‘-y’}.

apodizerOpticalElement or Field or None

The pre-apodizer in the pupil before the focal-plane mask. If this is a Field, it will be converted into an apodizer. If this is None, no apodizer will be used.

lyot_maskOpticalElement or Field

The Lyot stop in the pupil after the focal-plane mask. If this is a Field, it will be converted to an apodizer. If this is None, no Lyot stop will be used.

Methods Summary

backward(wavefront)

Propagate a wavefront backward through the knife-edge coronagraph.

forward(wavefront)

Propagate a wavefront forward through the knife-edge coronagraph.

Methods Documentation

backward(wavefront)

Propagate a wavefront backward through the knife-edge coronagraph.

Parameters
wavefrontWavefront

The wavefront to propagate.

Returns
Wavefront

The propagated wavefront.

forward(wavefront)

Propagate a wavefront forward through the knife-edge coronagraph.

Parameters
wavefrontWavefront

The wavefront to propagate.

Returns
Wavefront

The propagated wavefront.