Source code for panoptes.pocs.scheduler.observation.dark

import os
from astropy import units as u

from panoptes.utils.utils import get_quantity_value
from panoptes.utils.utils import listify

from panoptes.pocs.scheduler.field import Field
from panoptes.pocs.scheduler.observation.base import Observation


[docs] class DarkObservation(Observation): def __init__(self, position, exptimes=None): """ Args: position (str): Center of field, can be anything accepted by `~astropy.coordinates.SkyCoord`. exptimes (optional): The list of exposure times. If None (default), get from config. """ # Set the exposure times if exptimes is not None: exptimes = listify(exptimes) else: exptimes = self.get_config("calibs.dark.exposure_times") self._exptimes = exptimes # Create the observation min_nexp = len(self._exptimes) exp_set_size = min_nexp field = Field('Dark', position=position) super().__init__(field=field, min_nexp=min_nexp, exp_set_size=exp_set_size, dark=True) # Specify directory root for file storage self._directory = os.path.join(self._image_dir, 'dark') def __str__(self): return f"DarkObservation" @property def exptime(self): """ Return current exposure time as a u.Quantity. """ exptime = self._exptimes[self.current_exp_num] return get_quantity_value(exptime, u.second) * u.second