Detector#

class m4opt.synphot.Detector(plate_scale, area, bandpasses, background, dark_noise=<Quantity 0. Hz>, read_noise=0.0, npix=12.566370614359172, aperture_correction=1.0, gain=1.0)[source] [edit on github]#

Bases: object

Sensitivity calculator: compute SNR for exposure time or vice-versa.

Attributes Summary

aperture_correction

Fraction of the signal from a point source in the photometry aperture.

area

Effective collecting area.

background

Background 1D model mapping wavelength to surface brightness.

bandpasses

Dictionary of 1D models mapping wavelength to dimensionless transmission.

dark_noise

Dark noise count rate.

gain

Detector gain.

npix

Effective number of pixels in the photometry aperture.

plate_scale

Solid angle per pixel.

read_noise

Number of noise counts due to readout.

Methods Summary

get_exptime(snr, source_spectrum[, bandpass])

get_limmag(snr, exptime, source_spectrum[, ...])

Get the limiting magnitude for a given SNR and exposure time.

get_snr(exptime, source_spectrum[, bandpass])

Attributes Documentation

Parameters:
aperture_correction: float = 1.0#

Fraction of the signal from a point source in the photometry aperture.

The default value of 1 is appropriate for PSF photometry.

area: Annotated[Quantity, PhysicalType('area')] = <dataclasses._MISSING_TYPE object>#

Effective collecting area.

background: SourceSpectrum = <dataclasses._MISSING_TYPE object>#

Background 1D model mapping wavelength to surface brightness.

bandpasses: dict[Hashable, Model] = <dataclasses._MISSING_TYPE object>#

Dictionary of 1D models mapping wavelength to dimensionless transmission.

dark_noise: Annotated[Quantity, PhysicalType('frequency')] = <Quantity 0. Hz>#

Dark noise count rate.

gain: float = 1.0#

Detector gain.

npix: float = 12.566370614359172#

Effective number of pixels in the photometry aperture.

The default value of 4π is appropriate for a PSF that is critically sampled by the pixels [1].

References

plate_scale: PhysicalType('solid angle') = <dataclasses._MISSING_TYPE object>#

Solid angle per pixel.

read_noise: float = 0.0#

Number of noise counts due to readout.

Methods Documentation

get_exptime(snr, source_spectrum, bandpass=None)[source] [edit on github]#
Parameters:
get_limmag(snr, exptime, source_spectrum, bandpass=None)[source] [edit on github]#

Get the limiting magnitude for a given SNR and exposure time.

Note that the limiting magnitude is relative to the source spectrum, so you should pass a source spectrum that has an apparent magnitude of 0.

Parameters:
get_snr(exptime, source_spectrum, bandpass=None)[source] [edit on github]#
Parameters: