ImagesPanel Class Reference

Hugin's first panel. More...

#include <ImagesPanel.h>

Inheritance diagram for ImagesPanel:

Inheritance graph
[legend]
List of all members.

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=wxT("panel"))
void Init (PT::Panorama *pano)
 ~ImagesPanel ()
virtual void panoramaChanged (PT::Panorama &pano)
 receives notification about panorama changes
virtual void panoramaImagesChanged (PT::Panorama &pano, const PT::UIntSet &imgNr)
void ReloadCPDetectorSettings ()
 Reloads the cp detector settings from config, necessary after edit preferences.
CPDetectorSettingGetDefaultSetting ()
 returns the default cp detector settings
void SetGuiLevel (GuiLevel newGuiLevel)
 sets the GuiLevel for all controls on this panel

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

Panoramam_pano
 the model
wxBitmap m_empty
 bitmap with default image
HuginBase::ImageCache::RequestPtr thumbnail_request
 Request for thumbnail image.
ImagesTreeCtrlm_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
CPDetectorConfig cpdetector_config
GuiLevel m_guiLevel
int m_degDigits

Detailed Description

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 42 of file ImagesPanel.h.


Constructor & Destructor Documentation

ImagesPanel::ImagesPanel  ) 
 

ImagesPanel::~ImagesPanel  ) 
 

Definition at line 181 of file ImagesPanel.cpp.

References DEBUG_TRACE, DeleteClientData(), m_cropfactor, m_focallength, m_maxEv, m_optChoice, m_optPhotoChoice, m_overlap, m_pano, and HuginBase::Panorama::removeObserver().


Member Function Documentation

void ImagesPanel::CPGenerate wxCommandEvent &  e  )  [private]
 

control point detection event handler

Definition at line 288 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), AutoCtrlPointCreator::automatch(), cpdetector_config, fill_set(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), HUGIN_ASS_NCONTROLPOINTS, m_CPDetectorChoice, m_images_tree, m_pano, CPDetectorConfig::Read(), CPDetectorConfig::settings, and CPDetectorConfig::Write().

bool ImagesPanel::Create wxWindow *  parent,
wxWindowID  id = wxID_ANY,
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxDefaultSize,
long  style = wxTAB_TRAVERSAL,
const wxString &  name = wxT("panel")
 

Definition at line 84 of file ImagesPanel.cpp.

References cpdetector_config, ImagesTreeCtrl::Create(), DEBUG_ASSERT, DEBUG_TRACE, CPDetectorConfig::FillControl(), FillGroupChoice(), FillLensProjectionList(), FillOptimizerChoice(), m_CPDetectorChoice, m_cropfactor, m_degDigits, m_empty, m_focallength, m_images_tree, m_lenstype, m_matchingButton, m_maxEv, m_optChoice, m_optPhotoChoice, m_overlap, m_showImgNr, m_smallImgCtrl, OnSelectionChanged(), CPDetectorConfig::Read(), and CPDetectorConfig::Write().

void ImagesPanel::DisableImageCtrls  )  [private]
 

Definition at line 418 of file ImagesPanel.cpp.

References m_cropfactor, m_empty, m_focallength, m_lenstype, and m_smallImgCtrl.

Referenced by OnSelectionChanged(), and panoramaImagesChanged().

void ImagesPanel::EnableImageCtrls  )  [private]
 

Definition at line 429 of file ImagesPanel.cpp.

References m_cropfactor, m_focallength, and m_lenstype.

Referenced by OnSelectionChanged().

void ImagesPanel::FillGroupChoice  )  [private]
 

fills the grouping wxChoice with values depending on GuiLevel

Definition at line 658 of file ImagesPanel.cpp.

References DeleteClientData(), GUI_ADVANCED, GUI_SIMPLE, m_guiLevel, and OnGroupModeChanged().

Referenced by Create(), and SetGuiLevel().

void ImagesPanel::FillOptimizerChoice  )  [private]
 

fills the optmizer wxChoices with values depending on GuiLevel

Definition at line 694 of file ImagesPanel.cpp.

References DeleteClientData(), m_guiLevel, m_optChoice, and m_optPhotoChoice.

