Go to the documentation of this file.00001
00021 #include "descriptor_surface_based_trainer/Create_Test_Model_Dialog.h"
00022 #include <wx/wx.h>
00023 #include <boost/thread.hpp>
00024
00025
00026
00027 void CreateTestModelDialog::createDescriptorModel(HalconCpp::HDescriptorModel *desc_model, HalconCpp::HImage image, HalconCpp::HTuple descParamNames, HalconCpp::HTuple descParamValues, bool use_color) {
00028 try {
00029 if (!use_color) {
00030 image = image.Rgb1ToGray();
00031 }
00032 *desc_model = HalconCpp::HDescriptorModel(image, "harris", HalconCpp::HTuple(), HalconCpp::HTuple(), descParamNames, descParamValues, 42);
00033 } catch(HalconCpp::HException exc) {
00034 button_abort->Enable(true);
00035 return;
00036 }
00037 success = true;
00038 button_abort->Enable(true);
00039 }
00040
00041
00042
00043 CreateTestModelDialog::CreateTestModelDialog(wxWindow* parent, HalconCpp::HDescriptorModel *desc_model, HalconCpp::HImage image, int depth, int number_ferns, int patch_size, double min_scale, double max_scale, bool use_color)
00044 : Create_Test_Model_Dialog_Base(parent), success(false)
00045 {
00046 label_message->SetLabel(wxT("Creating new Descriptor model..."));
00047
00048 button_abort->SetLabel(wxT("Done"));
00049 button_abort->Enable(false);
00050
00051 HalconCpp::HTuple descparamname("depth");
00052 descparamname.Append("number_ferns");
00053 descparamname.Append("patch_size");
00054 descparamname.Append("max_scale");
00055 descparamname.Append("min_scale");
00056 HalconCpp::HTuple descparamvalue(depth);
00057 descparamvalue.Append(number_ferns);
00058 descparamvalue.Append(patch_size);
00059 descparamvalue.Append(max_scale);
00060 descparamvalue.Append(min_scale);
00061
00062 boost::thread desc_mdl_thread(boost::bind(&CreateTestModelDialog::createDescriptorModel, this, desc_model, image, descparamname, descparamvalue, use_color));
00063
00064 }
00065
00066
00067
00068 void CreateTestModelDialog::onButtonAbortClicked(wxCommandEvent &event)
00069 {
00070
00071 if (success) {
00072 EndModal(wxID_OK);
00073
00074 } else {
00075 EndModal(wxID_CANCEL);
00076 }
00077 Destroy();
00078
00079 }
00080
00081 void CreateTestModelDialog::onCloseClicked(wxCloseEvent &event)
00082 {
00083
00084 }