code: def select_catalogue(self, valid_id):
          '''
          Method to post-process the catalogue based on the selection options
  
          :param numpy.ndarray valid_id:
              Boolean vector indicating whether each event is selected (True)
              or not (False)
  
          :returns:
              Catalogue of selected events as instance of
              openquake.hmtk.seismicity.catalogue.Catalogue class
          '''
          if not np.any(valid_id):
              # No events selected - create clean instance of class
              output = Catalogue()
              output.processes = self.catalogue.processes
  
          elif np.all(valid_id):
              if self.copycat:
                  output = deepcopy(self.catalogue)
              else:
                  output = self.catalogue
          else:
              if self.copycat:
                  output = deepcopy(self.catalogue)
              else:
                  output = self.catalogue
              output.purge_catalogue(valid_id)
          return outpuf select_catalogue(self, valid_id):
          '''
          Method to post-process the catalogue based on the selection options
  
          :param numpy.ndarray valid_id:
              Boolean vector indicating whether each event is selected (True)
              or not (False)
  
          :returns:
              Catalogue of selected events as instance of
              openquake.hmtk.seismicity.catalogue.Catalogue class
          '''
          if not np.any(valid_id):
              # No events selected - create clean instance of class
              output = Catalogue()
              output.processes = self.catalogue.processes
  
          elif np.all(valid_id):
              if self.copycat:
                  output = deepcopy(self.catalogue)
              else:
                  output = self.catalogue
          else:
              if self.copycat:
                  output = deepcopy(self.catalogue)
              else:
                  output = self.catalogue
              output.purge_catalogue(valid_id)
          return output
docs: Method to post-process the catalogue based on the selection options
  
          :param numpy.ndarray valid_id:
              Boolean vector indicating whether each event is selected (True)
              or not (False)
  
          :returns:
              Catalogue of selected events as instance of
              openquake.hmtk.seismicity.catalogue.Catalogue class