code: def on_zijd_mark(self, event):
          
          if not array(self.CART_rot).any():
              return
          pos = event.GetPosition()
          width, height = self.canvas1.get_width_height()
          pos[1] = height - pos[1]
          xpick_data, ypick_data = pos
          xdata_org = list(self.CART_rot[:, 0]) + list(self.CART_rot[:, 0])
          ydata_org = list(-1*self.CART_rot[:, 1]) + list(-1*self.CART_rot[:, 2])
          data_corrected = self.zijplot.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:
              steps = self.Data[self.s]['zijdblock']
              if self.Data[self.s]['measurement_flag'][index % len(steps)] == "g":
                  self.mark_meas_bad(index % len(steps))
              else:
                  self.mark_meas_good(index % len(steps))
              pmag.magic_write(os.path.join(
                  self.WD, "magic_measurements.txt"), self.mag_meas_data, "magic_measurements")
  
              self.recalculate_current_specimen_interpreatations()
  
              if self.ie_open:
                  self.ie.update_current_fit_data()
              self.calculate_high_levels_data()
              self.update_selection()
docs: Get mouse position on double right click find the interpretation in
          range of mouse
          position then mark that interpretation bad or good
  
          Parameters
          ----------
          event : the wx Mouseevent for that click
  
          Alters
          ------
          current_fit