Imager¶
-
class
gunagala.imager.
Imager
(optic, camera, filters, psf, sky, num_imagers=1, num_per_computer=1)[source]¶ Bases:
object
Class representing an astronomical imaging instrument.
Class representing a complete astronomical imaging system, including optics, optical filters and camera.
Also includes point spread function and sky background models. Optionally it can be used to represent an array of identical, co-aligned imager using the
num_imagers
parameter to specify the number of copies.Parameters: - optic : gunagala.optic.Optic
Optical system model.
- camera : gunagala.camera.Camera
Camera (image sensor) model.
- filters : dict of gunagala.filter.Filter
Dictionary of optical filter models.
- psf : gunagala.psf.PSF
Point spread function model.
- sky : gunagala.sky.Sky
Sky background model.
- num_imagers : int, optional
the number of identical, co-aligned imagers represented by this
Imager
. The default is 1.- num_per_computer : int, optional
number of cameras connected to each computer. Used in situations where multiple cameras must be readout sequentially so the effective readout time is equal to the readout time of a single camera multiplied by the
num_per_computer
. The default is 1.
Attributes: - optic : gunagala.optic.Optic
Same as parameters.
- camera : gunagala.camera.Camera
Same as parameters.
- filters : dict
Same as parameters.
- psf : gunagala.psf.PSF
Same as parameters.
- sky : gunagala.sky.Sky
Same as parameters.
- num_imagers : int
Same as parameters.
- num_per_computer : int
Same as parameters.
- filter_names : list of str
List of filter names from
filters
.- pixel_scale : astropy.units.Quantity
Pixel scale in arcseconds/pixel units.
- pixel_area : astropy.units.Quantity
Pixel area in arseconds^2/pixel units.
- field_of_view : astropy.units.Quantity
Field of view (horizontal, vertical) in degrees.
- wcs : astropy.wcs.WCS
Template world coordinate system (WCS) for sky coordinate/pixel coordinate mapping.
- wavelengths : astropy.units.Quantity
List of wavelengths used for wavelength dependent attributes/calculations.
- efficiencies : dict of astropy.units.Quantity
End to end efficiency as a function of wavelegth for each filter bandpass.
- efficiency : dict of astropy.units.Quantity
Mean end to end efficiencies for each filter bandpass.
- mean_wave : dict of astropy.units.Quantity
Mean wavelength for each filter bandpass.
- pivot_wave : dict of astropy.units.Quantity
Pivot wavelength for each filter bandpass.
- bandwidth : dict of astropy.units.Quantity
Bandwidths for each filter bandpass (STScI definition).
- sky_rate : dict of astropy.units.Quantity
Detected electrons/s/pixel due to the sky background for each filter bandpass.
Methods Summary
ABmag_to_flux
(mag, filter_name)Converts brightness of the target to total flux, integrated over the filter band. ABmag_to_rate
(mag, filter_name)Converts AB magnitudes to photo-electrons per second in the image sensor SB_to_rate
(mag, filter_name)Converts surface brightness AB magnitudes (per arcsecond squared) to photo-electrons per pixel per second. exp_time_sequence
(filter_name[, …])Calculates a sequence of sub exposures to use to span a given range of either point source brightness or exposure time. extended_source_etc
(surface_brightness, …)Calculates the total exposure time required to reach a given signal to noise ratio for a given extended source surface brightness. extended_source_limit
(total_exp_time, …[, …])Calculates the limiting extended source surface brightness for a given minimum signal to noise ratio and total exposure time. extended_source_saturation_exp
(…[, n_sigma])Calculates the maximum (sub) exposure time that will definitely avoid saturation for an extended source of given surface brightness. extended_source_saturation_mag
(sub_exp_time, …)Calculates the surface brightness of the brightest extended source that would definitely not saturate the image sensor in a given (sub) exposure time. extended_source_signal_noise
(…[, …])Calculates the signal and noise for an extended source with given surface brightness. extended_source_snr
(surface_brightness, …)Calculates the signal to noise ratio for an extended source with given surface brightness. flux_to_ABmag
(flux, filter_name)Converts total flux of the target, integrated over the filter band, to magnitudes. point_source_etc
(brightness, filter_name, …)Calculates the total exposure time required to reach a given signal to noise ratio for a given point source brightness. point_source_limit
(total_exp_time, …[, …])Calculates the limiting point source surface brightness for a given minimum signal to noise ratio and total exposure time. point_source_saturation_exp
(brightness, …)Calculates the maximum (sub) exposure time that will definitely avoid saturation for point source of given brightness point_source_saturation_mag
(sub_exp_time, …)Calculates the magnitude of the brightest point source that would definitely not saturate the image sensor in a given (sub) exposure time. point_source_signal_noise
(brightness, …[, …])Calculates the signal and noise for a point source of a given brightness, assuming PSF fitting photometry point_source_snr
(brightness, filter_name, …)Calculates the signal to noise ratio for a point source of a given brightness, assuming PSF fitting photometry rate_to_ABmag
(rate, filter_name)Converts photo-electrons per second in the image sensor to AB magnitudes rate_to_SB
(SB_rate, filter_name)Converts photo-electrons per pixel per second to surface brightness AB magnitudes (per arcsecond squared) snr_vs_ABmag
(exp_times, filter_name[, …])Calculates PSF fitting signal to noise ratio as a function of point source brightness for the combined data resulting from a given sequence of sub exposures. total_elapsed_time
(exp_list)Calculates the total elapsed time required for a given a list of sub-exposure times. total_exposure_time
(total_elapsed_time, …)Calculates total exposure time given a total elapsed time and sub-exposure time. Methods Documentation
-
ABmag_to_flux
(mag, filter_name)[source]¶ Converts brightness of the target to total flux, integrated over the filter band.
Parameters: - mag : astropy.units.Quantity
Brightness of the target in AB magnitudes
- filter_name : str
Name of the optical filter to use
Returns: - flux : astropy.units.Quantity
Corresponding total flux in Watts per square metre
Notes
The conversion between band averaged magnitudes and total flux depends somewhat on the spectrum of the source. For this calculation we assume \(F_\nu\) is constant.
-
ABmag_to_rate
(mag, filter_name)[source]¶ Converts AB magnitudes to photo-electrons per second in the image sensor
Parameters: - mag : astropy.units.Quantity
Source brightness in AB magnitudes
- filter_name : str
Name of the optical filter to use
Returns: - rate : astropy.units.Quantity
Corresponding photo-electrons per second
-
SB_to_rate
(mag, filter_name)[source]¶ Converts surface brightness AB magnitudes (per arcsecond squared) to photo-electrons per pixel per second.
Parameters: - mag : astropy.units.Quantity
Source surface brightness in AB magnitudes
- filter_name : str
Name of the optical filter to use
Returns: - rate : astropy.units.Quantity
Corresponding photo-electrons per pixel per second
Notes
At the time of writing
astropy.units
did not support the commonly used (but dimensionally nonsensical) expression of surface brightness in ‘magnitudes per arcsecond squared’. Consequently themag
surface brightness parameter should have a units ofastropy.unit.ABmag
, the ‘per arcsecond squared’ is implied.
-
exp_time_sequence
(filter_name, bright_limit=None, shortest_exp_time=None, longest_exp_time=None, faint_limit=None, num_long_exp=None, exp_time_ratio=2.0, snr_target=5.0)[source]¶ Calculates a sequence of sub exposures to use to span a given range of either point source brightness or exposure time.
If required the sequence will begin with an ‘HDR block’ of progressly increasing exposure time, followed by 1 or more exposures of equal length with the number of long exposures either specified directly or calculated from the faintest point source that the sequence is intended to detect.
Parameters: - filter_name : str
Name of the optical filter to use.
- bright_limit : astropy.units.Quantity, optional
Brightness in ABmag of the brightest point sources that we want to avoid saturating on, will be used to calculate a suitable shortest exposure time. Optional, but one and only one of
bright_limit
andshortest_exp_time
must be specified.- shortest_exp_time : astropy.units.Quantity, optional
Shortest sub exposure time to include in the sequence. Optional, but one and only one of
bright_limit
andshortest_exp_time
must be specified.- longest_exp_time : astropy.units.Quantity
Longest sub exposure time to include in the sequence.
- faint_limit : astropy.units.Quantity, optional
Brightness in ABmag of the faintest point sources that we want to be able to detect in the combined data from the sequence. Optional, but one and only one of
faint_limit
andnum_long_exp
must be specified.- num_long_exp : int, optional
Number of repeats of the longest sub exposure to include in the sequence. Optional, but one and only one of
faint_limit
andnum_long_exp
must be specified.- exp_time_ratio : float, optional
Ratio between successive sub exposure times in the HDR block, default 2.0
- snr_target : float, optional
Signal to noise ratio threshold for detection at
faint_limit
, default 5.0
Returns: - exp_times : astropy.units.Quantity
Sequence of sub exposure times
-
extended_source_etc
(surface_brightness, filter_name, snr_target, sub_exp_time, calc_type='per pixel', saturation_check=True, binning=1)[source]¶ Calculates the total exposure time required to reach a given signal to noise ratio for a given extended source surface brightness.
Calculates the total exposure time required to reach a given signal to noise ratio for a given extended source surface brightness. Alternatively can calculate the required time for measurements of the sky background itself by setting the source surface brightness to None.
Parameters: - surface_brightness : astropy.units.Quantity or None
Surface brightness per arcsecond^2 of the source in ABmag units, or an equivalent count rate in photo-electrons per second per pixel. Set to None or False to calculate the required exposure time for measurements of the sky background.
- filter_name : str
Name of the optical filter to use
- snr_target : astropy.units.Quantity
The desired signal to noise ratio, dimensionless unscaled units
- sub_exp_time : astropy.units.Quantity
length of individual sub-exposures
- calc_type : {‘per pixel’, ‘per arcsecond squared’}
Calculation type, either signal to noise ratio per pixel or signal to noise ratio per arcsecond^2. Default is ‘per pixel’
- saturation_check : bool, optional
If
True
will set the exposure time to zero where the electrons per pixel in a single sub-exposure exceed the saturation level. Default isTrue
.- binning : int, optional
Pixel binning factor. Cannot be used with calculation type ‘per arcsecond squared’, will raise
ValueError
if you try.
Returns: - total_exp_time : astropy.units.Quantity
Total exposure time required to reach a signal to noise ratio of at least
snr_target
, rounded up to an integer multiple ofsub_exp_time
.
-
extended_source_limit
(total_exp_time, filter_name, snr_target, sub_exp_time, calc_type='per pixel', binning=1, enable_read_noise=True, enable_sky_noise=True, enable_dark_noise=True)[source]¶ Calculates the limiting extended source surface brightness for a given minimum signal to noise ratio and total exposure time.
Parameters: - total_exp_time : astropy.units.Quantity
Total length of all sub-exposures. If necessary will be rounded up to an integer multiple of
sub_exp_time
- filter_name : str
Name of the optical filter to use
- snr_target : astropy.units.Quantity
The desired signal to noise ratio, dimensionless unscaled units
- sub_exp_time : astropy.units.Quantity
length of individual sub-exposures
- calc_type : {‘per pixel’, ‘per arcsecond squared’}
Calculation type, either signal to noise ratio per pixel or signal to noise ratio per arcsecond^2. Default is ‘per pixel’
- binning : int, optional
Pixel binning factor. Cannot be used with calculation type ‘per arcsecond squared’, will raise
ValueError
if you try.- enable_read_noise : bool, optional
If
False
calculates limit as if read noise were zero, defaultTrue
- enable_sky_noise : bool, optional
If
False
calculates limit as if sky background were zero, defaultTrue
- enable_dark_noise : bool, optional
If False calculates limits as if dark current were zero, default
True
Returns: - surface_brightness : astropy.units.Quantity
Limiting source surface brightness per arcsecond squared, in AB mag units.
-
extended_source_saturation_exp
(surface_brightness, filter_name, n_sigma=3.0)[source]¶ Calculates the maximum (sub) exposure time that will definitely avoid saturation for an extended source of given surface brightness.
Parameters: - surface_brightness : astropy.units.Quantity
Surface brightness per arcsecond^2 of the source in ABmag units, or an equivalent count rate in photo-electrons per second per pixel
- filter_name : str
Name of the optical filter to use
- n_sigma : float, optional
Safety margin to leave between the maximum expected electrons per pixel and the nominalsaturation level, in multiples of the noise, default 3.0
Returns: - sub_exp_time : astropy.units.Quantity
Maximum length of (sub) exposure that will definitely avoid saturation
-
extended_source_saturation_mag
(sub_exp_time, filter_name, n_sigma=3.0)[source]¶ Calculates the surface brightness of the brightest extended source that would definitely not saturate the image sensor in a given (sub) exposure time.
Parameters: - sub_exp_time : astropy.units.Quantity
Length of the (sub) exposure.
- filter_name : str
Name of the optical filter to use.
- n_sigma : float, optional
Safety margin to leave between the maximum expected electrons per pixel and the nominal saturation level, in multiples of the noise, default 3.0
Returns: - surface_brightness : astropy.units.Quantity
Surface brightness per arcsecond^2 of the brightest extended source that will definitely not saturate, in AB magnitudes.
-
extended_source_signal_noise
(surface_brightness, filter_name, total_exp_time, sub_exp_time, calc_type='per pixel', saturation_check=True, binning=1)[source]¶ Calculates the signal and noise for an extended source with given surface brightness.
Calculates the signal and noise for an extended source with given surface brightness. Alternatively can calculate the signal and noise for measurements of the sky background itself by setting the source surface brightness to None.
Parameters: - surface_brightness : astropy.units.Quantity or callable or None
Surface brightness per arcsecond^2 of the source in ABmag units, or an equivalent count rate in photo-electrons per second per pixel, or a callable object that return surface brightness in spectral flux density units as a function of wavelength. Set to None or False to calculate the signal and noise for the sky background.
- filter_name : str
Name of the optical filter to use
- total_exp_time : astropy.units.Quantity
Total length of all sub-exposures. If necessary will be rounded up to an integer multiple of
sub_exp_time
- sub_exp_time : astropy.units.Quantity
Length of individual sub-exposures
- calc_type : {‘per pixel’, ‘per arcsecond squared’}
Calculation type, either signal & noise per pixel or signal & noise per arcsecond^2. Default is ‘per pixel’
- saturation_check : bool, optional
If
True
will set both signal and noise to zero where the electrons per pixel in a single sub-exposure exceed the saturation level. Default isTrue
.- binning : int, optional
Pixel binning factor. Cannot be used with calculation type ‘per arcsecond squared’, will raise
ValueError
if you try.
Returns: - signal : astropy.units.Quantity
Total signal, units determined by calculation type.
- noise: astropy.units.Quantity
Total noise, units determined by calculaton type.
-
extended_source_snr
(surface_brightness, filter_name, total_exp_time, sub_exp_time, calc_type='per pixel', saturation_check=True, binning=1)[source]¶ Calculates the signal to noise ratio for an extended source with given surface brightness.
Calculates the signal to noise ratio for an extended source with given surface brightness. Alternatively can calculate the signal to noise for measurements of the sky background itself by setting the source surface brightness to None.
Parameters: - surface_brightness : astropy.units.Quantity or callable or None
Surface brightness per arcsecond^2 of the source in ABmag units, or an equivalent count rate in photo-electrons per second per pixel, or a callable object that return surface brightness in spectral flux density units as a function of wavelength. Set to None or False to calculate the signal to noise ratio for the sky background.
- filter_name : str
Name of the optical filter to use
- total_exp_time : astropy.units.Quantity
Total length of all sub-exposures. If necessary will be rounded up to an integer multiple of
sub_exp_time
- sub_exp_time : astropy.units.Quantity
Length of individual sub-exposures
- calc_type : {‘per pixel’, ‘per arcsecond squared’}
Calculation type, either signal to noise ratio per pixel or signal to noise ratio per arcsecond^2. Default is ‘per pixel’
- saturation_check : bool, optional
If
True
will set the signal to noise ratio to zero where the electrons per pixel in a single sub-exposure exceed the saturation level. Default isTrue
.- binning : int, optional
Pixel binning factor. Cannot be used with calculation type ‘per arcsecond squared’, will raise
ValueError
if you try.
Returns: - snr : astropy.units.Quantity
signal to noise ratio, dimensionless unscaled units
-
flux_to_ABmag
(flux, filter_name)[source]¶ Converts total flux of the target, integrated over the filter band, to magnitudes.
Parameters: - flux : astropy.units.Quantity
Total flux in Watts per square metre
- filter_name : str
Name of the optical filter to use
Returns: - mag : astropy.units.Quantity
Corresponding brightness of the target in AB magnitudes
Notes
The conversion between band averaged magnitudes and total flux depends somewhat on the spectrum of the source. For this calculation we assume \(F_\nu\) is constant.
-
point_source_etc
(brightness, filter_name, snr_target, sub_exp_time, saturation_check=True)[source]¶ Calculates the total exposure time required to reach a given signal to noise ratio for a given point source brightness.
Parameters: - brightness : astropy.units.Quantity
Brightness of the source in ABmag units, or an equivalent count rate in photo-electrons per second.
- filter_name : str
Name of the optical filter to use
- snr_target : astropy.units.Quantity
The desired signal to noise ratio, dimensionless unscaled units
- sub_exp_time : astropy.units.Quantity
length of individual sub-exposures
- saturation_check : bool, optional
If
True
will set the exposure time to zero where the electrons per pixel in a single sub-exposure exceed the saturation level. Default isTrue
.
Returns: - total_exp_time : astropy.units.Quantity
Total exposure time required to reach a signal to noise ratio of at least
snr_target
, rounded up to an integer multiple ofsub_exp_time
.
-
point_source_limit
(total_exp_time, filter_name, snr_target, sub_exp_time, enable_read_noise=True, enable_sky_noise=True, enable_dark_noise=True)[source]¶ Calculates the limiting point source surface brightness for a given minimum signal to noise ratio and total exposure time.
Parameters: - total_exp_time : astropy.units.Quantity
Total length of all sub-exposures. If necessary will be rounded up to an integer multiple of
sub_exp_time
- filter_name : str
Name of the optical filter to use
- snr_target : astropy.units.Quantity
The desired signal to noise ratio, dimensionless unscaled units
- sub_exp_time : astropy.units.Quantity
length of individual sub-exposures
- calc_type : {‘per pixel’, ‘per arcsecond squared’}
Calculation type, either signal to noise ratio per pixel or signal to noise ratio per arcsecond^2. Default is ‘per pixel’
- enable_read_noise : bool, optional
If
False
calculates limit as if read noise were zero, defaultTrue
- enable_sky_noise : bool, optional
If
False
calculates limit as if sky background were zero, defaultTrue
- enable_dark_noise : bool, optional
If False calculates limits as if dark current were zero, default
True
Returns: - brightness : astropy.units.Quantity
Limiting point source brightness, in AB mag units.
-
point_source_saturation_exp
(brightness, filter_name, n_sigma=3.0)[source]¶ Calculates the maximum (sub) exposure time that will definitely avoid saturation for point source of given brightness
Parameters: - brightness : astropy.units.Quantity
Brightness of the source in ABmag units, or an equivalent count rate in photo-electrons per second.
- filter_name : str
Name of the optical filter to use
- n_sigma : float, optional
Safety margin to leave between the maximum expected electrons per pixel and the nominalsaturation level, in multiples of the noise, default 3.0
Returns: - sub_exp_time : astropy.units.Quantity
Maximum length of (sub) exposure that will definitely avoid saturation
-
point_source_saturation_mag
(sub_exp_time, filter_name, n_sigma=3.0)[source]¶ Calculates the magnitude of the brightest point source that would definitely not saturate the image sensor in a given (sub) exposure time.
Parameters: - sub_exp_time : astropy.units.Quantity
Length of the (sub) exposure.
- filter_name : str
Name of the optical filter to use.
- n_sigma : float, optional
Safety margin to leave between the maximum expected electrons per pixel and the nominalsaturation level, in multiples of the noise, default 3.0
Returns: - brighness : astropy.units.Quantity
AB magnitude of the brightest point source that will definitely not saturate.
-
point_source_signal_noise
(brightness, filter_name, total_exp_time, sub_exp_time, saturation_check=True)[source]¶ Calculates the signal and noise for a point source of a given brightness, assuming PSF fitting photometry
The returned signal and noise values are the weighted sum over the pixels in the source image, where the weights are the normalised pixel values of the PSF model being fit to the data.
Parameters: - brightness : astropy.units.Quantity
Brightness of the source in ABmag units, or an equivalent count rate in photo-electrons per second.
- filter_name : str
Name of the optical filter to use
- total_exp_time : astropy.units.Quantity
Total length of all sub-exposures. If necessary will be rounded up to an integer multiple of
sub_exp_time
- sub_exp_time : astropy.units.Quantity
Length of individual sub-exposures
- calc_type : {‘per pixel’, ‘per arcsecond squared’}
Calculation type, either signal & noise per pixel or signal & noise per arcsecond^2. Default is ‘per pixel’
- saturation_check : bool, optional
If
True
will set both signal and noise to zero where the electrons per pixel in a single sub-exposure exceed the saturation level. Default isTrue
.
Returns: - signal : astropy.units.Quantity
Effective total signal in units of electrons
- noise: astropy.units.Quantity
Effective total noise in units of electrons
Notes
The PSF fitting signal to noise calculations follow the example of http://www.stsci.edu/itt/review/ihb_cy14.WFPC2/ch6_exposuretime6.html
The values will depend on the position of the centre of the PSF relative to the pixel grid, this calculation assumes the worst case of PSF centres on a pixel corner. Conversely it optimistically assumes that the PSF model exactly matches the PSF of the data.
-
point_source_snr
(brightness, filter_name, total_exp_time, sub_exp_time, saturation_check=True)[source]¶ Calculates the signal to noise ratio for a point source of a given brightness, assuming PSF fitting photometry
The returned signal to noise ratio refers to the weighted sum over the pixels in the source image, where the weights are the normalised pixel values of the PSF model being fit to the data.
Parameters: - brightness : astropy.units.Quantity
Brightness of the source in ABmag units, or an equivalent count rate in photo-electrons per second.
- filter_name : str
Name of the optical filter to use
- total_exp_time : astropy.units.Quantity
Total length of all sub-exposures. If necessary will be rounded up to an integer multiple of
sub_exp_time
- sub_exp_time : astropy.units.Quantity
Length of individual sub-exposures
- calc_type : {‘per pixel’, ‘per arcsecond squared’}
Calculation type, either signal & noise per pixel or signal & noise per arcsecond^2. Default is ‘per pixel’
- saturation_check : bool, optional
If
True
will set both signal and noise to zero where the electrons per pixel in a single sub-exposure exceed the saturation level. Default isTrue
.
Returns: - snr : astropy.units.Quantity
signal to noise ratio dimensionless unscaled units
-
rate_to_ABmag
(rate, filter_name)[source]¶ Converts photo-electrons per second in the image sensor to AB magnitudes
Parameters: - rate : astropy.units.Quantity
Photo-electrons per second
- filter_name : str
Name of the optical filter to use
Returns: - mag : astropy.units.Quantity
Corresponding source brightness in AB magnitudes
-
rate_to_SB
(SB_rate, filter_name)[source]¶ Converts photo-electrons per pixel per second to surface brightness AB magnitudes (per arcsecond squared)
Parameters: - SB_rate : astropy.units.Quantity
Photo-electrons per pixel per second
- filter_name : str
Name of the optical filter to use
Returns: - mag : astropy.units.Quantity
Corresponding source surface brightness in AB magnitudes
Notes
At the time of writing
astropy.units
did not support the commonly used (but dimensionally nonsensical) expression of surface brightness in ‘magnitudes per arcsecond squared’. Consequently themag
surface brightness return value has units ofastropy.unit.ABmag
, the ‘per arcsecond squared’ is implied.
-
snr_vs_ABmag
(exp_times, filter_name, magnitude_interval=<Magnitude 0.02 mag(AB)>, snr_target=1.0, plot=None)[source]¶ Calculates PSF fitting signal to noise ratio as a function of point source brightness for the combined data resulting from a given sequence of sub exposures.
Optionally generates a plot of the results. Automatically choses limits for the magnitude range based on the saturation limit of the shortest exposure and the sensitivity limit of the combined data.
Parameters: - exp_times : astropy.units.Quantity
Sequence of sub exposure times.
- filter_name : str
Name of the optical filter to use.
- magnitude_interval : astropy.units.Quantity, optional
Step between consecutive brightness values, default 0.02 mag
- snr_target : float, optional
signal to noise threshold used to set faint limit of magnitude range, default 1.0
- plot : str, optional
Filename for the plot of SNR vs magnitude. If not given no plots will be generated.
Returns: - magnitudes : astropy.units.Quantity
Sequence of point source brightnesses in AB magnitudes
- snrs : astropy.units.Quantity
signal to noise ratios for point sources of the brightnesses in
magnitudes
-
total_elapsed_time
(exp_list)[source]¶ Calculates the total elapsed time required for a given a list of sub-exposure times.
The calculation add readout time overheads (but no others, at present) and sums the elapsed time from all sub-exposures.
Parameters: - exp_list : astropy.units.Quantity
List of sub-exposure times
Returns: - elapsed_time : astropy.units.Quantity
Total elapsed time required to execute the list of sub exposures
-
total_exposure_time
(total_elapsed_time, sub_exp_time)[source]¶ Calculates total exposure time given a total elapsed time and sub-exposure time.
The calculation includes readout time overheads (but no others, at present) and rounds down to an integer number of sub-exposures.
Parameters: - total_elapsed_time : astropy.units.Quantity
Total elapsed time
- sub_exp_time : astropy.units.Quantity
Exposure time of individual sub-exposures
Returns: - total_exposure_time : astropy.units.Quantity
Maximum total exposure time possible in an elapsed time of no more than
total_elapsed_time