def build_from_ddosa_res(cls, name, file_name, res, src_name='ciccio', prod_prefix=None, out_dir=None): #hdu_list = pf.open(res.lightcurve) hdu_list = FitsFile(res.lightcurve).open() data = None header = None for hdu in hdu_list: if hdu.name == 'ISGR-SRC.-LCR': print('name', hdu.header['NAME']) if hdu.header['NAME'] == src_name: data = hdu.data header = hdu.header lc = cls(name=name, data=data, header=header, file_name=file_name, out_dir=out_dir, prod_prefix=prod_prefix, src_name=src_name) return lc
def build_list_from_ddosa_res(cls, res, prod_prefix=None, out_dir=None): data = None header = None spec_list = [] if out_dir is None: out_dir = './' for source_name, spec_attr, rmf_attr, arf_attr in res.extracted_sources: print('spec file-->', getattr(res, spec_attr), spec_attr) print('arf file-->', getattr(res, arf_attr), arf_attr) print('rmf file-->', getattr(res, rmf_attr), rmf_attr) #spectrum = pf.open(getattr(res, spec_attr))[1] spectrum = FitsFile(getattr(res, spec_attr)).open()[1] arf_filename = getattr(res, arf_attr) rmf_filename = getattr(res, rmf_attr) data = spectrum.data header = spectrum.header file_name = prod_prefix + '_' + Path(getattr( res, spec_attr)).resolve().stem print('out spec file_name', file_name) out_arf_file = prod_prefix + '_' + Path(getattr(res, arf_attr)).name out_arf_file = FilePath(file_dir=out_dir, file_name=out_arf_file).path print('out arf file_path', out_arf_file) out_rmf_file = prod_prefix + '_' + Path( out_dir, getattr(res, rmf_attr)).name out_rmf_file = FilePath(file_dir=out_dir, file_name=out_rmf_file).path print('out rmf file_path', out_rmf_file) name = source_name spec = cls(name=name, file_name=file_name, data=data, header=header, rmf_file=rmf_filename, arf_file=arf_filename, out_dir=out_dir) spec.set_arf_file(arf_kw='ANCRFILE', out_arf_file=out_arf_file) spec.set_rmf_file(rmf_kw='RESPFILE', out_rmf_file=out_rmf_file) spec_list.append(spec) return spec_list
def build_from_ddosa_skyima(cls, name, file_name, skyima, out_dir=None, prod_prefix=None): skyima = FitsFile(skyima).open() return cls(name, skyima=skyima[4], out_dir=out_dir, prod_prefix=prod_prefix, file_name=file_name)
def build_from_ddosa_srclres(cls, srclres,prod_prefix=None): #catalog = pf.open(srclres)[1] catalog = FitsFile(srclres).open()[1] print ('cat file',srclres) frame = catalog.header['RADECSYS'].lower() catalog=catalog.data return cls( [n.strip() for n in catalog['NAME']], catalog['RA_OBJ'], catalog['DEC_OBJ'], significance=catalog['DETSIG'], frame=frame, #NEW_SOURCE=catalog['NEW_SOURCE'], #ISGRI_FLAG=catalog['ISGRI_FLAG'], FLAG=catalog['FLAG'], ERR_RAD=catalog['ERR_RAD'] )
def get_dummy_products(self, instrument, config, out_dir='./'): if out_dir is None: out_dir = './' import glob, os print('config.dummy_cache', config.dummy_cache) print('out_dir', out_dir) spec_files = glob.glob(config.dummy_cache + '/query_spectrum_isgri_sum*.fits') print(spec_files) spec_list = [] for spec_file in spec_files: src_name = os.path.basename(spec_file) src_name = src_name.replace('query_spectrum_isgri_sum_', '') src_name = src_name.replace('.fits', '') print('->', src_name) arf_file = glob.glob(config.dummy_cache + '/query_spectrum_arf_sum*%s*.fits.gz' % src_name)[0] rmf_file = glob.glob(config.dummy_cache + '/query_spectrum_rmf_sum*%s*.fits.gz' % src_name)[0] print('spec file-->', spec_file) print('arf file-->', arf_file) print('rmf file-->', rmf_file) #spectrum = pf.open(spec_file)[1] spectrum = FitsFile(spec_file).open()[1] arf_filename = arf_file rmf_filename = rmf_file data = spectrum.data header = spectrum.header file_name = Path(spec_file).name print('out spec file_name', file_name) out_arf_file = Path(arf_filename).name out_arf_file = str(Path(out_dir, out_arf_file)) print('out arf file_name', out_arf_file) out_rmf_file = Path(rmf_filename).name out_rmf_file = str(Path(out_dir, out_rmf_file)).strip() print('out rmf file_name', out_rmf_file) name = header['NAME'] spec = IsgriSpectrumProduct(name=name, file_name=file_name, data=data, header=header, rmf_file=rmf_filename, arf_file=arf_filename, out_dir=out_dir) spec.set_arf_file(arf_kw='ANCRFILE', out_arf_file=out_arf_file.strip()) spec.set_rmf_file(rmf_kw='RESPFILE', out_rmf_file=out_rmf_file.strip()) spec_list.append(spec) prod_list = QueryProductList(prod_list=spec_list) return prod_list