Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Private Attributes | Static Private Attributes
vvid_file_manager Class Reference

A singleton manager class for playing videos. More...

#include <vvid_file_manager.h>

Inheritance diagram for vvid_file_manager:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 vvid_file_manager ()
 ~vvid_file_manager ()
unsigned get_height () const
 height (in pixels) of the video frame.
unsigned get_width () const
 width (in pixels) of the video frame.
void quit ()
 quit the application.
void load_video_file ()
 load each frame of the video into a cached vector of overlays if caching is enabled.
void play_video ()
 loop through the frames and display.
void pause_video ()
 stop at the current frame.
void stop_video ()
 stop playing and return to the first frame.
void start_frame ()
 pops up a dialog to indicate what frame to start play.
void end_frame ()
 pops up a dialog to indicate what frame to start play.
void next_frame ()
 index to the next frame (must be paused).
void prev_frame ()
 index to the previous frame (must be paused).
void set_speed ()
 set the frame rate.
void easy2D_tableau_demo ()
 a demo of spatial overlays on the video (scrolling points).
void no_op ()
 No operation.
void difference_frames ()
 show the difference of sequential frames.
void compute_motion ()
 show the motion condition.
void compute_lucas_kanade ()
 show the Lucas-Kanade vectors as color.
void compute_harris_corners ()
 show the Harris corners.
void compute_vd_edges ()
 show VanDuc edges.
void compute_line_fit ()
 show fit lines.
void compute_grid_match ()
 show matches of calibration grid.
void compute_corr_tracking ()
 show correlation tracking.
void compute_info_tracking ()
 show mutual information tracking.
void display_poly_track ()
 display a tracked polygon.
void display_art_model_track ()
 display a tracked art model.
void start_save_display ()
 enable display movie generation.
void end_save_display ()
 enable display movie generation.
void generate_basis_sequence ()
 generate a basis sequence.
void compute_fourier_transform ()
 compute fourier transform.
void spatial_filter ()
 compute fourier transform.
void create_box ()
 create a box by rubberbanding.
void create_polygon ()
 create a polygon by rubberbanding.
void create_stem ()
 create the elements of the art model.
void create_long_arm_tip ()
void create_short_arm_tip ()
void create_background_model ()
 create a background model polygon.
void exercise_art_model ()
 test model.
void track_art_model ()
 process_art_model.
void display_ihs ()
 display intensity hue and saturation.
void save_frame ()
 save the current frame in pane 0.
void save_half_res ()
 save half resolution version of the current video.
void display_tracked_hist_data ()
 display tracked histogram feature data.
void capture_feature_data ()
 capture feature data from stored track.
void capture_snippets ()
 capture snippets.
vgui_windowget_window ()
 get the window of this player.
void set_window (vgui_window *win)
 set the window.
virtual bool handle (const vgui_event &)
 tableau handle function.
bool add_child (vgui_tableau_sptr const &)
bool remove_child (vgui_tableau_sptr const &)
vcl_string file_name () const
vcl_string pretty_name () const
vcl_string type_name () const
bool get_bounding_box (float low[3], float high[3]) const
virtual vcl_string name () const
void get_parents (vcl_vector< vgui_tableau_sptr > *out) const
void get_children (vcl_vector< vgui_tableau_sptr > *out) const
vgui_tableau_sptr get_child (unsigned i) const
virtual bool notify_replaced_child (vgui_tableau_sptr const &old_child, vgui_tableau_sptr const &new_child)
virtual void add_popup (vgui_menu &)
virtual void get_popup (vgui_popup_params const &, vgui_menu &)
virtual void post_message (char const *, void const *)
virtual void post_redraw ()
virtual void post_overlay_redraw ()
virtual void post_idle_request ()
virtual bool draw ()
virtual bool mouse_down (int x, int y, vgui_button, vgui_modifier)
virtual bool mouse_up (int x, int y, vgui_button, vgui_modifier)
virtual bool motion (int x, int y)
virtual bool key_press (int x, int y, vgui_key, vgui_modifier)
virtual bool help ()
virtual bool idle ()
void ref () const
void unref () const

Static Public Member Functions

static vvid_file_managerinstance ()
 returns the unique instance of vvid_file_manger.
static void get_all (vcl_vector< vgui_tableau_sptr > *out)
static bool exists (vgui_tableau_sptr const &)

Public Attributes

vgui_parent_child_link child

Protected Member Functions

void init ()
 set up the tableaux at each grid cell.
