code: def hl_canvas2table_box(self, canvas, tag):
          
          self.treeview.clear_selection()
  
          # Remove existing box
          cobj = canvas.get_object_by_tag(tag)
          if cobj.kind != 'rectangle':
              return
          canvas.delete_object_by_tag(tag, redraw=False)
  
          # Remove existing highlight
          if self.maskhltag:
              try:
                  canvas.delete_object_by_tag(self.maskhltag, redraw=True)
              except Exception:
                  pass
  
          # Nothing to do if no masks are displayed
          try:
              obj = canvas.get_object_by_tag(self.masktag)
          except Exception:
              return
  
          if obj.kind != 'compound':
              return
  
          # Nothing to do if table has no data
          if len(self._maskobjs) == 0:
              return
  
          # Find masks that intersect the rectangle
          for i, mobj in enumerate(self._maskobjs):
              # The actual mask
              mask1 = self._rgbtomask(mobj)
  
              # The selected area
              rgbimage = mobj.get_image()
              mask2 = rgbimage.get_shape_mask(cobj)
  
              # Highlight mask with intersect
              if np.any(mask1 & mask2):
                  self._highlight_path(self._treepaths[i])
docs: Highlight all masks inside user drawn box on table.