docs: def optimal_mapping(self, reference, hypothesis, uem=None):
          """Optimal label mapping
  
          Parameters
          ----------
          reference : Annotation
          hypothesis : Annotation
              Reference and hypothesis diarization
          uem : Timeline
              Evaluation map
  
          Returns
          -------
          mapping : dict
              Mapping between hypothesis (key) and reference (value) labels
          """
  
          # NOTE that this 'uemification' will not be called when
          # 'optimal_mapping' is called from 'compute_components' as it
          # has already been done in 'compute_components'
          if uem:
              reference, hypothesis = self.uemify(reference, hypothesis, uem=uem)
  
          # call hungarian mapper
          mapping = self.mapper_(hypothesis, reference)
          return mapping