void cached_play ()
void un_cached_play ()
void display_image ()
 Display a processed image.
void display_spatial_objects ()
 Display a set of spatial objects.
void display_topology ()
 Display topology objects.
void display_bargraph (vcl_vector< float > const &data)
void set_changing_colors (int num, float *r, float *g, float *b)
void save_display (int frame)

Private Attributes

bool cache_frames_
bool play_video_
bool pause_video_
bool next_frame_
bool prev_frame_
bool save_display_
bool overlay_pane_
bool track_
int window_
int start_frame_
int end_frame_
bool color_label_
float time_interval_
int display_frame_repeat_
int display_frame_skip_
int skip_counter_
unsigned width_
unsigned height_
vidl_vil1_movie_sptr my_movie_
vgui_windowwin_
vcl_vector
< bgui_vtol2D_tableau_sptr
tabs_
vgui_viewer2D_tableau_sptr v2D0_
vgui_viewer2D_tableau_sptr v2D1_
bgui_vtol2D_tableau_sptr easy0_
bgui_vtol2D_tableau_sptr easy1_
vgui_image_tableau_sptr itab0_
vgui_rubberband_tableau_sptr rubber0_
bgui_picker_tableau_sptr picktab0_
vgui_image_tableau_sptr itab1_
vpro_video_process_sptr video_process_
vgui_grid_tableau_sptr grid_
vvid_frame_trail frame_trail_
vcl_vector< vcl_vector
< vsol_spatial_object_2d_sptr > > 
cached_spat_objs_
vcl_list< vil1_image > display_output_frames_
vcl_string display_output_file_
vtol_face_2d_sptr stem_
vtol_face_2d_sptr long_tip_
vtol_face_2d_sptr short_tip_
strk_art_info_model_sptr art_model_
vtol_face_2d_sptr background_model_
vgui_style_sptr on_style_
vgui_style_sptr off_style_
bgui_bargraph_clipon_tableau_sptr bargraph_

Static Private Attributes

static vvid_file_managerinstance_ = 0

Detailed Description

A singleton manager class for playing videos.

A vector of images with enclosing image and easy2D tableaux is cached so that computed overlays such as Harris corners can be played back quickly. The cache option can be turned off if one is going to just play the video and not apply image segmentation processing to the frames.

A demo of overlaying points on the video is provide by ::easy2D_demo to get rid of the points, reload the video

It is planned to extend the class to handle multiple panes (grid locations) so that different (or the same) videos can be playing simultaneously in different zoom states as well as pause states. This extension will the state variables to be changed to vectors as well as having multiple caches.. etc.

Known problems:

Definition at line 56 of file vvid_file_manager.h.


Constructor & Destructor Documentation

vvid_file_manager::vvid_file_manager ( )

Definition at line 129 of file vvid_file_manager.cxx.

vvid_file_manager::~vvid_file_manager ( )

Definition at line 155 of file vvid_file_manager.cxx.


Member Function Documentation

void vvid_file_manager::cached_play ( ) [protected]

Definition at line 380 of file vvid_file_manager.cxx.

void vvid_file_manager::capture_feature_data ( )

capture feature data from stored track.

Definition at line 1201 of file vvid_file_manager.cxx.

void vvid_file_manager::capture_snippets ( )

capture snippets.

Definition at line 1221 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_corr_tracking ( )

show correlation tracking.

Definition at line 741 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_fourier_transform ( )

compute fourier transform.

Definition at line 896 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_grid_match ( )

show matches of calibration grid.

Definition at line 706 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_harris_corners ( )

show the Harris corners.

Definition at line 627 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_info_tracking ( )

show mutual information tracking.

Definition at line 761 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_line_fit ( )

show fit lines.

Definition at line 681 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_lucas_kanade ( )

show the Lucas-Kanade vectors as color.

Definition at line 612 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_motion ( )

show the motion condition.

Definition at line 599 of file vvid_file_manager.cxx.

void vvid_file_manager::compute_vd_edges ( )

show VanDuc edges.

Definition at line 651 of file vvid_file_manager.cxx.

void vvid_file_manager::create_background_model ( )

create a background model polygon.

Definition at line 1125 of file vvid_file_manager.cxx.

void vvid_file_manager::create_box ( )

create a box by rubberbanding.

Definition at line 921 of file vvid_file_manager.cxx.

void vvid_file_manager::create_long_arm_tip ( )

Definition at line 973 of file vvid_file_manager.cxx.

