code: def cut_at(self, cuttype):
          
          data_x, data_y = self.fitsimage.get_last_data_xy()
          image = self.fitsimage.get_image()
          wd, ht = image.get_size()
  
          coords = []
          if cuttype == 'horizontal':
              coords.append((0, data_y, wd, data_y))
          elif cuttype == 'vertical':
              coords.append((data_x, 0, data_x, ht))
  
          count = self._get_cut_index()
          tag = "cuts%d" % (count)
          cuts = []
          for (x1, y1, x2, y2) in coords:
              # calculate center of line
              wd = x2 - x1
              dw = wd // 2
              ht = y2 - y1
              dh = ht // 2
              x, y = x1 + dw + 4, y1 + dh + 4
  
              cut = self._create_cut(x, y, count, x1, y1, x2, y2, color='cyan')
              self._update_tines(cut)
              cuts.append(cut)
  
          if len(cuts) == 1:
              cut = cuts[0]
          else:
              cut = self._combine_cuts(*cuts)
  
          cut.set_data(count=count)
  
          self.canvas.delete_object_by_tag(tag)
          self.canvas.add(cut, tag=tag)
          self.add_cuts_tag(tag)
  
          self.logger.debug("redoing cut plots")
          return self.replot_all()
docs: Perform a cut at the last mouse position in the image.
          `cuttype` determines the type of cut made.