Skip to main content

A simple Exposure Time Calculator for the Lux mission concept

Project description

Lux_Proposal Repository

This is a location for code under development for the Lux mission concept. Currently it contains a simple exposure time calculator.

Dependencies: numpy, pandas, astropy, matplotlib

NOTE: Currently (v0.0.4) only the optical and NIR channels are implemented, and sensitivities are based on current best estimates. This will be modified soon to include the UV channel, as well as sensitivies at requirement levels.

Installation: pip install luxetc

Usage:

In [1]: import luxetc

Instatiate a LuxETC object.

In [2]: x = luxetc.LuxETC()

Create a source with AB mag = 20.24.

In [3]: import astropy.units as u

In [4]: source = (20.24 * u.ABmag).to(u.erg / u.cm**2 / u.s / u.AA, u.spectral_density(luxetc.config.WAV))

Calculate the SNR for 100 s exposures in the g, r, and i-bands.

In [5]: x.get_snr(source, texps={"g": 100., "r": 100., "i": 100., "z": 100., "y": 100., "j": 100.})

Out[5]: {'g': np.float64(8.998967243642625), 'r': np.float64(6.4310822015567375), 'i': np.float64(4.068664798528796), 'z': np.float64(3.2757870535410034), 'y': np.float64(5.882262115840334), 'j': np.float64(5.886179099315213)}

Calculate the necessary exposure time to achieve SNR = 9.0, 6.4, 4.1, 3.3, 5.9, and 5.9 in g, r, i, z, y, and j-band (respectively).

In [6]: x.get_texp(source, snrs={"g": 9.0, "r": 6.4, "i": 4.1, "z": 3.3, "y": 5.9, "j": 5.9})

Out[6]: {'g': np.float64(97.27763225445993), 'r': np.float64(96.78990062621607), 'i': np.float64(97.83428612199552), 'z': np.float64(90.28943141959489), 'y': np.float64(95.14224142371266), 'j': np.float64(95.12166345972044)}

Calculate the limiting magnitude for a given filter, exposure time, and SNR.

In [7]: x.get_limmag({"g": (100., 9.0), "r": (100., 6.4), "i": (100., 4.1), "z": (100., 3.3), "y": (100., 5.9), "j": (100., 5.9)})

Out[7]: {'g': np.float64(20.258971055028226), 'r': np.float64(20.255269377129782), 'i': np.float64(20.250905066741165), 'z': np.float64(20.230548187712248), 'y': np.float64(20.264815842833464), 'j': np.float64(20.263580065925844)}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

luxetc-0.0.9.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

luxetc-0.0.9-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file luxetc-0.0.9.tar.gz.

File metadata

  • Download URL: luxetc-0.0.9.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for luxetc-0.0.9.tar.gz
Algorithm Hash digest
SHA256 2d0b6de2269f2b57aed2fe3041daedc85feccd6a21cb341cb153d9427acebdef
MD5 426aeaa36e4d801fa7a9524630b69bac
BLAKE2b-256 c4913c9703a27ed6a0ff5ccefe2f7efa6533e69fe05f03cc75d42adef5e34093

See more details on using hashes here.

File details

Details for the file luxetc-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: luxetc-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for luxetc-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 98d6a226c4099b5d3285bd403b705e746882e9364cccf35e68a44876371a2db5
MD5 f68e6bd9a373a2c70336d71622f0f740
BLAKE2b-256 114475d27ba51fec0f8d77f9d1006997a021bc0a20f545d417db5e493d80cd52

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page