void vvid_file_manager::create_polygon ( )

create a polygon by rubberbanding.

Definition at line 926 of file vvid_file_manager.cxx.

void vvid_file_manager::create_short_arm_tip ( )

Definition at line 988 of file vvid_file_manager.cxx.

void vvid_file_manager::create_stem ( )

create the elements of the art model.

Definition at line 958 of file vvid_file_manager.cxx.

void vvid_file_manager::difference_frames ( )

show the difference of sequential frames.

Definition at line 589 of file vvid_file_manager.cxx.

void vvid_file_manager::display_art_model_track ( )

display a tracked art model.

Definition at line 1106 of file vvid_file_manager.cxx.

void vvid_file_manager::display_bargraph ( vcl_vector< float > const &  data) [protected]

Definition at line 307 of file vvid_file_manager.cxx.

void vvid_file_manager::display_ihs ( )

display intensity hue and saturation.

Definition at line 1120 of file vvid_file_manager.cxx.

void vvid_file_manager::display_image ( ) [protected]

Display a processed image.

Definition at line 175 of file vvid_file_manager.cxx.

void vvid_file_manager::display_poly_track ( )

display a tracked polygon.

Definition at line 865 of file vvid_file_manager.cxx.

void vvid_file_manager::display_spatial_objects ( ) [protected]

Display a set of spatial objects.

Definition at line 186 of file vvid_file_manager.cxx.

void vvid_file_manager::display_topology ( ) [protected]

Display topology objects.

Definition at line 282 of file vvid_file_manager.cxx.

void vvid_file_manager::display_tracked_hist_data ( )

display tracked histogram feature data.

Definition at line 1173 of file vvid_file_manager.cxx.

void vvid_file_manager::easy2D_tableau_demo ( )

a demo of spatial overlays on the video (scrolling points).

Definition at line 567 of file vvid_file_manager.cxx.

void vvid_file_manager::end_frame ( )

pops up a dialog to indicate what frame to start play.

Definition at line 541 of file vvid_file_manager.cxx.

void vvid_file_manager::end_save_display ( )

enable display movie generation.

Definition at line 946 of file vvid_file_manager.cxx.

void vvid_file_manager::exercise_art_model ( )

test model.

Definition at line 1003 of file vvid_file_manager.cxx.

void vvid_file_manager::generate_basis_sequence ( )

generate a basis sequence.

Definition at line 885 of file vvid_file_manager.cxx.

unsigned vvid_file_manager::get_height ( ) const [inline]

height (in pixels) of the video frame.

Definition at line 65 of file vvid_file_manager.h.

unsigned vvid_file_manager::get_width ( ) const [inline]

width (in pixels) of the video frame.

Definition at line 68 of file vvid_file_manager.h.

vgui_window* vvid_file_manager::get_window ( ) [inline]

get the window of this player.

Definition at line 191 of file vvid_file_manager.h.

bool vvid_file_manager::handle ( const vgui_event e) [virtual]

tableau handle function.

Reimplemented from vgui_wrapper_tableau.

Definition at line 162 of file vvid_file_manager.cxx.

void vvid_file_manager::init ( ) [protected]

set up the tableaux at each grid cell.

Definition at line 84 of file vvid_file_manager.cxx.

vvid_file_manager * vvid_file_manager::instance ( ) [static]

returns the unique instance of vvid_file_manger.

Definition at line 72 of file vvid_file_manager.cxx.

void vvid_file_manager::load_video_file ( )

load each frame of the video into a cached vector of overlays if caching is enabled.

Loads a video file, e.g. avi into the viewer.

Definition at line 316 of file vvid_file_manager.cxx.

void vvid_file_manager::next_frame ( )

index to the next frame (must be paused).

Definition at line 551 of file vvid_file_manager.cxx.

void vvid_file_manager::no_op ( )

No operation.

Definition at line 584 of file vvid_file_manager.cxx.

void vvid_file_manager::pause_video ( )

stop at the current frame.

Definition at line 526 of file vvid_file_manager.cxx.

void vvid_file_manager::play_video ( )

loop through the frames and display.

Definition at line 483 of file vvid_file_manager.cxx.

void vvid_file_manager::prev_frame ( )

index to the previous frame (must be paused).

Definition at line 557 of file vvid_file_manager.cxx.

void vvid_file_manager::quit ( )

quit the application.

Definition at line 168 of file vvid_file_manager.cxx.

