Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 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()
Exemplo n.º 4
0
 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()
Exemplo n.º 5
0
 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()
Exemplo n.º 6
0
 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()
Exemplo n.º 7
0
        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