<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def redraw_data(self, whence=0):
 """Render image from RGB map and redraw private canvas. .. note:: Do not call this method unless you are implementing a subclass. Parameters whence See :meth:`get_rgb_object`. """

        if not self._imgwin_set:
            # window has not been realized yet
            return

        if not self._self_scaling:
            rgbobj = self.get_rgb_object(whence=whence)
            self.renderer.render_image(rgbobj, self._dst_x, self._dst_y)

        self.private_canvas.draw(self)

        self.make_callback('redraw', whence)

        if whence < 2:
            self.check_cursor_location()