void vvid_file_manager::save_display ( int  frame) [protected]

Definition at line 835 of file vvid_file_manager.cxx.

void vvid_file_manager::save_frame ( )

save the current frame in pane 0.

Definition at line 1140 of file vvid_file_manager.cxx.

void vvid_file_manager::save_half_res ( )

save half resolution version of the current video.

Definition at line 1158 of file vvid_file_manager.cxx.

void vvid_file_manager::set_changing_colors ( int  num,
float *  r,
float *  g,
float *  b 
) [protected]

Definition at line 254 of file vvid_file_manager.cxx.

void vvid_file_manager::set_speed ( )

set the frame rate.

Definition at line 562 of file vvid_file_manager.cxx.

void vvid_file_manager::set_window ( vgui_window win) [inline]

set the window.

Definition at line 194 of file vvid_file_manager.h.

void vvid_file_manager::spatial_filter ( )

compute fourier transform.

Definition at line 906 of file vvid_file_manager.cxx.

void vvid_file_manager::start_frame ( )

pops up a dialog to indicate what frame to start play.

Definition at line 533 of file vvid_file_manager.cxx.

void vvid_file_manager::start_save_display ( )

enable display movie generation.

Definition at line 931 of file vvid_file_manager.cxx.

void vvid_file_manager::stop_video ( )

stop playing and return to the first frame.

Definition at line 520 of file vvid_file_manager.cxx.

void vvid_file_manager::track_art_model ( )

process_art_model.

Definition at line 1056 of file vvid_file_manager.cxx.

void vvid_file_manager::un_cached_play ( ) [protected]

Definition at line 414 of file vvid_file_manager.cxx.


Member Data Documentation

Definition at line 251 of file vvid_file_manager.h.

Definition at line 252 of file vvid_file_manager.h.

Definition at line 255 of file vvid_file_manager.h.

Definition at line 212 of file vvid_file_manager.h.

Definition at line 245 of file vvid_file_manager.h.

Definition at line 223 of file vvid_file_manager.h.

Definition at line 225 of file vvid_file_manager.h.

Definition at line 226 of file vvid_file_manager.h.

Definition at line 247 of file vvid_file_manager.h.

vcl_list<vil1_image> vvid_file_manager::display_output_frames_ [private]

Definition at line 246 of file vvid_file_manager.h.

Definition at line 235 of file vvid_file_manager.h.

Definition at line 236 of file vvid_file_manager.h.

Definition at line 222 of file vvid_file_manager.h.

Definition at line 243 of file vvid_file_manager.h.

Definition at line 242 of file vvid_file_manager.h.

unsigned vvid_file_manager::height_ [private]

Definition at line 229 of file vvid_file_manager.h.

Definition at line 244 of file vvid_file_manager.h.

Definition at line 237 of file vvid_file_manager.h.

Definition at line 240 of file vvid_file_manager.h.

Definition at line 249 of file vvid_file_manager.h.

vidl_vil1_movie_sptr vvid_file_manager::my_movie_ [private]

Definition at line 230 of file vvid_file_manager.h.

Definition at line 215 of file vvid_file_manager.h.

Definition at line 254 of file vvid_file_manager.h.

Definition at line 253 of file vvid_file_manager.h.

Definition at line 218 of file vvid_file_manager.h.

Definition at line 214 of file vvid_file_manager.h.

Definition at line 239 of file vvid_file_manager.h.

Definition at line 213 of file vvid_file_manager.h.

Definition at line 216 of file vvid_file_manager.h.

Definition at line 238 of file vvid_file_manager.h.

Definition at line 217 of file vvid_file_manager.h.

Definition at line 250 of file vvid_file_manager.h.

Definition at line 227 of file vvid_file_manager.h.

Definition at line 221 of file vvid_file_manager.h.

Definition at line 248 of file vvid_file_manager.h.

Definition at line 232 of file vvid_file_manager.h.

Definition at line 224 of file vvid_file_manager.h.

bool vvid_file_manager::track_ [private]

Definition at line 219 of file vvid_file_manager.h.

Definition at line 233 of file vvid_file_manager.h.

Definition at line 234 of file vvid_file_manager.h.

Definition at line 241 of file vvid_file_manager.h.

unsigned vvid_file_manager::width_ [private]

Definition at line 228 of file vvid_file_manager.h.

Definition at line 231 of file vvid_file_manager.h.

Definition at line 220 of file vvid_file_manager.h.


The documentation for this class was generated from the following files: