43 from sutraWrap
import PerfectCoronagraph
44 from carmaWrap
import context
47 class PerfectCoronagraphCompass(GenericCoronagraph):
48 """ Class supervising perfect coronagraph component
51 _spupil: (np.ndarray[ndim=2, dtype=np.float32]): Telescope pupil mask
53 _pupdiam : (int): Number of pixels along the pupil diameter
55 _dim_image :(int): Coronagraphic image dimension
57 _p_corono: (Param_corono): Coronagraph parameters
59 _target: (TargetCompass): Compass Target used as input for the coronagraph
61 _norm_img : (float): Normalization factor for coronagraphic image
63 _norm_psf : (float): Normalization factor for PSF
65 _coronagraph: (SutraCoronagraph): Sutra coronagraph instance
67 _wav_vec: (np.ndarray[ndim=1, dtype=np.float32]): Vector of wavelength
69 _AA: (np.ndarray[ndim=3, dtype=np.complex64]): MFT matrix for image computation
71 _BB: (np.ndarray[ndim=3, dtype=np.complex64]): MFT matrix for image computation
73 _norm0: (np.ndarray[ndim=3, dtype=np.complex64]): MFT matrix for image computation
75 _AA_c: (np.ndarray[ndim=3, dtype=np.complex64]): MFT matrix for image computation
77 _BB_c: (np.ndarray[ndim=3, dtype=np.complex64]): MFT matrix for psf computation
79 _norm0_c: (np.ndarray[ndim=3, dtype=np.complex64]): MFT matrix for psf computation
81 _indices_pup: (tuple): Tuple of ndarray containing X and Y indices of illuminated
84 def __init__(self, context: context, targetCompass: TargetCompass,
85 p_corono: conf.Param_corono, p_geom: conf.Param_geom):
86 """ Initialize a perfect coronagraph instance
89 context: (CarmaWrap.context): GPU context
91 targetCompass: (TargetCompass): Compass Target used as input for the coronagraph
93 p_corono: (Param_corono): Coronagraph parameters
95 p_geom: (Param_geom): Compass geometry parameters
97 init_coronagraph(p_corono, p_geom.pupdiam)
98 GenericCoronagraph.__init__(self, p_corono, p_geom, targetCompass)
99 self.
_wav_vec_wav_vec = p_corono._wav_vec
101 self._AA, self._BB, self.
_norm0_norm0 = init_mft(p_corono,
103 planes=
'lyot_to_image')
104 self._AA_c, self._BB_c, self.
_norm0_c_norm0_c = init_mft(p_corono,
106 planes=
'lyot_to_image',
107 center_on_pixel=
True)
118 def _compute_normalization(self):
119 """ Computes the normalization factor of coronagraphic images (CPU based)
121 self.
_target_target.reset_tar_phase(0)
def get_psf(self, *str expo_type=scons.ExposureType.LE)
Return the psf.
def compute_psf(self, *bool accumulate=True)
Compute the SE psf, and accumulate it in the LE image.
def __init__(self, context context, TargetCompass targetCompass, conf.Param_corono p_corono, conf.Param_geom p_geom)
def _compute_normalization(self)
Parameter classes for COMPASS.
Numerical constants for shesha and config enumerations for safe-typing.
Initialization of a Coronagraph object.