def METHOD_NAME(self, canvas, picker_obj):
    old = self._get_state()
    x, y = picker_obj.points[0]
    x, y = int(x), int(y)
    #print(f"x, y is {x},{y}")
    idx = self.pipeline.index(self)
    data = self.pipeline.get_data(self.pipeline[idx - 1])
    self.verify_2d(data)
    tup = data[..., 0:3][y, x]
    self.rval, self.gval, self.bval = [int(n) for n in tup]
    self._calc_lum()
    new = self._get_state()
    self.pipeline.push(StageAction(self, old, new,
                                   descr="whbal / change val"))
    self.pipeline.run_from(self)