Hugin trunk 0.1
Loading...
Searching...
No Matches
PerspectivePanel.h
Go to the documentation of this file.
1// -*- c-basic-offset: 4 -*-
10/* This is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public
12 * License as published by the Free Software Foundation; either
13 * version 2 of the License, or (at your option) any later version.
14 *
15 * This software is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public
21 * License along with this software. If not, see
22 * <http://www.gnu.org/licenses/>.
23 *
24 */
25
26#ifndef PERSPECTIVEPANEL_H
27#define PERSPECTIVEPANEL_H
28
29#include "panoinc_WX.h"
30#include "wx/clrpicker.h"
33
37class PerspectivePanel : public wxPanel
38{
39public:
41 bool Create(wxWindow* parent, MyExecPanel* logWindow);
43 void OnProcessFinished(wxCommandEvent& e);
47 void SetImage(const wxString& filename);
48
49protected:
50 // event handler
51 void OnLoadImage(wxCommandEvent& e);
52 void OnLoadDistortion(wxCommandEvent& e);
53 void OnZoom(wxCommandEvent& e);
54 void OnPreview(wxCommandEvent& e);
56 void OnCropChanged(wxCommandEvent& e);
57 void OnRotationChanged(wxCommandEvent& e);
58 void OnModeChanged(wxCommandEvent& e);
59 void OnFindLines(wxCommandEvent& e);
60 void OnRemoveLines(wxCommandEvent& e);
61 void OnSavePTO(wxCommandEvent& e);
62 void OnSaveOutput(wxCommandEvent& e);
63
64private:
66 bool ReadInputs();
68 bool GetPanorama(HuginBase::Panorama& pano, const bool optimized = true);
72 const double GetRoll() const;
79 wxTextCtrl* m_focallengthTextCtrl{ nullptr };
80 wxTextCtrl* m_cropTextCtrl{ nullptr };
90 int m_degDigits{ 3 };
94};
95
96#endif // PERSPECTIVEPANEL_H
declaration of preview for lens calibration gui
Model for a panorama.
Definition Panorama.h:153
All variables of a source image.
image previewer for perspective correction
panel for enfuse GUI
void OnColourChanged(wxColourPickerEvent &e)
MyExecPanel * m_logWindow
bool Create(wxWindow *parent, MyExecPanel *logWindow)
create the panel and populate all controls
wxArrayString m_tempFiles
temp files, which should be deleted at end
HuginBase::SrcPanoImage m_srcImage
SrcPanoImage, contains information about the image.
PerspectiveImageCtrl::ImageRotation m_exifRotation
save rotation as written in EXIF
void OnLoadImage(wxCommandEvent &e)
void OnSavePTO(wxCommandEvent &e)
void OnSaveOutput(wxCommandEvent &e)
const PerspectiveImageCtrl::ImageRotation GetRotation() const
return the image rotation
wxChoice * m_rotationChoice
void OnFindLines(wxCommandEvent &e)
wxButton * m_removeLinesButton
void OnRotationChanged(wxCommandEvent &e)
wxTextCtrl * m_cropTextCtrl
void OnZoom(wxCommandEvent &e)
wxTextCtrl * m_focallengthTextCtrl
wxChoice * m_previewChoice
const double GetRoll() const
return the roll angle in degree
void OnModeChanged(wxCommandEvent &e)
wxButton * m_findLineButton
void OnRemoveLines(wxCommandEvent &e)
void SetImage(const wxString &filename)
load the given image
wxString GetStatusString()
return help text for current mode
wxChoice * m_modeChoice
void OnCropChanged(wxCommandEvent &e)
void OnProcessFinished(wxCommandEvent &e)
clean up temporary files at end
bool ReadInputs()
read the values from the input boxes
PerspectiveImageCtrl * m_preview
controls
void OnLoadDistortion(wxCommandEvent &e)
wxButton * m_outputButton
bool GetPanorama(HuginBase::Panorama &pano, const bool optimized=true)
return Pano object, it is optimized and the crop set when optimized=true
wxStaticText * m_helpTextCtrl
void OnPreview(wxCommandEvent &e)
wxChoice * m_zoomChoice
include file for the hugin project
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.
Definition threshold.h:41