A singleton manager class for playing videos. More...
#include <vvid_file_manager.h>

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_window * | get_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_manager * | instance () |
| 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_window * | win_ |
| 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_manager * | instance_ = 0 |
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.
| 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.
| 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.
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.
bool vvid_file_manager::cache_frames_ [private] |
Definition at line 212 of file vvid_file_manager.h.
vcl_vector<vcl_vector<vsol_spatial_object_2d_sptr> > vvid_file_manager::cached_spat_objs_ [private] |
Definition at line 245 of file vvid_file_manager.h.
bool vvid_file_manager::color_label_ [private] |
Definition at line 223 of file vvid_file_manager.h.
int vvid_file_manager::display_frame_repeat_ [private] |
Definition at line 225 of file vvid_file_manager.h.
int vvid_file_manager::display_frame_skip_ [private] |
Definition at line 226 of file vvid_file_manager.h.
vcl_string vvid_file_manager::display_output_file_ [private] |
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.
int vvid_file_manager::end_frame_ [private] |
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.
vvid_file_manager * vvid_file_manager::instance_ = 0 [static, private] |
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.
bool vvid_file_manager::next_frame_ [private] |
Definition at line 215 of file vvid_file_manager.h.
vgui_style_sptr vvid_file_manager::off_style_ [private] |
Definition at line 254 of file vvid_file_manager.h.
vgui_style_sptr vvid_file_manager::on_style_ [private] |
Definition at line 253 of file vvid_file_manager.h.
bool vvid_file_manager::overlay_pane_ [private] |
Definition at line 218 of file vvid_file_manager.h.
bool vvid_file_manager::pause_video_ [private] |
Definition at line 214 of file vvid_file_manager.h.
Definition at line 239 of file vvid_file_manager.h.
bool vvid_file_manager::play_video_ [private] |
Definition at line 213 of file vvid_file_manager.h.
bool vvid_file_manager::prev_frame_ [private] |
Definition at line 216 of file vvid_file_manager.h.
Definition at line 238 of file vvid_file_manager.h.
bool vvid_file_manager::save_display_ [private] |
Definition at line 217 of file vvid_file_manager.h.
Definition at line 250 of file vvid_file_manager.h.
int vvid_file_manager::skip_counter_ [private] |
Definition at line 227 of file vvid_file_manager.h.
int vvid_file_manager::start_frame_ [private] |
Definition at line 221 of file vvid_file_manager.h.
vtol_face_2d_sptr vvid_file_manager::stem_ [private] |
Definition at line 248 of file vvid_file_manager.h.
vcl_vector<bgui_vtol2D_tableau_sptr> vvid_file_manager::tabs_ [private] |
Definition at line 232 of file vvid_file_manager.h.
float vvid_file_manager::time_interval_ [private] |
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.
vgui_window* vvid_file_manager::win_ [private] |
Definition at line 231 of file vvid_file_manager.h.
int vvid_file_manager::window_ [private] |
Definition at line 220 of file vvid_file_manager.h.
1.7.5.1