Referenced by Create(), and SetGuiLevel().

CPDetectorSetting& ImagesPanel::GetDefaultSetting  )  [inline]
 

returns the default cp detector settings

Definition at line 76 of file ImagesPanel.h.

References cpdetector_config, CPDetectorConfig::GetDefaultGenerator(), and CPDetectorConfig::settings.

Referenced by MainFrame::GetDefaultSetting().

void ImagesPanel::Init PT::Panorama pano  ) 
 

Definition at line 162 of file ImagesPanel.cpp.

References HuginBase::Panorama::addObserver(), ImagesTreeCtrl::Init(), m_images_tree, and m_pano.

void ImagesPanel::OnCropFactorChanged wxCommandEvent &  e  )  [private]
 

updates the crop factor for the selected images

Definition at line 568 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), m_cropfactor, m_images_tree, m_pano, and str2double().

void ImagesPanel::OnDisplayModeChanged wxCommandEvent &  e  )  [private]
 

event handler when display mode (which information should be shown) was changed

Definition at line 781 of file ImagesPanel.cpp.

References m_images_tree, and ImagesTreeCtrl::SetDisplayMode().

void ImagesPanel::OnFocalLengthChanged wxCommandEvent &  e  )  [private]
 

updates the focal length for the selected images

Definition at line 517 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), HuginBase::SrcPanoImage::calcHFOV(), HuginBase::Panorama::getImage(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), m_focallength, m_images_tree, m_pano, OnSelectionChanged(), and str2double().

void ImagesPanel::OnGroupModeChanged wxCommandEvent &  e  )  [private]
 

event handler when grouping selection was changed

Definition at line 766 of file ImagesPanel.cpp.

References ImagesTreeCtrl::GroupMode, m_images_tree, m_maxEv, m_overlap, and ImagesTreeCtrl::SetGroupMode().

Referenced by FillGroupChoice().

void ImagesPanel::OnLensTypeChanged wxCommandEvent &  e  )  [private]
 

updates the lens type for the selected images

Definition at line 500 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), PT::calcFocalLength(), HuginBase::Panorama::getImage(), GlobalCmdHist::getInstance(), ImagesTreeCtrl::GetSelectedImages(), GetSelectedProjection(), m_images_tree, m_lenstype, and m_pano.

void ImagesPanel::OnMaxEvDiffChanged wxCommandEvent &  e  )  [private]
 

updates the max ev difference

Definition at line 628 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptions(), m_maxEv, m_pano, HuginBase::PanoramaOptions::outputLayersExposureDiff, and str2double().

void ImagesPanel::OnMinimumOverlapChanged wxCommandEvent &  e  )  [private]
 

updates the minimum overlap

Definition at line 598 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptions(), m_overlap, m_pano, HuginBase::PanoramaOptions::outputStacksMinOverlap, and str2double().

void ImagesPanel::OnOptimizeButton wxCommandEvent &  e  )  [protected]
 

event handler for geometric optimizer

Definition at line 833 of file ImagesPanel.cpp.

References MainFrame::Get(), and MainFrame::OnOptimize().

void ImagesPanel::OnOptimizerSwitchChanged wxCommandEvent &  e  )  [private]
 

event handler, when optimizer master switch was changed

Definition at line 787 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptimizerSwitch(), m_optChoice, and m_pano.

void ImagesPanel::OnPhotometricOptimizeButton wxCommandEvent &  e  )  [protected]
 

event handler for photometric optimizer

Definition at line 838 of file ImagesPanel.cpp.

References MainFrame::Get(), and MainFrame::OnPhotometricOptimize().

void ImagesPanel::OnPhotometricOptimizerSwitchChanged wxCommandEvent &  e  )  [private]
 

event handler, when photometric optimizer master switch was changed

Definition at line 798 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getPhotometricOptimizerSwitch(), m_optPhotoChoice, and m_pano.

void ImagesPanel::OnSelectionChanged wxTreeEvent &  e  )  [private]
 

change displayed variables if the selection has changed.

Definition at line 342 of file ImagesPanel.cpp.

References PT::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, SelectProjection(), and ShowImage().

