コード例 #1
0
    def from_fits_file(cls, fname, session):
        """
        generate a
        """
        data_file_object = DataFile.from_file(fname)
        fits_object = TemporaryFITSFile()
        fits_object.data_file = data_file_object

        session.add(fits_object)
        session.commit()

        niri_raw_image = cls()
        niri_raw_image.fits = fits_object
        niri_raw_image.object = base.Object.from_fits_object(fits_object)
        niri_raw_image.program = base.Program.from_fits_object(fits_object)
        niri_raw_image.observation_block = base.ObservationBlock.from_fits_object(fits_object)
        niri_raw_image.observation_class = base.ObservationClass.from_fits_object(fits_object)
        niri_raw_image.observation_type = base.ObservationType.from_fits_object(fits_object)
        niri_raw_image.instrument = base.Instrument.from_fits_object(fits_object)


        date_obs_str = '{0}T{1}'.format(fits_object.header['date-obs'],
                                        fits_object.header['time-obs'])

        niri_raw_image.mjd = time.Time(date_obs_str, scale='utc').mjd

        session.add(niri_raw_image)
        session.commit()

        return niri_raw_image
コード例 #2
0
ファイル: imaging_raw.py プロジェクト: ThierrySN/geminiutil
    def from_fits_file(cls, fname, session):
        """
        generate a

        """
        data_file_object = DataFile.from_file(fname)
        fits_object = TemporaryFITSFile()
        fits_object.data_file = data_file_object

        session.add(fits_object)
        session.commit()

        gmos_raw_image = cls()
        gmos_raw_image.fits = fits_object
        gmos_raw_image.object = Object.from_fits_object(fits_object)
        gmos_raw_image.program = Program.from_fits_object(fits_object)
        gmos_raw_image.observation_block = ObservationBlock.from_fits_object(fits_object)
        gmos_raw_image.observation_class = ObservationClass.from_fits_object(fits_object)
        gmos_raw_image.observation_type = ObservationType.from_fits_object(fits_object)
        gmos_raw_image.instrument = Instrument.from_fits_object(fits_object)
        gmos_raw_image.instrument_setup = GMOSImagingInstrumentSetup.from_fits_file(fname, session)

        date_obs_str = '{0}T{1}'.format(fits_object.header['date-obs'],
                                        fits_object.header['time-obs'])

        gmos_raw_image.mjd = time.Time(date_obs_str, scale='utc').mjd

        session.add(gmos_raw_image)
        session.commit()

        return gmos_raw_image
コード例 #3
0
ファイル: mos.py プロジェクト: mhvk/geminiutil
    def from_table(cls,
                   table,
                   slice,
                   mos_point_source,
                   relative_path='spectra',
                   fname=None):
        """
        class method to add a new spectrum given a table from the extracted
        spectrum.

        Parameters
        ----------

        table: astropy.table.Table

        mos_point_source: MosPointSource

        relative_path: str
            relative path to work dir (default='spectra')

        fname: str
            filename of the extracted spectrum (default None)
            if None it automatically generates
            <raw_fits_fname>_slc<slc_id>_src<src_id>

        """

        if not os.path.exists(os.path.join(cls.work_dir, relative_path)):
            logger.warn('Relative dir {0} does not exist for adding spectrum '
                        '- creating'.format(relative_path))
            os.mkdir(os.path.join(cls.work_dir, relative_path))

        if fname is None:
            fname = '{0}_slc{1}_src{2}.h5'.format(
                slice.science_set.science.fits.fname.replace('.fits', ''),
                slice.id, mos_point_source.id)

        full_fname = os.path.join(cls.work_dir, relative_path, fname)

        table.write(full_fname,
                    path=cls.hdf5_path,
                    format='hdf5',
                    overwrite=True)

        data_file = DataFile.from_file(os.path.join(relative_path, fname))

        spectrum = cls(mos_point_source_id=mos_point_source.id,
                       slice_id=slice.id)

        spectrum.data_file = data_file

        return data_file, spectrum
コード例 #4
0
ファイル: mos.py プロジェクト: ThierrySN/geminiutil
    def from_table(cls, table, slice, mos_point_source, relative_path='spectra',
                   fname=None):
        """
        class method to add a new spectrum given a table from the extracted
        spectrum.

        Parameters
        ----------

        table: astropy.table.Table

        mos_point_source: MosPointSource

        relative_path: str
            relative path to work dir (default='spectra')

        fname: str
            filename of the extracted spectrum (default None)
            if None it automatically generates
            <raw_fits_fname>_slc<slc_id>_src<src_id>

        """

        if not os.path.exists(os.path.join(cls.work_dir, relative_path)):
            logger.warn('Relative dir {0} does not exist for adding spectrum '
                        '- creating'.format(relative_path))
            os.mkdir(os.path.join(cls.work_dir, relative_path))

        if fname is None:
            fname = '{0}_slc{1}_src{2}.h5'.format(
                slice.science_set.science.fits.fname.replace('.fits', ''),
                slice.id, mos_point_source.id)

        full_fname = os.path.join(cls.work_dir, relative_path, fname)

        table.write(full_fname, path=cls.hdf5_path, format='hdf5',
                    overwrite=True)

        data_file = DataFile.from_file(os.path.join(relative_path, fname))

        spectrum = cls(mos_point_source_id=mos_point_source.id,
                       slice_id=slice.id)

        spectrum.data_file = data_file

        return data_file, spectrum