What I completed this week:
- Continued working on the signal to noise functions pull request to
synphot
- Changed function names from
howell_snr
toccd_snr
andexptime_from_howell_snr
toexptime_from_ccd_snr
, which are more descriptive/informative - The units returned by
ccd_snr
are now dimensionless
- Changed function names from
- Began writing a
synphot
wrapper. This work in progress PR is a bit of an embarrassing mess right now, but I’m envisioning something where you can initiate a class with the source spectrum of an object, give a telescope diameter, and boom, you can get attributes like SNR, countrate, exptime, etc… :
>>> from synphot.spectrum import SourceSpectrum
>>> from synphot.wrapper import Observe
>>> import astropy.units as u
>>> tele_diameter = 1 * u.m
>>> source_spec = SourceSpectrum(...)
>>> some_observation = Observe(source_spec, tele_diameter)
>>> some_observation.countrate
1e6 ct/s
>>> some_observation.snr
100
...
The observation can be customized by setting a bandpass, giving a desired SNR (to get a required exposure time), providing the quantum efficiency of the CCD or an atmospheric transmission model, etc.
But I’m not really sure if attributes are the best way to get these, er, “attributes” of the observation. Maybe argument-less methods would be better, e.g. some_observation.snr()
? That might make it easier to alter some parameters like exposure time without having to create a new object… Anyway, this week has been full of thoughts like these.
This week’s goals:
- Take a look at telescopy and astroplan and think how they, along with synspec and any higher order functions we come up with, can be merged
Longer term goals:
- Submit my synphot tutorials as a pull request to astropy/astropy-tutorials