Referenced by Create(), OnFocalLengthChanged(), and panoramaImagesChanged().

void ImagesPanel::OnSize wxSizeEvent &  e  )  [private]
 

Definition at line 202 of file ImagesPanel.cpp.

References DEBUG_INFO, and UpdatePreviewImage().

void ImagesPanel::panoramaChanged PT::Panorama pano  )  [virtual]
 

receives notification about panorama changes

Definition at line 212 of file ImagesPanel.cpp.

References CommandHistory::addCommand(), GlobalCmdHist::getInstance(), HuginBase::Panorama::getOptimizerSwitch(), HuginBase::Panorama::getOptions(), HuginBase::Panorama::getPhotometricOptimizerSwitch(), m_maxEv, m_optChoice, m_optPhotoChoice, m_overlap, m_pano, HuginBase::PanoramaOptions::outputLayersExposureDiff, and HuginBase::PanoramaOptions::outputStacksMinOverlap.

Referenced by SetGuiLevel().

void ImagesPanel::panoramaImagesChanged PT::Panorama pano,
const PT::UIntSet imgNr
[virtual]
 

Definition at line 262 of file ImagesPanel.cpp.

References DEBUG_DEBUG, DEBUG_TRACE, DisableImageCtrls(), HuginBase::Panorama::getNrOfImages(), ImagesTreeCtrl::GetSelectedImages(), m_images_tree, m_matchingButton, and OnSelectionChanged().

void ImagesPanel::ReloadCPDetectorSettings  ) 
 

Reloads the cp detector settings from config, necessary after edit preferences.

Definition at line 491 of file ImagesPanel.cpp.

References cpdetector_config, CPDetectorConfig::FillControl(), m_CPDetectorChoice, and CPDetectorConfig::Read().

Referenced by MainFrame::OnShowPrefs().

void ImagesPanel::SetGuiLevel GuiLevel  newGuiLevel  ) 
 

sets the GuiLevel for all controls on this panel

Definition at line 809 of file ImagesPanel.cpp.

References FillGroupChoice(), FillOptimizerChoice(), GUI_ADVANCED, GUI_EXPERT, GUI_SIMPLE, m_guiLevel, m_images_tree, m_pano, panoramaChanged(), wxTreeListCtrl::Refresh(), and ImagesTreeCtrl::SetGuiLevel().

Referenced by MainFrame::SetGuiLevel().

void ImagesPanel::ShowImage unsigned int  imgNr  )  [private]
 

show a bigger thumbnail

Definition at line 437 of file ImagesPanel.cpp.

References m_showImgNr, and UpdatePreviewImage().

Referenced by OnSelectionChanged().

void ImagesPanel::UpdatePreviewImage  )  [private]
 

Definition at line 443 of file ImagesPanel.cpp.

References HuginBase::Panorama::getImage(), HuginBase::Panorama::getNrOfImages(), imageCacheEntry2wxImage(), m_pano, m_showImgNr, m_smallImgCtrl, thumbnail_request, and UpdatePreviewImage().

Referenced by OnSize(), ShowImage(), and UpdatePreviewImage().


Member Data Documentation

CPDetectorConfig ImagesPanel::cpdetector_config [private]
 

Definition at line 160 of file ImagesPanel.h.

Referenced by CPGenerate(), Create(), GetDefaultSetting(), and ReloadCPDetectorSettings().

wxChoice* ImagesPanel::m_CPDetectorChoice [private]
 

Definition at line 158 of file ImagesPanel.h.

Referenced by CPGenerate(), Create(), and ReloadCPDetectorSettings().

wxTextCtrl* ImagesPanel::m_cropfactor [private]
 

the text input control for crop factor

Definition at line 150 of file ImagesPanel.h.

Referenced by Create(), DisableImageCtrls(), EnableImageCtrls(), OnCropFactorChanged(), OnSelectionChanged(), and ~ImagesPanel().

int ImagesPanel::m_degDigits [private]
 

Definition at line 163 of file ImagesPanel.h.

Referenced by Create(), and OnSelectionChanged().

wxBitmap ImagesPanel::m_empty [private]
 

bitmap with default image

Definition at line 132 of file ImagesPanel.h.

