EXOSIMS.OpticalSystem package
Submodules
EXOSIMS.OpticalSystem.KasdinBraems module
- class EXOSIMS.OpticalSystem.KasdinBraems.KasdinBraems(PSF=array([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]]), **specs)[source]
Bases:
OpticalSystem
KasdinBraems Optical System class
This class contains all variables and methods necessary to perform Optical System Module calculations in exoplanet mission simulation using the model from Kasdin & Braems 2006.
- Parameters:
- calc_intTime(TL, sInds, fZ, fEZ, dMag, WA, mode, TK=None)[source]
Finds integration times of target systems for a specific observing mode (imaging or characterization), based on Kasdin and Braems 2006.
- Parameters:
TL (TargetList module) – TargetList class object
sInds (integer ndarray) – Integer indices of the stars of interest
fZ (astropy Quantity array) – Surface brightness of local zodiacal light in units of 1/arcsec2
fEZ (astropy Quantity array) – Surface brightness of exo-zodiacal light in units of 1/arcsec2
dMag (float ndarray) – Differences in magnitude between planets and their host star
WA (astropy Quantity array) – Working angles of the planets of interest in units of arcsec
mode (dict) – Selected observing mode
- Returns:
Integration times in units of day
- Return type:
intTime (astropy Quantity array)
EXOSIMS.OpticalSystem.Nemati module
- class EXOSIMS.OpticalSystem.Nemati.Nemati(CIC=0.001, radDos=0, PCeff=0.8, ENF=1, ref_dMag=3, ref_Time=0, **specs)[source]
Bases:
OpticalSystem
Nemati Optical System class
Optical System Module based on [Nemati2014].
- Parameters:
CIC (float) – Default clock-induced-charge (in electrons/pixel/read). Only used when not set in science instrument definition. Defaults to 1e-3
radDos (float) – Default radiation dose. Only used when not set in mode definition. Specific defintion depends on particular optical system. Defaults to 0.
PCeff (float) – Default photon counting efficiency. Only used when not set in science instrument definition. Defaults to 0.8
ENF (float) – Default excess noise factor. Only used when not set in science instrument definition. Defaults to 1.
ref_dMag (float) – Reference star \(\Delta\mathrm{mag}\) for reference differential imaging. Defaults to 3. Unused if
ref_Time
input is 0ref_Time (float) – Faction of time used on reference star imaging. Must be between 0 and 1. Defaults to 0
**specs – Input Specification
- default_vals_extra
Dictionary of input values to be filled in as defaults in the instrument, starlight supporession system and observing modes. These values are specific to this module.
- Type:
- ref_dMag
Reference star \(\Delta\mathrm{mag}\) for reference differential imaging. Unused if
ref_Time
input is 0- Type:
- Cp_Cb_Csp(TL, sInds, fZ, fEZ, dMag, WA, mode, returnExtra=False, TK=None)[source]
Calculates electron count rates for planet signal, background noise, and speckle residuals.
- Parameters:
TL (TargetList) – TargetList class object
sInds (ndarray(int)) – Integer indices of the stars of interest
fZ (Quantity(ndarray(float))) – Surface brightness of local zodiacal light in units of 1/arcsec2
fEZ (Quantity(ndarray(float))) – Surface brightness of exo-zodiacal light in units of 1/arcsec2
dMag (ndarray(float)) – Differences in magnitude between planets and their host star
WA (Quantity(ndarray(float))) – Working angles of the planets of interest in units of arcsec
mode (dict) – Selected observing mode
returnExtra (bool) – Optional flag, default False, set True to return additional rates for validation
TK (TimeKeeping, optional) – Optional TimeKeeping object (default None), used to model detector degradation effects where applicable.
- Returns:
- C_p (~astropy.units.Quantity(~numpy.ndarray(float))):
Planet signal electron count rate in units of 1/s
- C_b (~astropy.units.Quantity(~numpy.ndarray(float))):
Background noise electron count rate in units of 1/s
- C_sp (~astropy.units.Quantity(~numpy.ndarray(float))):
Residual speckle spatial structure (systematic error) in units of 1/s
- Return type:
- calc_dMag_per_intTime(intTimes, TL, sInds, fZ, fEZ, WA, mode, C_b=None, C_sp=None, TK=None)[source]
Finds achievable dMag for one integration time per star in the input list at one working angle.
- Parameters:
intTimes (astropy Quantity array) – Integration times
TL (TargetList module) – TargetList class object
sInds (integer ndarray) – Integer indices of the stars of interest
fZ (astropy Quantity array) – Surface brightness of local zodiacal light for each star in sInds in units of 1/arcsec2
fEZ (astropy Quantity array) – Surface brightness of exo-zodiacal light for each star in sInds in units of 1/arcsec2
WA (astropy Quantity array) – Working angle for each star in sInds in units of arcsec
mode (dict) – Selected observing mode
C_b (astropy Quantity array) – Background noise electron count rate in units of 1/s (optional)
C_sp (astropy Quantity array) – Residual speckle spatial structure (systematic error) in units of 1/s (optional)
TK (TimeKeeping object) – Optional TimeKeeping object (default None), used to model detector degradation effects where applicable.
- Returns:
Achievable dMag for given integration time and working angle
- Return type:
dMag (ndarray)
- calc_intTime(TL, sInds, fZ, fEZ, dMag, WA, mode, TK=None)[source]
Finds integration times of target systems for a specific observing mode (imaging or characterization), based on Nemati 2014 (SPIE).
- Parameters:
TL (TargetList module) – TargetList class object
sInds (integer ndarray) – Integer indices of the stars of interest
fZ (astropy Quantity array) – Surface brightness of local zodiacal light in units of 1/arcsec2
fEZ (astropy Quantity array) – Surface brightness of exo-zodiacal light in units of 1/arcsec2
dMag (float ndarray) – Differences in magnitude between planets and their host star
WA (astropy Quantity array) – Working angles of the planets of interest in units of arcsec
mode (dict) – Selected observing mode
TK (TimeKeeping object) – Optional TimeKeeping object (default None), used to model detector degradation effects where applicable.
- Returns:
Integration times in units of day
- Return type:
intTime (astropy Quantity array)
- calc_saturation_dMag(TL, sInds, fZ, fEZ, WA, mode, TK=None)[source]
This calculates the delta magnitude for each target star that corresponds to an infinite integration time.
- Parameters:
TL (TargetList) – TargetList class object
sInds (numpy.ndarray(int)) – Integer indices of the stars of interest
fZ (Quantity(ndarray(float))) – Surface brightness of local zodiacal light in units of 1/arcsec2
fEZ (Quantity(ndarray(float))) – Surface brightness of exo-zodiacal light in units of 1/arcsec2
WA (Quantity(ndarray(float))) – Working angles of the planets of interest in units of arcsec
mode (dict) – Selected observing mode
TK (TimeKeeping, optional) – Optional TimeKeeping object (default None), used to model detector degradation effects where applicable.
- Returns:
Maximum achievable dMag for each target star
- Return type:
- dMag_per_intTime_obj(dMag, *args)[source]
Objective function for calc_dMag_per_intTime’s minimize_scalar function that uses calc_intTime from Nemati and then compares the value to the true intTime value
- ddMag_dt(intTimes, TL, sInds, fZ, fEZ, WA, mode, C_b=None, C_sp=None, TK=None)[source]
Finds derivative of achievable dMag with respect to integration time
- Parameters:
intTimes (astropy Quantity array) – Integration times
TL (TargetList module) – TargetList class object
sInds (integer ndarray) – Integer indices of the stars of interest
fZ (astropy Quantity array) – Surface brightness of local zodiacal light for each star in sInds in units of 1/arcsec2
fEZ (astropy Quantity array) – Surface brightness of exo-zodiacal light for each star in sInds in units of 1/arcsec2
WA (astropy Quantity array) – Working angle for each star in sInds in units of arcsec
mode (dict) – Selected observing mode
C_b (astropy Quantity array) – Background noise electron count rate in units of 1/s (optional)
C_sp (astropy Quantity array) – Residual speckle spatial structure (systematic error) in units of 1/s (optional)
TK (TimeKeeping object) – Optional TimeKeeping object (default None), used to model detector degradation effects where applicable.
- Returns:
Derivative of achievable dMag with respect to integration time
- Return type:
ddMagdt (ndarray)
EXOSIMS.OpticalSystem.Nemati_2019 module
- class EXOSIMS.OpticalSystem.Nemati_2019.Nemati_2019(k_samp=0.25, Nlensl=5, lam_d=500, lam_c=500, MUF_thruput=0.91, ContrastScenario='CGDesignPerf', **specs)[source]
Bases:
Nemati
Nemati Optical System class
This class contains all variables and methods necessary to perform Optical System Module calculations in exoplanet mission simulation using the model from Nemati 2014.
- Parameters:
k_samp (float) – Default coronagraphic intrinsice sampling. Only used if not set in instrument definition. Defaults to 0.25. TODO: move to starlight suppresion system.
Nlensl (float) – Total lenslets covered by PSF core. Only used when not set in science instrument definition. Only applies for spectrometers. Defaults to 5
lam_d (float) – Default instrument design wavelength (in nm). Only used when not set in science instrument definition. Defaults to 500
lam_c (float) – Default instrument critical wavelength (in nm). Only used when not set in science instrument definition. Defaults to 500
MUF_thruput (float) – Model uncertainty factor core throughput. Only used when not set in science instrument definition. Defaults to 0.91
**specs – Input Specification
- default_vals_extra2
Dictionary of input values to be filled in as defaults in the instrument, starlight supporession system and observing modes. These values are specific to this module.
- Type:
- Cp_Cb_Csp(TL, sInds, fZ, fEZ, dMag, WA, mode, TK=None, returnExtra=False)[source]
Calculates electron count rates for planet signal, background noise, and speckle residuals.
- Parameters:
TL (TargetList module) – TargetList class object
sInds (integer ndarray) – Integer indices of the stars of interest
fZ (astropy Quantity array) – Surface brightness of local zodiacal light in units of 1/arcsec2
fEZ (astropy Quantity array) – Surface brightness of exo-zodiacal light in units of 1/arcsec2
dMag (float ndarray) – Differences in magnitude between planets and their host star
WA (astropy Quantity array) – Working angles of the planets of interest in units of arcsec
mode (dict) – Selected observing mode
TK (TimeKeeping object) – Optional TimeKeeping object (default None), used to model detector degradation effects where applicable.
returnExtra (bool) – Optional flag, default False, set True to return additional rates for validation
- Returns:
- C_p (astropy.units.Quantity numpy.ndarray):
Planet signal electron count rate in units of 1/s
- C_b (astropy.units.Quantity numpy.ndarray):
Background noise electron count rate in units of 1/s
- C_sp (astropy.units.Quantity numpy.ndarray):
1/s
- Return type:
- calc_dMag_per_intTime(intTimes, TL, sInds, fZ, fEZ, WA, mode, C_b=None, C_sp=None, TK=None)[source]
Finds achievable dMag for one integration time per star in the input list at one working angle each. Uses scipy’s root-finding function fsolve
- Parameters:
intTimes (astropy Quantity array) – Integration times
TL (TargetList module) – TargetList class object
sInds (integer ndarray) – Integer indices of the stars of interest
fZ (astropy Quantity array) – Surface brightness of local zodiacal light for each star in sInds in units of 1/arcsec2
fEZ (astropy Quantity array) – Surface brightness of exo-zodiacal light for each star in sInds in units of 1/arcsec2
WA (astropy Quantity array) – Working angle for each star in sInds in units of arcsec
mode (dict) – Selected observing mode
C_b (astropy Quantity array) – Background noise electron count rate in units of 1/s (optional)
C_sp (astropy Quantity array) – Residual speckle spatial structure (systematic error) in units of 1/s (optional)
TK (TimeKeeping object) – Optional TimeKeeping object (default None), used to model detector degradation effects where applicable.
- Returns:
Achievable dMag for given integration time and working angle
- Return type:
dMag (ndarray)