PerfectCoronagraph¶
-
class
hcipy.coronagraphy.
PerfectCoronagraph
(aperture, order=2, coeffs=None)¶ Bases:
hcipy.optics.optical_element.OpticalElement
A perfect coronagraph for a certain aperture and order.
These type of coronagraphs suppress all light for a flat wavefront. The incoming complex amplitude \(A\) is modified as follows (following [Cavarroc2006]):
\[\overline{A} = A - \Pi \sqrt{S}\]where \(\overline{A}\) is the resulting complex ampliutude, \(\Pi\) is the telescope pupil, and \(S\) is the Strehl ratio of the incoming wavefront.
Higher orders are added by fitting higher-order electric field modes to the incoming wavefront and subtracting those, following [Guyon2006].
- Cavarroc2006
Celine Cavarroc et al. “Fundamental limitations on Earth-like planet detection with extremely large telescopes.” Astronomy & Astrophysics 447.1 (2006): 397-403
- Guyon2006(1,2)
Olivier Guyon et al. “Theoretical limits on extrasolar terrestrial planet detection with coronagraphs.” The Astrophysical Journal Supplement Series 167.1 (2006): 81
- Parameters
- apertureField
The reference aperture. The perfect coronagraph is designed for this aperture.
- orderinteger
The order of the perfect coronagraph. This must be even.
- coeffslist or ndarray or None
The coefficients that are used for subtraction. This allows for partial suppression of certain modes, which can be used to design perfect coronagraphs that are insensitive to stellar radius [Guyon2006]. If it is None, all modes are completely suppressed.
Methods Summary
backward
(wavefront)Propagate the wavefront backwards through the perfect coronagraph.
forward
(wavefront)Propagate the wavefront through the perfect coronagraph.
get_transformation_matrix_backward
([wavelength])Get the backwards propagation transformation matrix.
get_transformation_matrix_forward
([wavelength])Get the forward propagation transformation matrix.
Methods Documentation
-
backward
(wavefront)¶ Propagate the wavefront backwards through the perfect coronagraph.
This method behaves the same as the forward propagation.
- Parameters
- wavefrontWavefront
The incoming wavefront (in the pupil plane)
- Returns
- Wavefront
The post-coronagraphic wavefront (in the pupil plane).
-
forward
(wavefront)¶ Propagate the wavefront through the perfect coronagraph.
- Parameters
- wavefrontWavefront
The incoming wavefront (in the pupil plane)
- Returns
- Wavefront
The post-coronagraphic wavefront (in the pupil plane).
-
get_transformation_matrix_backward
(wavelength=1)¶ Get the backwards propagation transformation matrix.
This method behaves the same as the forward propagation.
- Parameters
- wavelengthscalar
The wavelength at which to calculate the transformation matrix.
- Returns
- ndarray
The backward transformation_matrix.
-
get_transformation_matrix_forward
(wavelength=1)¶ Get the forward propagation transformation matrix.
- Parameters
- wavelengthscalar
The wavelength at which to calculate the transformation matrix.
- Returns
- ndarray
The forward transformation_matrix.