|
Hugin trunk 0.1
|
Hugin's first panel. More...
#include <ImagesPanel.h>

Public Member Functions | |
| ImagesPanel () | |
| bool | Create (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL, const wxString &name="panel") |
| void | Init (HuginBase::Panorama *pano) |
| ~ImagesPanel () | |
| virtual void | panoramaChanged (HuginBase::Panorama &pano) |
| this is called whenever the panorama has changed. | |
| virtual void | panoramaImagesChanged (HuginBase::Panorama &pano, const HuginBase::UIntSet &imgNr) |
| notifies about changes to images | |
| void | ReloadCPDetectorSettings () |
| Reloads the cp detector settings from config, necessary after edit preferences. | |
| CPDetectorSetting & | GetDefaultSetting () |
| returns the default cp detector settings | |
| void | SetGuiLevel (GuiLevel newGuiLevel) |
| sets the GuiLevel for all controls on this panel | |
| wxString | GetCurrentOptimizerString () |
| return the currently selected optimizer setting as string from the drop down list box | |
| void | RunCPGenerator (CPDetectorSetting &setting, const HuginBase::UIntSet &img) |
| run the cp generator with the given setting on selected images | |
| void | RunCPGenerator (const HuginBase::UIntSet &img) |
| runs the currently selected cp generator on given images | |
| const wxString | GetSelectedCPGenerator () |
| return the currently selected cp generator description | |
Public Member Functions inherited from HuginBase::PanoramaObserver | |
| virtual | ~PanoramaObserver () |
Protected Member Functions | |
| void | OnOptimizeButton (wxCommandEvent &e) |
| event handler for geometric optimizer | |
| void | OnPhotometricOptimizeButton (wxCommandEvent &e) |
| event handler for photometric optimizer | |
Private Member Functions | |
| void | OnSize (wxSizeEvent &e) |
| void | CPGenerate (wxCommandEvent &e) |
| control point detection event handler | |
| void | OnSelectionChanged (wxTreeEvent &e) |
| change displayed variables if the selection has changed. | |
| void | OnLensTypeChanged (wxCommandEvent &e) |
| updates the lens type for the selected images | |
| void | OnFocalLengthChanged (wxCommandEvent &e) |
| updates the focal length for the selected images | |
| void | OnCropFactorChanged (wxCommandEvent &e) |
| updates the crop factor for the selected images | |
| void | OnMinimumOverlapChanged (wxCommandEvent &e) |
| updates the minimum overlap | |
| void | OnMaxEvDiffChanged (wxCommandEvent &e) |
| updates the max ev difference | |
| void | OnGroupModeChanged (wxCommandEvent &e) |
| event handler when grouping selection was changed | |
| void | OnDisplayModeChanged (wxCommandEvent &e) |
| event handler when display mode (which information should be shown) was changed | |
| void | OnOptimizerSwitchChanged (wxCommandEvent &e) |
| event handler, when optimizer master switch was changed | |
| void | OnPhotometricOptimizerSwitchChanged (wxCommandEvent &e) |
| event handler, when photometric optimizer master switch was changed | |
| void | FillGroupChoice () |
| fills the grouping wxChoice with values depending on GuiLevel | |
| void | FillOptimizerChoice () |
| fills the optmizer wxChoices with values depending on GuiLevel | |
| void | DisableImageCtrls () |
| void | EnableImageCtrls () |
| void | ShowImage (unsigned int imgNr) |
| show a bigger thumbnail | |
| void | UpdatePreviewImage () |
Private Attributes | |
| HuginBase::Panorama * | m_pano |
| the model | |
| wxBitmap | m_empty |
| bitmap with default image | |
| HuginBase::ImageCache::RequestPtr | thumbnail_request |
| Request for thumbnail image. | |
| ImagesTreeCtrl * | m_images_tree |
| pointer to the main control | |
| wxStaticBitmap * | m_smallImgCtrl |
| pointer to the preview image control | |
| wxChoice * | m_lenstype |
| pointer to lens type selector | |
| wxChoice * | m_optChoice |
| pointer to optimizer switch selector | |
| wxChoice * | m_optPhotoChoice |
| pointer to photometric optimizer switch selector | |
| wxTextCtrl * | m_focallength |
| the text input control for focal length | |
| wxTextCtrl * | m_cropfactor |
| the text input control for crop factor | |
| wxTextCtrl * | m_overlap |
| the text input control for minimum overlap | |
| wxTextCtrl * | m_maxEv |
| the text input control for max ev difference | |
| size_t | m_showImgNr |
| wxButton * | m_matchingButton |
| wxChoice * | m_CPDetectorChoice |
| wxChoice * | m_groupModeChoice |
| CPDetectorConfig | cpdetector_config |
| GuiLevel | m_guiLevel |
| int | m_degDigits |
Hugin's first panel.
This Panel is for loading of images into Panorama. Here one can set first values vor the camera orientation and link these parameters for the optimization.
Definition at line 40 of file ImagesPanel.h.
| ImagesPanel::ImagesPanel | ( | ) |
Definition at line 57 of file ImagesPanel.cpp.
References GUI_SIMPLE, m_guiLevel, and m_pano.
| ImagesPanel::~ImagesPanel | ( | ) |
Definition at line 182 of file ImagesPanel.cpp.
References DEBUG_TRACE, DeleteClientData(), m_cropfactor, m_focallength, m_groupModeChoice, m_maxEv, m_optChoice, m_optPhotoChoice, m_overlap, m_pano, and HuginBase::Panorama::removeObserver().
|
private |
control point detection event handler
run control point detector on selected images, and add control points
Definition at line 287 of file ImagesPanel.cpp.
References cpdetector_config, fill_set(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), m_CPDetectorChoice, m_images_tree, m_pano, RunCPGenerator(), CPDetectorConfig::settings, and threshold().
Referenced by Create().
| bool ImagesPanel::Create | ( | wxWindow * | parent, |
| wxWindowID | id = wxID_ANY, |
||
| const wxPoint & | pos = wxDefaultPosition, |
||
| const wxSize & | size = wxDefaultSize, |
||
| long | style = wxTAB_TRAVERSAL, |
||
| const wxString & | name = "panel" |
||
| ) |
Definition at line 63 of file ImagesPanel.cpp.
References cpdetector_config, CPGenerate(), DEBUG_ASSERT, DEBUG_TRACE, CPDetectorConfig::FillControl(), FillGroupChoice(), FillLensProjectionList(), FillOptimizerChoice(), huginApp::Get(), GetDataPath(), m_CPDetectorChoice, m_cropfactor, m_degDigits, m_empty, m_focallength, m_groupModeChoice, m_images_tree, m_lenstype, m_matchingButton, m_maxEv, m_optChoice, m_optPhotoChoice, m_overlap, m_showImgNr, m_smallImgCtrl, OnCropFactorChanged(), OnDisplayModeChanged(), OnFocalLengthChanged(), OnGroupModeChanged(), OnLensTypeChanged(), OnMaxEvDiffChanged(), OnMinimumOverlapChanged(), OnOptimizeButton(), OnOptimizerSwitchChanged(), OnPhotometricOptimizeButton(), OnPhotometricOptimizerSwitchChanged(), OnSelectionChanged(), CPDetectorConfig::Read(), wxcode::wxTreeListCtrl::SetFocus(), threshold(), and CPDetectorConfig::Write().
|
private |
Definition at line 427 of file ImagesPanel.cpp.
References m_cropfactor, m_empty, m_focallength, m_lenstype, and m_smallImgCtrl.
Referenced by OnSelectionChanged(), and panoramaImagesChanged().
|
private |
Definition at line 438 of file ImagesPanel.cpp.
References m_cropfactor, m_focallength, and m_lenstype.
Referenced by OnSelectionChanged().
|
private |
fills the grouping wxChoice with values depending on GuiLevel
Definition at line 698 of file ImagesPanel.cpp.
References DeleteClientData(), ImagesTreeCtrl::GROUP_LENS, ImagesTreeCtrl::GROUP_NONE, ImagesTreeCtrl::GROUP_OUTPUTLAYERS, ImagesTreeCtrl::GROUP_OUTPUTSTACK, ImagesTreeCtrl::GROUP_STACK, GUI_ADVANCED, GUI_EXPERT, GUI_SIMPLE, m_groupModeChoice, m_guiLevel, OnGroupModeChanged(), and threshold().
Referenced by Create(), and SetGuiLevel().
|
private |
fills the optmizer wxChoices with values depending on GuiLevel
Definition at line 733 of file ImagesPanel.cpp.
References DeleteClientData(), GUI_EXPERT, GUI_SIMPLE, m_guiLevel, m_optChoice, m_optPhotoChoice, HuginBase::OPT_ALL, HuginBase::OPT_BARREL, HuginBase::OPT_EXPOSURE, HuginBase::OPT_PAIR, HuginBase::OPT_POSITION, HuginBase::OPT_RESPONSE, HuginBase::OPT_TRANSLATION, HuginBase::OPT_VIEW, HuginBase::OPT_VIGNETTING, HuginBase::OPT_WHITEBALANCE, and threshold().
Referenced by Create(), and SetGuiLevel().
| wxString ImagesPanel::GetCurrentOptimizerString | ( | ) |
return the currently selected optimizer setting as string from the drop down list box
Definition at line 805 of file ImagesPanel.cpp.
References m_optChoice.
Referenced by MainFrame::GetCurrentOptimizerString().
|
inline |
returns the default cp detector settings
Definition at line 74 of file ImagesPanel.h.
References cpdetector_config, CPDetectorConfig::GetDefaultGenerator(), and CPDetectorConfig::settings.
Referenced by MainFrame::GetDefaultSetting().
return the currently selected cp generator description
Definition at line 345 of file ImagesPanel.cpp.
References cpdetector_config, m_CPDetectorChoice, and CPDetectorConfig::settings.
Referenced by MainFrame::GetSelectedCPGenerator().
| void ImagesPanel::Init | ( | HuginBase::Panorama * | pano | ) |
Definition at line 163 of file ImagesPanel.cpp.
References HuginBase::Panorama::addObserver(), ImagesTreeCtrl::Init(), m_images_tree, m_pano, and threshold().
Referenced by MainFrame::MainFrame().
|
private |
updates the crop factor for the selected images
Definition at line 615 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), m_cropfactor, m_images_tree, m_pano, hugin_utils::str2double(), and threshold().
Referenced by Create().
|
private |
event handler when display mode (which information should be shown) was changed
Definition at line 824 of file ImagesPanel.cpp.
References m_images_tree, ImagesTreeCtrl::SetDisplayMode(), and threshold().
Referenced by Create().
|
private |
updates the focal length for the selected images
Definition at line 569 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), HuginBase::SrcPanoImage::calcHFOV(), HuginBase::BaseSrcPanoImage::FISHEYE_ORTHOGRAPHIC, HuginBase::Panorama::getImage(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), hugin_utils::HuginMessageBox(), m_focallength, m_images_tree, m_pano, OnSelectionChanged(), hugin_utils::str2double(), and threshold().
Referenced by Create().
|
private |
event handler when grouping selection was changed
Definition at line 810 of file ImagesPanel.cpp.
References ImagesTreeCtrl::GROUP_OUTPUTLAYERS, ImagesTreeCtrl::GROUP_OUTPUTSTACK, m_groupModeChoice, m_images_tree, m_maxEv, m_overlap, ImagesTreeCtrl::SetGroupMode(), and threshold().
Referenced by Create(), and FillGroupChoice().
|
private |
updates the lens type for the selected images
Definition at line 533 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), HuginBase::SrcPanoImage::calcFocalLength(), HuginBase::BaseSrcPanoImage::EQUIRECTANGULAR, HuginBase::BaseSrcPanoImage::FULL_FRAME_FISHEYE, MainFrame::Get(), HuginBase::Panorama::getImage(), PanoCommand::GlobalCmdHist::getInstance(), ImagesTreeCtrl::GetSelectedImages(), GetSelectedValue(), m_images_tree, m_lenstype, m_pano, HuginBase::BaseSrcPanoImage::PANORAMIC, HuginBase::BaseSrcPanoImage::RECTILINEAR, MainFrame::ShowMaskEditor(), and threshold().
Referenced by Create().
|
private |
updates the max ev difference
Definition at line 674 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptions(), hugin_utils::HuginMessageBox(), m_maxEv, m_pano, HuginBase::PanoramaOptions::outputLayersExposureDiff, hugin_utils::str2double(), and threshold().
Referenced by Create().
|
private |
updates the minimum overlap
Definition at line 645 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptions(), hugin_utils::HuginMessageBox(), m_overlap, m_pano, HuginBase::PanoramaOptions::outputStacksMinOverlap, hugin_utils::str2double(), and threshold().
Referenced by Create().
|
protected |
event handler for geometric optimizer
Definition at line 876 of file ImagesPanel.cpp.
References MainFrame::Get(), MainFrame::OnOptimize(), and threshold().
Referenced by Create().
|
private |
event handler, when optimizer master switch was changed
Definition at line 830 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptimizerSwitch(), m_optChoice, and m_pano.
Referenced by Create().
|
protected |
event handler for photometric optimizer
Definition at line 882 of file ImagesPanel.cpp.
References MainFrame::Get(), MainFrame::OnPhotometricOptimize(), and threshold().
Referenced by Create().
|
private |
event handler, when photometric optimizer master switch was changed
Definition at line 841 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getPhotometricOptimizerSwitch(), m_optPhotoChoice, and m_pano.
Referenced by Create().
|
private |
change displayed variables if the selection has changed.
Definition at line 350 of file ImagesPanel.cpp.
References HuginBase::SrcPanoImage::calcFocalLength(), DEBUG_DEBUG, DisableImageCtrls(), hugin_utils::doubleTowxString(), EnableImageCtrls(), HuginBase::Panorama::getImage(), ImagesTreeCtrl::GetSelectedImages(), m_cropfactor, m_degDigits, m_empty, m_focallength, m_images_tree, m_lenstype, m_pano, m_smallImgCtrl, SelectListValue(), ShowImage(), and threshold().
Referenced by Create(), OnFocalLengthChanged(), and panoramaImagesChanged().
|
private |
Definition at line 201 of file ImagesPanel.cpp.
References DEBUG_INFO, threshold(), and UpdatePreviewImage().
|
virtual |
this is called whenever the panorama has changed.
This function must now update all the gui representations of the panorama to display the new state.
Functions that change the panororama must not update the GUI directly. The GUI should always be updated to reflect the current panorama state in this function.
This avoids unnessecary close coupling between the controller and the view (even if they sometimes are in the same object). See model view controller pattern.
receives notification about panorama changes
Implements HuginBase::PanoramaObserver.
Definition at line 211 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), hugin_utils::doubleTowxString(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptimizerSwitch(), HuginBase::Panorama::getOptions(), HuginBase::Panorama::getPhotometricOptimizerSwitch(), m_maxEv, m_optChoice, m_optPhotoChoice, m_overlap, m_pano, HuginBase::PanoramaOptions::outputLayersExposureDiff, HuginBase::PanoramaOptions::outputStacksMinOverlap, and threshold().
Referenced by SetGuiLevel().
|
virtual |
notifies about changes to images
Images might have been added/removed. to find out how many images are still there, use Panorama::getNrOfImages.
| pano | the panorama object that changed |
| changed | set of changed images |
Implements HuginBase::PanoramaObserver.
Definition at line 261 of file ImagesPanel.cpp.
References DEBUG_DEBUG, DEBUG_TRACE, DisableImageCtrls(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), m_images_tree, m_matchingButton, OnSelectionChanged(), and threshold().
| void ImagesPanel::ReloadCPDetectorSettings | ( | ) |
Reloads the cp detector settings from config, necessary after edit preferences.
Definition at line 524 of file ImagesPanel.cpp.
References cpdetector_config, CPDetectorConfig::FillControl(), m_CPDetectorChoice, and CPDetectorConfig::Read().
Referenced by MainFrame::OnShowPrefs().
| void ImagesPanel::RunCPGenerator | ( | const HuginBase::UIntSet & | img | ) |
runs the currently selected cp generator on given images
Definition at line 306 of file ImagesPanel.cpp.
References cpdetector_config, m_CPDetectorChoice, RunCPGenerator(), and CPDetectorConfig::settings.
| void ImagesPanel::RunCPGenerator | ( | CPDetectorSetting & | setting, |
| const HuginBase::UIntSet & | img | ||
| ) |
run the cp generator with the given setting on selected images
Definition at line 311 of file ImagesPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), AutoCtrlPointCreator::automatch(), PanoCommand::GlobalCmdHist::getInstance(), HUGIN_ASS_NCONTROLPOINTS, hugin_utils::HuginMessageBox(), m_pano, and threshold().
Referenced by CPGenerate(), RunCPGenerator(), MainFrame::RunCPGenerator(), and MainFrame::RunCPGenerator().
sets the GuiLevel for all controls on this panel
Definition at line 852 of file ImagesPanel.cpp.
References FillGroupChoice(), FillOptimizerChoice(), GUI_ADVANCED, GUI_EXPERT, GUI_SIMPLE, m_guiLevel, m_images_tree, m_pano, panoramaChanged(), ImagesTreeCtrl::SetGuiLevel(), and threshold().
Referenced by MainFrame::SetGuiLevel().
show a bigger thumbnail
Definition at line 446 of file ImagesPanel.cpp.
References m_showImgNr, and UpdatePreviewImage().
Referenced by OnSelectionChanged().
|
private |
Definition at line 452 of file ImagesPanel.cpp.
References HuginBase::Color::CorrectImage(), huginApp::Get(), HuginBase::Panorama::getImage(), HuginBase::Panorama::getNrOfImages(), huginApp::HasMonitorProfile(), imageCacheEntry2wxImage(), m_pano, m_showImgNr, m_smallImgCtrl, threshold(), thumbnail_request, and UpdatePreviewImage().
Referenced by OnSize(), ShowImage(), and UpdatePreviewImage().
|
private |
Definition at line 167 of file ImagesPanel.h.
Referenced by CPGenerate(), Create(), GetDefaultSetting(), GetSelectedCPGenerator(), ReloadCPDetectorSettings(), and RunCPGenerator().
|
private |
Definition at line 164 of file ImagesPanel.h.
Referenced by CPGenerate(), Create(), GetSelectedCPGenerator(), ReloadCPDetectorSettings(), and RunCPGenerator().
|
private |
the text input control for crop factor
Definition at line 156 of file ImagesPanel.h.
Referenced by Create(), DisableImageCtrls(), EnableImageCtrls(), OnCropFactorChanged(), OnSelectionChanged(), and ~ImagesPanel().
|
private |
Definition at line 170 of file ImagesPanel.h.
Referenced by Create(), and OnSelectionChanged().
|
private |
bitmap with default image
Definition at line 138 of file ImagesPanel.h.
Referenced by Create(), DisableImageCtrls(), and OnSelectionChanged().
|
private |
the text input control for focal length
Definition at line 154 of file ImagesPanel.h.
Referenced by Create(), DisableImageCtrls(), EnableImageCtrls(), OnFocalLengthChanged(), OnSelectionChanged(), and ~ImagesPanel().
|
private |
Definition at line 165 of file ImagesPanel.h.
Referenced by Create(), FillGroupChoice(), OnGroupModeChanged(), and ~ImagesPanel().
|
private |
Definition at line 169 of file ImagesPanel.h.
Referenced by FillGroupChoice(), FillOptimizerChoice(), ImagesPanel(), and SetGuiLevel().
|
private |
pointer to the main control
Definition at line 144 of file ImagesPanel.h.
Referenced by CPGenerate(), Create(), Init(), OnCropFactorChanged(), OnDisplayModeChanged(), OnFocalLengthChanged(), OnGroupModeChanged(), OnLensTypeChanged(), OnSelectionChanged(), panoramaImagesChanged(), and SetGuiLevel().
|
private |
pointer to lens type selector
Definition at line 148 of file ImagesPanel.h.
Referenced by Create(), DisableImageCtrls(), EnableImageCtrls(), OnLensTypeChanged(), and OnSelectionChanged().
|
private |
Definition at line 163 of file ImagesPanel.h.
Referenced by Create(), and panoramaImagesChanged().
|
private |
the text input control for max ev difference
Definition at line 160 of file ImagesPanel.h.
Referenced by Create(), OnGroupModeChanged(), OnMaxEvDiffChanged(), panoramaChanged(), and ~ImagesPanel().
|
private |
pointer to optimizer switch selector
Definition at line 150 of file ImagesPanel.h.
Referenced by Create(), FillOptimizerChoice(), GetCurrentOptimizerString(), OnOptimizerSwitchChanged(), panoramaChanged(), and ~ImagesPanel().
|
private |
pointer to photometric optimizer switch selector
Definition at line 152 of file ImagesPanel.h.
Referenced by Create(), FillOptimizerChoice(), OnPhotometricOptimizerSwitchChanged(), panoramaChanged(), and ~ImagesPanel().
|
private |
the text input control for minimum overlap
Definition at line 158 of file ImagesPanel.h.
Referenced by Create(), OnGroupModeChanged(), OnMinimumOverlapChanged(), panoramaChanged(), and ~ImagesPanel().
|
private |
the model
Definition at line 97 of file ImagesPanel.h.
Referenced by CPGenerate(), ImagesPanel(), Init(), OnCropFactorChanged(), OnFocalLengthChanged(), OnLensTypeChanged(), OnMaxEvDiffChanged(), OnMinimumOverlapChanged(), OnOptimizerSwitchChanged(), OnPhotometricOptimizerSwitchChanged(), OnSelectionChanged(), panoramaChanged(), RunCPGenerator(), SetGuiLevel(), UpdatePreviewImage(), and ~ImagesPanel().
|
private |
Definition at line 161 of file ImagesPanel.h.
Referenced by Create(), ShowImage(), and UpdatePreviewImage().
|
private |
pointer to the preview image control
Definition at line 146 of file ImagesPanel.h.
Referenced by Create(), DisableImageCtrls(), OnSelectionChanged(), and UpdatePreviewImage().
|
private |
Request for thumbnail image.
Definition at line 141 of file ImagesPanel.h.
Referenced by UpdatePreviewImage().