def time_selection(self): """ Do a GTI selection based on a file of time spans CFITSIO won't allow filenames (including filter expression) longer than ~1100 chars, so for selections that require very long filters (i.e., more than ~30 time spans covered) we split the gtmktime calls into chunks of ~20 time spans. """ eventlist = [] last = False numbin = None while not last: selstr,numbin,last = utils.time_selection_string(self.Configuration,numbin) outfile = self.eventfile.replace('.fits','_{}'.format(numbin)) self._RunMktime(selstr,outfile,'no') eventlist.append(outfile+'\n') maketime['outfile'] = outfile maketime.run() evlist_filename = self.eventfile.replace('.fits','.list') with open(evlist_filename,'w') as evlistfile: evlistfile.writelines(eventlist) # Redo first-cut to consolidate into single fits file (gtmktime does not accept lists!) ft1 = self.ft1 # Store FT1 to restore it later self.ft1 = evlist_filename self.FirstCut() self.ft1 = ft1 # Clean cruft: all temp event files and event file list os.unlink(evlist_filename) for file in eventlist: os.unlink(file.strip()) # strip of endline char
def time_selection(self): """ Do a GTI selection based on a file of time spans CFITSIO won't allow filenames (including filter expression) longer than ~1100 chars, so for selections that require very long filters (i.e., more than ~30 time spans covered) we split the gtmktime calls into chunks of ~20 time spans. """ eventlist = [] last = False numbin = None while not last: selstr, numbin, last = utils.time_selection_string( self.Configuration, numbin) outfile = self.eventfile.replace('.fits', '_{}'.format(numbin)) self._RunMktime(selstr, outfile, 'no') eventlist.append(outfile + '\n') maketime['outfile'] = outfile maketime.run() evlist_filename = self.eventfile.replace('.fits', '.list') with open(evlist_filename, 'w') as evlistfile: evlistfile.writelines(eventlist) # Redo first-cut to consolidate into single fits file (gtmktime does not accept lists!) ft1 = self.ft1 # Store FT1 to restore it later self.ft1 = evlist_filename self.FirstCut() self.ft1 = ft1 # Clean cruft: all temp event files and event file list os.unlink(evlist_filename) for file in eventlist: os.unlink(file.strip()) # strip of endline char
def _RunMktime(self,selstr,outfile,roicut): """run gtmktime tool""" maketime['scfile'] = self.ft2 maketime['filter'] = selstr#self.Configuration['analysis']['filter'] maketime['roicut'] = roicut maketime['tstart'] = self.t1 maketime['tstop'] = self.t2 maketime['evfile']= self.eventfile maketime['outfile']=outfile maketime['clobber'] = self.clobber maketime.run()
def _RunMktime(self, selstr, outfile, roicut): """run gtmktime tool""" maketime['scfile'] = self.ft2 maketime['filter'] = selstr #self.Configuration['analysis']['filter'] maketime['roicut'] = roicut maketime['tstart'] = self.t1 maketime['tstop'] = self.t2 maketime['evfile'] = self.eventfile maketime['outfile'] = outfile maketime['clobber'] = self.clobber maketime.run()
def _RunMktime(self, selstr, outfile, roicut): """run gtmktime tool""" if (self.clobber == "no" and os.path.isfile(self.mktimefile)): #print("File exists and clobber is False") return (0) maketime['scfile'] = self.ft2 maketime['filter'] = selstr #self.Configuration['analysis']['filter'] maketime['roicut'] = roicut maketime['tstart'] = self.t1 maketime['tstop'] = self.t2 maketime['evfile'] = self.eventfile maketime['outfile'] = outfile maketime['clobber'] = self.clobber maketime.run()
def _RunMktime(self,selstr,outfile,roicut): """run gtmktime tool""" if (self.clobber=="no" and os.path.isfile(self.mktimefile)): #print("File exists and clobber is False") return(0) maketime['scfile'] = self.ft2 maketime['filter'] = selstr #self.Configuration['analysis']['filter'] maketime['roicut'] = roicut maketime['tstart'] = self.t1 maketime['tstop'] = self.t2 maketime['evfile'] = self.eventfile maketime['outfile'] = outfile maketime['clobber'] = self.clobber maketime.run()
filter['ra'] = ra filter['dec'] = dec filter['tmin'] = times[i - 1] #must be in MET (s) filter['tmax'] = times[i] outfile = 'JUPITER_binned_filtered_' + str(i) + '.fits' filter['outfile'] = outfile filter.run() #gtmktime maketime['scfile'] = sc_file maketime['filter'] = '(DATA_QUAL==1)&&(LAT_CONFIG==1)' maketime['roicut'] = 'yes' maketime['evfile'] = outfile gti_file = 'JUPITER_binned_gti_' + str(i) + '.fits' maketime['outfile'] = gti_file maketime.run() #counts map evtbin['scfile'] = sc_file evtbin['nxpix'] = int(dim) evtbin['nypix'] = int(dim) evtbin['binsz'] = bin_size evtbin['axisrot'] = 0 evtbin['coordsys'] = 'CEL' evtbin['proj'] = 'AIT' evtbin['algorithm'] = 'CMAP' evtbin['evfile'] = gti_file cmap_file = 'JUPITER_binned_cmap_' + str(i) + '.fits' evtbin['outfile'] = cmap_file evtbin['xref'] = ra evtbin['yref'] = dec