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.4.tar.gz (766.4 kB 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.4-py3-none-any.whl (757.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for luxetc-0.0.4.tar.gz
Algorithm Hash digest
SHA256 72a3705c9ffb5058715761ddd17e407404ca64451a4d2d6e73d45375e7533ac3
MD5 9d5d71ff4d299191244034ead72aa822
BLAKE2b-256 d5aa4409d803b50799177b368552679c68d612064a6c9dd541939d6b986f9cbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: luxetc-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 757.4 kB
  • 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9c75f84bac620d9402a2f0e5f54767862bcf2d22ec882a301cb5c7bf1f4deb63
MD5 e131b29a8c742626c3f3180193e076b4
BLAKE2b-256 0ce39ed9f42e3812f610b565eee574e06bc127af0c7042e01ab610ffce2901c1

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