Go to the documentation of this file.00001 #include "segv_menus.h"
00002
00003
00004 #include <vgui/vgui.h>
00005 #include <vgui/vgui_key.h>
00006 #include <vgui/vgui_menu.h>
00007 #include "segv_segmentation_manager.h"
00008
00009
00010
00011 void segv_menus::quit_callback()
00012 {
00013 segv_segmentation_manager::instance()->quit();
00014 }
00015
00016
00017 void segv_menus::load_image_callback()
00018 {
00019 segv_segmentation_manager::instance()->load_image();
00020 }
00021
00022 void segv_menus::clear_display_callback()
00023 {
00024 segv_segmentation_manager::instance()->clear_display();
00025 }
00026
00027 void segv_menus::original_image_callback()
00028 {
00029 segv_segmentation_manager::instance()->original_image();
00030 }
00031
00032 void segv_menus::roi_callback()
00033 {
00034 segv_segmentation_manager::instance()->roi();
00035 }
00036
00037 void segv_menus::gaussian_callback()
00038 {
00039 segv_segmentation_manager::instance()->gaussian();
00040 }
00041
00042 void segv_menus::downsample_callback()
00043 {
00044 segv_segmentation_manager::instance()->downsample();
00045 }
00046
00047 void segv_menus::convolution_callback()
00048 {
00049 segv_segmentation_manager::instance()->convolution();
00050 }
00051
00052 void segv_menus::harris_measure_callback()
00053 {
00054 segv_segmentation_manager::instance()->harris_measure();
00055 }
00056
00057 void segv_menus::beaudet_measure_callback()
00058 {
00059 segv_segmentation_manager::instance()->beaudet_measure();
00060 }
00061
00062 void segv_menus::vd_edges_callback()
00063 {
00064 segv_segmentation_manager::instance()->vd_edges();
00065 }
00066
00067 void segv_menus::regions_callback()
00068 {
00069 segv_segmentation_manager::instance()->regions();
00070 }
00071
00072 void segv_menus::fit_lines_callback()
00073 {
00074 segv_segmentation_manager::instance()->fit_lines();
00075 }
00076
00077 void segv_menus::test_camera_parms_callback()
00078 {
00079 segv_segmentation_manager::instance()->test_camera_parms();
00080 }
00081 #if 0
00082 #ifdef HAS_XERCES
00083 void segv_menus::read_xml_edges_callback()
00084 {
00085 segv_segmentation_manager::instance()->read_xml_edges();
00086 }
00087 #endif
00088 #endif
00089
00090 void segv_menus::test_face_callback()
00091 {
00092 segv_segmentation_manager::instance()->test_face();
00093 }
00094
00095 void segv_menus::test_digital_lines_callback()
00096 {
00097 segv_segmentation_manager::instance()->test_digital_lines();
00098 }
00099
00100
00101 void segv_menus::display_IHS_callback()
00102 {
00103 segv_segmentation_manager::instance()->display_IHS();
00104 }
00105
00106 void segv_menus::rotate_image_callback()
00107 {
00108 segv_segmentation_manager::instance()->rotate_image();
00109 }
00110
00111 void segv_menus::compute_mutual_info_callback()
00112 {
00113 segv_segmentation_manager::instance()->compute_mutual_info();
00114 }
00115
00116
00117 void segv_menus::create_box_callback()
00118 {
00119 segv_segmentation_manager::instance()->create_box();
00120 }
00121
00122 void segv_menus::create_polygon_callback()
00123 {
00124 segv_segmentation_manager::instance()->create_polygon();
00125 }
00126
00127 void segv_menus::compute_background_info_callback()
00128 {
00129 segv_segmentation_manager::instance()->compute_background_info();
00130 }
00131
00132 void segv_menus::set_foreground_face_callback()
00133 {
00134 segv_segmentation_manager::instance()->set_foreground_face();
00135 }
00136
00137 void segv_menus::set_background_face_callback()
00138 {
00139 segv_segmentation_manager::instance()->set_background_face();
00140 }
00141
00142
00143 void segv_menus::compute_watershed_regions_callback()
00144 {
00145 segv_segmentation_manager::instance()->compute_watershed_regions();
00146 }
00147
00148
00149 void segv_menus::display_histogram_track_callback()
00150 {
00151 segv_segmentation_manager::instance()->display_histogram_track();
00152 }
00153
00154 void segv_menus::set_range_params_callback()
00155 {
00156 segv_segmentation_manager::instance()->set_range_params();
00157 }
00158
00159
00160 vgui_menu segv_menus::get_menu()
00161 {
00162 vgui_menu menubar;
00163 vgui_menu menufile;
00164 vgui_menu menuview;
00165 vgui_menu menuedit;
00166
00167 menufile.add( "Quit", quit_callback,(vgui_key)'q', vgui_CTRL);
00168 menufile.add( "Load Image", load_image_callback,(vgui_key)'l', vgui_CTRL);
00169 #if 0 // was: #if HAS_XERCES
00170 menufile.add( "Load XML Edges", read_xml_edges_callback);
00171 #endif
00172
00173 menuview.add("Original Image", original_image_callback);
00174 menuview.add("Clear Display", clear_display_callback);
00175 menuview.add("Display IHS", display_IHS_callback);
00176 menuview.add("Rotate", rotate_image_callback);
00177 menuview.add("Display Histogram Track File", display_histogram_track_callback);
00178 menuview.add("Set Range Params", set_range_params_callback);
00179
00180
00181 menuedit.add("Region Of Interest", roi_callback);
00182 menuedit.add("Gaussian", gaussian_callback);
00183 menuedit.add("Downsample", downsample_callback);
00184 menuedit.add("Convolution", convolution_callback);
00185 menuedit.add("Harris", harris_measure_callback);
00186 menuedit.add("Beaudet", beaudet_measure_callback);
00187 menuedit.add("VD Edges", vd_edges_callback);
00188 menuedit.add("Edgel Regions", regions_callback);
00189 menuedit.add("Watershed Regions", compute_watershed_regions_callback);
00190 menuedit.add("Line Segments", fit_lines_callback);
00191 menuedit.add("TestFace", test_face_callback);
00192 menuedit.add("TestDigitalCurves", test_digital_lines_callback);
00193 menuedit.add("Test Camera Parms",test_camera_parms_callback);
00194 menuedit.add("Create Box", create_box_callback);
00195 menuedit.add("Create Polygon", create_polygon_callback,(vgui_key)'a', vgui_CTRL);
00196 menuedit.add("Compute Mutual Info",compute_mutual_info_callback);
00197
00198
00199 menuedit.add("Compute Fore/Background entropy",compute_background_info_callback);
00200 menuedit.add("Set Background Face", set_background_face_callback);
00201
00202 menuedit.add("Set Foreground Face", set_foreground_face_callback);
00203
00204
00205 menubar.add( "File", menufile);
00206 menubar.add( "View", menuview);
00207 menubar.add( "Edit", menuedit);
00208 return menubar;
00209 }
00210