ETC module

Introduction

etc is a module with tools for exposure time calculation.

It allows a user to set up Object, Atmosphere, Telescope, Instrument, and Observation objects, and then use the latter to calculate the flux from an object, an exposure time given a desired S/N, or S/N given an exposure time.

etc works in both a spectral mode, giving S/N per pixel (given a dispersion), and also an imaging mode, in which the spectrum is integrated over.

Usage

The user instatiates Object, Atmosphere, Telescope, and Instrument objects.

The Object object specifies a magnitude and SED.

The Atmosphere object specifies a moon phase. Emission spectra are taken from the ESO sky calculator for moon phase (to the closest 0.1).

The Telescope object takes a telescope name or a diameter.

The Instrument object takes an instrument name or a single, wavelength-independent throughput.

These are then passed when an Observation object is instatiated.

Module functions

class pyvista.etc.Atmosphere(name='', transmission=0.8)[source]

class representing the Earth’s atmosphere

emission(wave, moonphase)[source]

Returns atmospheric emission (photon flux) at input wavelengths

throughput(wave)[source]

Returns atmospheric transmission at input wavelengths

class pyvista.etc.Detector(name='', efficiency=0.8, rn=5)[source]

class representing a detector

throughput(wave)[source]

Returns detector efficiency at input wavelengths

class pyvista.etc.Instrument(name='', efficiency=0.8, pixscale=1, dispersion=<Quantity 1. Angstrom>, rn=0)[source]

class representing an Instrument

filter(wave, filter='', cent=<Quantity 5500. Angstrom>, wid=<Quantity 850. Angstrom>, trans=0.8)[source]

Returns filter throughput at input wavelengths

throughput(wave)[source]

Returns instrument throughput at input wavelengths

class pyvista.etc.Mirror(type, const=0.9)[source]

class representing a mirror given coating name, provide method for reflectivity

reflectivity(wave)[source]

Returns reflectivity at input wavelengths

class pyvista.etc.Object(type='bb', teff=10000, mag=0, refmag='V')[source]

Class representing an object Given a type (blackbody or input spectrum) and a magnitude, provides method for Fnu, Flam, photon flux

flam(wave)[source]

Return SED in Flambda

fnu(wave)[source]

Return SED in Fnu

photflux(wave)[source]

Return SED in photon flux

sed(wave)[source]

Return sed in Fnu or Flambda, with units (depending on source of data)

class pyvista.etc.Observation(obj=None, atmos=None, telescope=None, instrument=None, wave=<Quantity [3000., 3001., 3002., ..., 9997., 9998., 9999.] Angstrom>, seeing=1, phase=0.0)[source]

Object representing an observation

back_counts()[source]

Return integrated photon flux for background

back_photonflux()[source]

Return photon flux for background

counts()[source]

Return integrated photon flux

exptime(sn)[source]

Calculate exptime given S/N

photonflux()[source]

Return photon flux

sn(t)[source]

Calculate S/N given exposure time

class pyvista.etc.Telescope(name='', diameter=<Quantity 1. m>, mirrors=['Al'])[source]

Class representing a telescope Given a name (or diameter and mirror array), provide methods area throughput

area()[source]

Return telescope collecting area

throughput(wave)[source]

Return telescope throughput at input wavelengths

pyvista.etc.signal(wave=<Quantity [4000., 5000., 6000., 7000.] Angstrom>, teff=7000, mag=10, telescope='ARC3.5M', it=0.8, at=0.8, phase=0.0, sn=100, ft=0.8, rn=0, plot=True)[source]

Sets up input objects and observation for a S/N calculation