Referenced by Create(), DisableImageCtrls(), and OnSelectionChanged().

wxTextCtrl* ImagesPanel::m_focallength [private]
 

the text input control for focal length

Definition at line 148 of file ImagesPanel.h.

Referenced by Create(), DisableImageCtrls(), EnableImageCtrls(), OnFocalLengthChanged(), OnSelectionChanged(), and ~ImagesPanel().

GuiLevel ImagesPanel::m_guiLevel [private]
 

Definition at line 162 of file ImagesPanel.h.

Referenced by FillGroupChoice(), FillOptimizerChoice(), and SetGuiLevel().

ImagesTreeCtrl* ImagesPanel::m_images_tree [private]
 

pointer to the main control

Definition at line 138 of file ImagesPanel.h.

Referenced by CPGenerate(), Create(), Init(), OnCropFactorChanged(), OnDisplayModeChanged(), OnFocalLengthChanged(), OnGroupModeChanged(), OnLensTypeChanged(), OnSelectionChanged(), panoramaImagesChanged(), and SetGuiLevel().

wxChoice* ImagesPanel::m_lenstype [private]
 

pointer to lens type selector

Definition at line 142 of file ImagesPanel.h.

Referenced by Create(), DisableImageCtrls(), EnableImageCtrls(), OnLensTypeChanged(), and OnSelectionChanged().

wxButton* ImagesPanel::m_matchingButton [private]
 

Definition at line 157 of file ImagesPanel.h.

Referenced by Create(), and panoramaImagesChanged().

wxTextCtrl* ImagesPanel::m_maxEv [private]
 

the text input control for max ev difference

Definition at line 154 of file ImagesPanel.h.

Referenced by Create(), OnGroupModeChanged(), OnMaxEvDiffChanged(), panoramaChanged(), and ~ImagesPanel().

wxChoice* ImagesPanel::m_optChoice [private]
 

pointer to optimizer switch selector

Definition at line 144 of file ImagesPanel.h.

Referenced by Create(), FillOptimizerChoice(), OnOptimizerSwitchChanged(), panoramaChanged(), and ~ImagesPanel().

wxChoice* ImagesPanel::m_optPhotoChoice [private]
 

pointer to photometric optimizer switch selector

Definition at line 146 of file ImagesPanel.h.

Referenced by Create(), FillOptimizerChoice(), OnPhotometricOptimizerSwitchChanged(), panoramaChanged(), and ~ImagesPanel().

wxTextCtrl* ImagesPanel::m_overlap [private]
 

the text input control for minimum overlap

Definition at line 152 of file ImagesPanel.h.

Referenced by Create(), OnGroupModeChanged(), OnMinimumOverlapChanged(), panoramaChanged(), and ~ImagesPanel().

Panorama* ImagesPanel::m_pano [private]
 

the model

Definition at line 91 of file ImagesPanel.h.

Referenced by CPGenerate(), Init(), OnCropFactorChanged(), OnFocalLengthChanged(), OnLensTypeChanged(), OnMaxEvDiffChanged(), OnMinimumOverlapChanged(), OnOptimizerSwitchChanged(), OnPhotometricOptimizerSwitchChanged(), OnSelectionChanged(), panoramaChanged(), SetGuiLevel(), UpdatePreviewImage(), and ~ImagesPanel().

size_t ImagesPanel::m_showImgNr [private]
 

Definition at line 155 of file ImagesPanel.h.

Referenced by Create(), ShowImage(), and UpdatePreviewImage().

wxStaticBitmap* ImagesPanel::m_smallImgCtrl [private]
 

pointer to the preview image control

Definition at line 140 of file ImagesPanel.h.

Referenced by Create(), DisableImageCtrls(), OnSelectionChanged(), and UpdatePreviewImage().

HuginBase::ImageCache::RequestPtr ImagesPanel::thumbnail_request [private]
 

Request for thumbnail image.

Definition at line 135 of file ImagesPanel.h.

Referenced by UpdatePreviewImage().


The documentation for this class was generated from the following files:
Generated on Thu Oct 2 01:25:49 2014 for Hugintrunk by  doxygen 1.3.9.1