docs: def get_results(self):
          """ Returns the segmentation summary data.
          
          This data is normalized, to eliminate differences in what is stored
          for different types of segmentation analyses.
          
          The following fields are output:
  
          * has_template - True if the segmentation found template data.
          * has_complement - True if the segmentation found complement data.
          * first_sample_template - The first sample of the template data in
              the raw data. Only present if has_template is True.
          * duration_template - The duration (in samples) of the template
              data. Only present if has_template is True.
          * first_sample_complement - The first sample of the complement data
              in the raw data. Only present if has_complement is True.
          * duration_complement - The duration (in samples) of the complement
              data. Only present if has_complement is True.
              
          """
          summary = self._get_summary_data()
          if summary is None:
              results = {'has_template': False,
                         'has_complement': False}
          else:
              results = {}
              if 'has_template' in summary:
                  results['has_template'] = bool(summary['has_template'])
              else:
                  results['has_template'] = True if summary['num_temp'] > 0 else False
              if 'has_complement' in summary:
                  results['has_complement'] = bool(summary['has_complement'])
              else:
                  results['has_complement'] = True if summary['num_comp'] > 0 else False
              need_raw_info = False
              if results['has_template']:
                  if 'start_index_temp' in summary:
                      summary['start_event_template'] = summary['start_index_temp']
                      summary['end_event_template'] = summary['end_index_temp']
                  if 'first_sample_template' not in summary:
                      need_raw_info = True
              if results['has_complement']:
                  if 'start_index_comp' in summary:
                      summary['start_event_complement'] = summary['start_index_comp']
                      summary['end_event_complement'] = summary['end_index_comp']
                  if 'first_sample_complement' not in summary:
                      need_raw_info = True
              if need_raw_info:
                  self._get_raw_info(summary)
              if results['has_template']:
                  results['first_sample_template'] = summary['first_sample_template']
                  results['duration_template'] = summary['duration_template']
                  if 'start_event_template' in summary:
                      results['start_event_template'] = summary['start_event_template']
                      results['end_event_template'] = summary['end_event_template']
              if results['has_complement']:
                  results['first_sample_complement'] = summary['first_sample_complement']
                  results['duration_complement'] = summary['duration_complement']
                  if 'start_event_complement' in summary:
                      results['start_event_complement'] = summary['start_event_complement']
                      results['end_event_complement'] = summary['end_event_complement']
          return results