Example #1
0
    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
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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, {})
Example #5
0
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)