def plot_frame(self, frame_num, use_mpl=False):
        self.frame_data = cv2_utils.get_opencv_frame_as_array(self.filename, frame_num)

        if use_mpl:
            self.mpl_imshow(self.frame_data, figure=self.mpl_image_fig)

        if self.use_pygame:
            self.pygame_plot_object.imshowT(self.frame_data)
    def load_new_file(self, filename=None):
        filename = wx.FileSelector() if filename is None else filename
        print filename
        if filename == self.filename:  # already loaded
            return
        if not os.path.exists(filename):  # file does not exist
            return

        self.filename = filename
        self.mpl_image = None
        self._video_frame_rate = cv2_utils.get_frame_rate(self.filename)
        self.get_number_of_frames(rebuild=True)  # search for the number of frames
        self.frame = cv2_utils.get_opencv_frame_as_array(self.filename, 0)  # load the first frame
        self.gui_app.set_filename(self.filename)
        self.update()