code: def get_segments(self):
          chunk = {k: v.isChecked() for k, v in self.chunk.items()}
          lock_to_staging = self.lock_to_staging.get_value()
          epoch_dur = self.epoch_param['dur'].get_value()
          epoch_overlap = self.epoch_param['overlap_val'].value()
          epoch_step = None
          epoch = None
          if chunk['epoch']:
              if lock_to_staging:
                  epoch = 'locked'
              else:
                  epoch = 'unlocked'
                  if self.epoch_param['step'].isChecked():
                      epoch_step = self.epoch_param['step_val'].get_value()
                      if epoch_step <= 0:
                          epoch_step = 0.1
          self.chan = self.get_channels()
          if not self.chan:
              return
          chan_full = None
          evt_type = None
          if chunk['event']:
              if self.evt_chan_only.get_value():
                  chan_full = [i + ' (' + self.idx_group.currentText() + ''
                             ')' for i in self.chan]
              evt_type = self.idx_evt_type.selectedItems()
              if not evt_type:
                  return
              else:
                  evt_type = [x.text() for x in evt_type]
          cycle = self.cycle = self.get_cycles()
          stage = self.idx_stage.selectedItems()
          if not stage:
              stage = self.stage = None
          else:
              stage = self.stage = [
                      x.text() for x in self.idx_stage.selectedItems()]
          cat = {k: v.get_value() for k, v in self.cat.items()}
          cat = (int(cat['cycle']), int(cat['stage']),
                 int(cat['discontinuous']), int(cat['evt_type']))
          reject_event = self.reject_event.get_value()
          if reject_event == 'channel-specific':
              chan_full = [i + ' (' + self.idx_group.currentText() + ''
                             ')' for i in self.chan]
              reject_artf = True
          elif reject_event == 'from any channel':
              reject_artf = True
          else:
              reject_artf = False
          min_dur = self.min_dur.get_value()
          reject_epoch = self.reject_epoch.get_value()
          self.title = self.make_title(chan_full, cycle, stage, evt_type)
          segments = fetch(self.parent.info.dataset,
                           self.parent.notes.annot, cat=cat,
                           evt_type=evt_type, stage=stage, cycle=cycle,
                           chan_full=chan_full, epoch=epoch,
                           epoch_dur=epoch_dur, epoch_overlap=epoch_overlap,
                           epoch_step=epoch_step, reject_epoch=reject_epoch,
                           reject_artf=reject_artf, min_dur=min_dur)
          return segments