示例#1
0
文件: events.py 项目: shasvath/pycbc
 def keep_near_injection(self, window, injections):
     from pycbc.events.veto import indices_within_times
     if len(self.events) == 0:
         return
     
     inj_time = numpy.array(injections.end_times())
     gpstime = self.events['time_index'].astype(numpy.float64)
     gpstime = gpstime / self.opt.sample_rate + self.opt.gps_start_time
     i = indices_within_times(gpstime, inj_time - window, inj_time + window)
     self.events = self.events[i]
示例#2
0
 def keep_near_injection(self, window, injections):
     from pycbc.events.veto import indices_within_times
     if len(self.events) == 0:
         return
     
     inj_time = numpy.array(injections.end_times())
     gpstime = self.events['time_index'].astype(numpy.float64)
     gpstime = gpstime / self.opt.sample_rate + self.opt.gps_start_time
     i = indices_within_times(gpstime, inj_time - window, inj_time + window)
     self.events = self.events[i]
示例#3
0
    def set_template(self, num):
        """ Set the active template to read from

        Parameters        ----------
        num: int
            The template id to read triggers for

        Returns
        -------
        trigger_id: numpy.ndarray
            The indices of this templates triggers
        """
        self.template_num = num
        times = self.get_data('end_time', num)

        # Determine which of these template's triggers are kept after
        # applying vetoes
        if self.valid:
            self.keep = veto.indices_within_times(times, self.valid[0],
                                                  self.valid[1])


#            logging.info('applying vetoes')
        else:
            self.keep = np.arange(0, len(times))

        if self.bank != {}:
            self.param = {}
            if 'parameters' in self.bank.attrs:
                for col in self.bank.attrs['parameters']:
                    self.param[col] = self.bank[col][self.template_num]
            else:
                for col in self.bank:
                    self.param[col] = self.bank[col][self.template_num]

        # Calculate the trigger id by adding the relative offset in self.keep
        # to the absolute beginning index of this templates triggers stored
        # in 'template_boundaries'
        trigger_id = self.keep + \
                         self.file['%s/template_boundaries' % self.ifo][num]
        return trigger_id