def __init__(self, pipeline_context, filename=None, data=None, header={}, bpm=None): if filename is not None: data, header, bpm = fits_utils.open_image(filename) if '.fz' == filename[-3:]: filename = filename[:-3] self.filename = os.path.basename(filename) self.data = data self.header = header self.bpm = bpm self.site = header.get('SITEID') self.instrument = header.get('INSTRUME') self.epoch = header.get('DAY-OBS') self.nx = header.get('NAXIS1') self.ny = header.get('NAXIS2') self.gain = header.get('GAIN') self.ccdsum = header.get('CCDSUM') self.filter = header.get('FILTER') self.telescope_id = dbs.get_telescope_id(self.site, self.instrument, db_address=pipeline_context.db_address) self.obstype = header.get('OBSTYPE') self.exptime = float(header.get('EXPTIME')) self.dateobs = date_utils.parse_date_obs(header.get('DATE-OBS')) self.readnoise = float(header.get('RDNOISE')) self.ra, self.dec = fits_utils.parse_ra_dec(header) self.pixel_scale = float(header.get('PIXSCALE')) self.catalog = None
def __init__(self, filename=None, data=None, header={}, bpm=None): if filename is not None: data, header, bpm = fits_utils.open_image(filename) if '.fz' == filename[-3:]: filename = filename[:-3] self.filename = os.path.basename(filename) self.data = data self.header = header self.bpm = bpm self.site = header.get('SITEID') self.instrument = header.get('INSTRUME') self.epoch = header.get('DAY-OBS') self.nx = header.get('NAXIS1') self.ny = header.get('NAXIS2') self.gain = header.get('GAIN') self.ccdsum = header.get('CCDSUM') self.filter = header.get('FILTER') self.telescope_id = dbs.get_telescope_id(self.site, self.instrument) self.obstype = header.get('OBSTYPE') self.exptime = float(header.get('EXPTIME')) self.dateobs = date_utils.parse_date_obs(header.get('DATE-OBS')) self.readnoise = float(header.get('RDNOISE')) self.ra, self.dec = fits_utils.parse_ra_dec(header) self.pixel_scale = float(header.get('PIXSCALE')) self.catalog = None
def __init__(self, pipeline_context, filename=None, data=None, header={}, extension_headers=[], bpm=None): if filename is not None: data, header, bpm, extension_headers = fits_utils.open_image( filename) if '.fz' == filename[-3:]: filename = filename[:-3] self.filename = os.path.basename(filename) self.data = data self.header = header self.bpm = bpm self.extension_headers = extension_headers self.request_number = header.get('REQNUM') self.site = header.get('SITEID') self.instrument = header.get('INSTRUME') self.epoch = str(header.get('DAY-OBS')) self.nx = header.get('NAXIS1') self.ny = header.get('NAXIS2') if len(self.extension_headers ) > 0 and 'GAIN' in self.extension_headers[0]: self.gain = [h['GAIN'] for h in extension_headers] else: self.gain = eval(str(header.get('GAIN'))) self.ccdsum = header.get('CCDSUM') self.filter = header.get('FILTER') self.telescope_id = dbs.get_telescope_id( self.site, self.instrument, db_address=pipeline_context.db_address) self.obstype = header.get('OBSTYPE') self.exptime = float(header.get('EXPTIME')) self.dateobs = date_utils.parse_date_obs(header.get('DATE-OBS')) self.readnoise = float(header.get('RDNOISE')) self.ra, self.dec = fits_utils.parse_ra_dec(header) self.pixel_scale = float(header.get('PIXSCALE')) self.catalog = None
def __init__(self, runtime_context, filename=None, data=None, data_tables=None, header=None, extension_headers=None, bpm=None): if header is None: header = fits.Header() if data_tables is None: data_tables = {} if extension_headers is None: extension_headers = [] if filename is not None: data, header, bpm, extension_headers = fits_utils.open_image( filename) if '.fz' == filename[-3:]: filename = filename[:-3] self.filename = os.path.basename(filename) self.data = data self.data_tables = data_tables self.header = header self.bpm = bpm self.extension_headers = extension_headers self.request_number = header.get('REQNUM') self.instrument, self.site, self.camera = self._init_instrument_info( runtime_context) self.epoch = str(header.get('DAY-OBS')) self.nx = header.get('NAXIS1') self.ny = header.get('NAXIS2') self.block_id = header.get('BLKUID') self.block_start = date_utils.parse_date_obs( header.get('BLKSDATE', '1900-01-01T00:00:00.00000')) self.molecule_id = header.get('MOLUID') if len(self.extension_headers ) > 0 and 'GAIN' in self.extension_headers[0]: self.gain = [h['GAIN'] for h in extension_headers] else: self.gain = eval(str(header.get('GAIN'))) self.ccdsum = header.get('CCDSUM') self.configuration_mode = fits_utils.get_configuration_mode(header) self.filter = header.get('FILTER') self.obstype = header.get('OBSTYPE') self.exptime = float(header.get('EXPTIME', 0.0)) self.dateobs = date_utils.parse_date_obs( header.get('DATE-OBS', '1900-01-01T00:00:00.00000')) self.datecreated = date_utils.parse_date_obs( header.get('DATE', date_utils.date_obs_to_string(self.dateobs))) self.readnoise = float(header.get('RDNOISE', 0.0)) self.ra, self.dec = fits_utils.parse_ra_dec(header) self.pixel_scale = float(header.get('PIXSCALE', 0.0)) self.is_bad = False self.is_master = header.get('ISMASTER', False) self.attributes = settings.CALIBRATION_SET_CRITERIA.get( self.obstype, {})
def get_telescope_for_file(path, db_address=_DEFAULT_DB): data, header, bpm, extension_headers = fits_utils.open_image(path) telescope_id = get_telescope_id(header.get('SITEID'), header.get('INSTRUME'), db_address=db_address) return get_telescope(telescope_id, db_address=db_address)