AutoCtrlPointCreator.h

Go to the documentation of this file.
00001 // -*- c-basic-offset: 4 -*-
00022 #ifndef _AUTOCTRLPOINTCREATOR_H
00023 #define _AUTOCTRLPOINTCREATOR_H
00024 
00025 #include <string>
00026 #include <map>
00027 
00028 #include <hugin_shared.h>
00029 #include "CPDetectorConfig.h"
00030 #include "PT/Panorama.h"
00031 #include "PT/PanoImage.h"
00032 #include "PT/PanoramaMemento.h"
00033 #include "panodata/ControlPoint.h"
00034 #include "panoinc_WX.h"
00035 
00039 class ICPIMPEX AutoCtrlPointCreator
00040 {
00041 public:
00042 
00045     AutoCtrlPointCreator() {};
00046 
00049     virtual ~AutoCtrlPointCreator() {};
00050 
00054     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00055                            int nFeatures, int & ret_value, wxWindow *parent=NULL);
00056     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00057                            int nFeatures, wxWindow *parent=NULL);
00058     virtual void Cleanup(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00059                            std::vector<wxString> &keyFiles, wxWindow *parent=NULL);
00060 
00061 protected:
00062     HuginBase::CPVector readUpdatedControlPoints(const std::string & file,
00063                                   PT::Panorama & pano);
00064     HuginBase::CPVector readUpdatedControlPoints(const std::string & file,
00065                                   PT::Panorama & pano, const PT::UIntSet & imgs);
00066 };
00067 
00069 class ICPIMPEX AutoPanoSift : public AutoCtrlPointCreator
00070 {
00071 public:
00072 
00075     AutoPanoSift() {};
00076 
00079     virtual ~AutoPanoSift() {} ;
00080 
00081     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00082                            int nFeatures, int & ret_value, wxWindow *parent=NULL);
00083     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00084                            int nFeatures, std::vector<wxString> &keyFiles, int & ret_value, wxWindow *parent=NULL);
00085 };
00086 
00088 class ICPIMPEX AutoPanoKolor : public AutoCtrlPointCreator
00089 {
00090 public:
00091 
00094     AutoPanoKolor() {};
00095 
00098     virtual ~AutoPanoKolor() {} ;
00099 
00100     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00101                            int nFeatures, int & ret_value, wxWindow *parent=NULL);
00102 };
00103 
00105 class ICPIMPEX AutoPanoSiftStack : public AutoCtrlPointCreator
00106 {
00107 public:
00108 
00111     AutoPanoSiftStack() {};
00112 
00115     virtual ~AutoPanoSiftStack() {} ;
00116 
00117     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00118                            int nFeatures, int & ret_value, wxWindow *parent=NULL);
00119 };
00120 
00122 class ICPIMPEX AutoPanoSiftMultiRow : public AutoCtrlPointCreator
00123 {
00124 public:
00125 
00128     AutoPanoSiftMultiRow() {};
00129 
00132     virtual ~AutoPanoSiftMultiRow() {} ;
00133 
00134     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00135                            int nFeatures, int & ret_value, wxWindow *parent=NULL);
00136 };
00137 
00139 class ICPIMPEX AutoPanoSiftMultiRowStack : public AutoCtrlPointCreator
00140 {
00141 public:
00142 
00145     AutoPanoSiftMultiRowStack() {};
00146 
00149     virtual ~AutoPanoSiftMultiRowStack() {} ;
00150 
00151     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00152                            int nFeatures, int & ret_value, wxWindow *parent=NULL);
00153 };
00154 
00156 class ICPIMPEX AutoPanoSiftPreAlign : public AutoCtrlPointCreator
00157 {
00158 public:
00159 
00162     AutoPanoSiftPreAlign() {};
00163 
00166     virtual ~AutoPanoSiftPreAlign() {} ;
00167 
00168     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00169                            int nFeatures, int & ret_value, wxWindow *parent=NULL);
00170     virtual HuginBase::CPVector automatch(CPDetectorSetting &setting, PT::Panorama & pano, const PT::UIntSet & imgs,
00171                            int nFeatures, std::vector<wxString> &keyFiles, int & ret_value, wxWindow *parent=NULL);
00172 };
00173 
00174 #endif // _AUTOCTRLPOINTCREATOR_H

Generated on Wed Jul 16 01:25:36 2014 for Hugintrunk by  doxygen 1.3.9.1