docs: def on_equalarea_high_select(self, event, fig=None, canvas=None):
          """
          Get mouse position on double click find the nearest interpretation
          to the mouse position then select that interpretation
  
          Parameters
          ----------
          event : the wx Mouseevent for that click
  
          Alters
          ------
          current_fit, s, mean_fit, fit_box selection, mean_fit_box selection,
          specimens_box selection, tmin_box selection, tmax_box selection
          """
          if self.ie_open and self.ie.show_box.GetValue() != "specimens":
              return
          if not self.high_EA_xdata or not self.high_EA_ydata:
              return
          if fig == None:
              fig = self.high_level_eqarea
          if canvas == None:
              canvas = self.canvas4
          pos = event.GetPosition()
          width, height = canvas.get_width_height()
          pos[1] = height - pos[1]
          xpick_data, ypick_data = pos
          xdata_org = self.high_EA_xdata
          ydata_org = self.high_EA_ydata
          data_corrected = fig.transData.transform(
              vstack([xdata_org, ydata_org]).T)
          xdata, ydata = data_corrected.T
          xdata = list(map(float, xdata))
          ydata = list(map(float, ydata))
          e = 4e0
  
          index = None
          for i, (x, y) in enumerate(zip(xdata, ydata)):
              if 0 < sqrt((x-xpick_data)**2. + (y-ypick_data)**2.) < e:
                  index = i
                  break
          if index != None:
              disp_fit_name = self.mean_fit_box.GetValue()
  
              if self.level_box.GetValue() == 'sample':
                  high_level_type = 'samples'
              if self.level_box.GetValue() == 'site':
                  high_level_type = 'sites'
              if self.level_box.GetValue() == 'location':
                  high_level_type = 'locations'
              if self.level_box.GetValue() == 'study':
                  high_level_type = 'study'
  
              high_level_name = str(self.level_names.GetValue())
              calculation_type = str(self.mean_type_box.GetValue())
              elements_type = self.UPPER_LEVEL_SHOW
  
              elements_list = self.Data_hierarchy[high_level_type][high_level_name][elements_type]
  
              new_fit_index = 0
              for i, specimen in enumerate(elements_list):
                  if disp_fit_name == "All" and \
                     specimen in self.pmag_results_data[elements_type]:
                      l = 0
                      for fit in self.pmag_results_data[elements_type][specimen]:
                          l += 1
                  else:
                      try:
                          disp_fit_index = map(
                              lambda x: x.name, self.pmag_results_data[elements_type][specimen]).index(disp_fit_name)
                          if self.pmag_results_data[elements_type][specimen][disp_fit_index] in self.bad_fits:
                              l = 0
                          else:
                              l = 1
                      except IndexError:
                          l = 0
                      except KeyError:
                          l = 0
                      except ValueError:
                          l = 0
  
                  if index < l:
                      self.specimens_box.SetStringSelection(specimen)
                      self.select_specimen(specimen)
                      self.draw_figure(specimen, False)
                      if disp_fit_name == "All":
                          new_fit_index = index
                      else:
                          new_fit_index = disp_fit_index
                      break
  
                  index -= l
              self.update_fit_box()
              self.fit_box.SetSelection(new_fit_index)
              self.on_select_fit(event)
              if disp_fit_name != "All":
                  self.mean_fit = self.current_fit.name
                  self.mean_fit_box.SetSelection(2+new_fit_index)
                  self.update_selection()
              else:
                  self.Add_text()
              if self.ie_open:
                  self.ie.change_selected(self.current_fit)