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