MultiScaleCoronagraph
- class hcipy.coronagraphy.MultiScaleCoronagraph(input_grid, complex_mask, lyot_stop=None, q=1024, scaling_factor=4, window_size=32)
Bases:
OpticalElement
A phase mask coronagraph.
This
OpticalElement
simulates the propagation of light through a phase mask in the focal plane. To resolve the singularity of the 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.
- complex_maskfield_generator
The complex focal-plane phase mask.
- 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 for example 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 coronagraph.
forward
(wavefront)Propagate a wavefront through the coronagraph.
Methods Documentation
- backward(wavefront)
Propagate backwards through the coronagraph.
This is essentially a forward propagation through the same coronagraph, but with the phase pattern inverted.
- Parameters:
- wavefrontWavefront
The Lyot plane wavefront.
- Returns:
- Wavefront
The pupil-plane wavefront.
- forward(wavefront)
Propagate a wavefront through the coronagraph.
- Parameters:
- wavefrontWavefront
The wavefront to propagate. This wavefront is expected to be in the pupil plane.
- Returns:
- Wavefront
The Lyot plane wavefront.