CPEditorPanel.cpp File Reference

implementation of CPEditorPanel Class More...

#include <config.h>
#include "panoinc.h"
#include "hugin/huginApp.h"
#include "hugin/config_defaults.h"
#include "base_wx/CommandHistory.h"
#include "base_wx/wxImageCache.h"
#include "hugin/CPImageCtrl.h"
#include "hugin/TextKillFocusHandler.h"
#include "hugin/CPEditorPanel.h"
#include "base_wx/wxPanoCommand.h"
#include "base_wx/MyProgressDialog.h"
#include "algorithms/optimizer/PTOptimizer.h"
#include "algorithms/basic/CalculateOptimalScale.h"
#include "base_wx/PTWXDlg.h"
#include "base_wx/wxPlatform.h"
#include <algorithm>
#include <float.h>
#include <vector>
#include "vigra/cornerdetection.hxx"
#include "vigra/localminmax.hxx"
#include "vigra_ext/openmp_vigra.h"
#include "vigra_ext/Correlation.h"
#include "Celeste.h"

Include dependency graph for CPEditorPanel.cpp:

Go to the source code of this file.

Functions

 EVT_COMBOBOX (XRCID("cp_editor_left_choice"), CPEditorPanel::OnLeftChoiceChange) EVT_COMBOBOX(XRCID("cp_editor_right_choice")
CPEditorPanel::OnRightChoiceChange EVT_LIST_ITEM_SELECTED (XRCID("cp_editor_cp_list"), CPEditorPanel::OnCPListSelect) EVT_LIST_ITEM_DESELECTED(XRCID("cp_editor_cp_list")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect 
EVT_LIST_COL_END_DRAG (XRCID("cp_editor_cp_list"), CPEditorPanel::OnColumnWidthChange) EVT_CHOICE(XRCID("cp_editor_choice_zoom")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect
CPEditorPanel::OnZoom 
EVT_TEXT_ENTER (XRCID("cp_editor_x1"), CPEditorPanel::OnTextPointChange) EVT_TEXT_ENTER(XRCID("cp_editor_y1")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect
CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange 
EVT_TEXT_ENTER (XRCID("cp_editor_x2"), CPEditorPanel::OnTextPointChange) EVT_TEXT_ENTER(XRCID("cp_editor_y2")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect
CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange
CPEditorPanel::OnTextPointChange 
EVT_CHOICE (XRCID("cp_editor_mode"), CPEditorPanel::OnTextPointChange) EVT_BUTTON(XRCID("cp_editor_delete")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect
CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange
CPEditorPanel::OnTextPointChange
CPEditorPanel::OnDeleteButton 
EVT_BUTTON (XRCID("cp_editor_add"), CPEditorPanel::OnAddButton) EVT_BUTTON(XRCID("cp_editor_previous_img")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect
CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange
CPEditorPanel::OnTextPointChange
CPEditorPanel::OnDeleteButton
CPEditorPanel::OnPrevImg 
EVT_BUTTON (XRCID("cp_editor_next_img"), CPEditorPanel::OnNextImg) EVT_BUTTON(XRCID("cp_editor_finetune_button")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect
CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange
CPEditorPanel::OnTextPointChange
CPEditorPanel::OnDeleteButton
CPEditorPanel::OnPrevImg CPEditorPanel::OnFineTuneButton 
EVT_BUTTON (XRCID("cp_editor_action_button"), CPEditorPanel::OnActionButton) EVT_MENU(XRCID("cp_menu_create_cp")
CPEditorPanel::OnRightChoiceChange
CPEditorPanel::OnCPListDeselect
CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange
CPEditorPanel::OnTextPointChange
CPEditorPanel::OnDeleteButton
CPEditorPanel::OnPrevImg CPEditorPanel::OnFineTuneButton
CPEditorPanel::OnActionSelectCreate 
EVT_MENU (XRCID("cp_menu_celeste"), CPEditorPanel::OnActionSelectCeleste) EVT_MENU(XRCID("cp_menu_clean_cp")
SrcPanoImage GetImageRotatedTo (const SrcPanoImage &img, const vigra::Diff2D &point, int testWidth, double &neededHFOV)
CorrelationResult PointFineTuneProjectionAware (const SrcPanoImage &templ, const vigra::UInt8RGBImage &templImg, vigra::Diff2D templPos, int templSize, const SrcPanoImage &search, const vigra::UInt8RGBImage &searchImg, vigra::Diff2D searchPos, int sWidth)
 function for fine-tune with remapping to stereographic projection


Detailed Description

implementation of CPEditorPanel Class

Author:
Pablo d'Angelo <pablo.dangelo@web.de>
$Id$

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this software. If not, see <http://www.gnu.org/licenses/>.

Definition in file CPEditorPanel.cpp.


Function Documentation

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange CPEditorPanel::OnTextPointChange CPEditorPanel::OnDeleteButton CPEditorPanel::OnPrevImg CPEditorPanel::OnFineTuneButton EVT_BUTTON ( XRCID("cp_editor_action_button")  ,
CPEditorPanel::OnActionButton   
)

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange CPEditorPanel::OnTextPointChange CPEditorPanel::OnDeleteButton CPEditorPanel::OnPrevImg EVT_BUTTON ( XRCID("cp_editor_next_img")  ,
CPEditorPanel::OnNextImg   
)

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange CPEditorPanel::OnTextPointChange CPEditorPanel::OnDeleteButton EVT_BUTTON ( XRCID("cp_editor_add")  ,
CPEditorPanel::OnAddButton   
)

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange CPEditorPanel::OnTextPointChange EVT_CHOICE ( XRCID("cp_editor_mode")  ,
CPEditorPanel::OnTextPointChange   
)

EVT_COMBOBOX ( XRCID("cp_editor_left_choice")  ,
CPEditorPanel::OnLeftChoiceChange   
)

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect EVT_LIST_COL_END_DRAG ( XRCID("cp_editor_cp_list")  ,
CPEditorPanel::OnColumnWidthChange   
)

CPEditorPanel::OnRightChoiceChange EVT_LIST_ITEM_SELECTED ( XRCID("cp_editor_cp_list")  ,
CPEditorPanel::OnCPListSelect   
)

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange CPEditorPanel::OnTextPointChange CPEditorPanel::OnDeleteButton CPEditorPanel::OnPrevImg CPEditorPanel::OnFineTuneButton CPEditorPanel::OnActionSelectCreate EVT_MENU ( XRCID("cp_menu_celeste")  ,
CPEditorPanel::OnActionSelectCeleste   
)

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect CPEditorPanel::OnZoom CPEditorPanel::OnTextPointChange EVT_TEXT_ENTER ( XRCID("cp_editor_x2")  ,
CPEditorPanel::OnTextPointChange   
)

CPEditorPanel::OnRightChoiceChange CPEditorPanel::OnCPListDeselect CPEditorPanel::OnZoom EVT_TEXT_ENTER ( XRCID("cp_editor_x1")  ,
CPEditorPanel::OnTextPointChange   
)

SrcPanoImage GetImageRotatedTo ( const SrcPanoImage img,
const vigra::Diff2D &  point,
int  testWidth,
double &  neededHFOV 
)

Definition at line 909 of file CPEditorPanel.cpp.

References HuginBase::PTools::Transform::createInvTransform(), DEG_TO_RAD, HuginBase::PanoramaOptions::EQUIRECTANGULAR, Matrix3::GetRotationPT(), RAD_TO_DEG, HuginBase::PanoramaOptions::setHeight(), HuginBase::PanoramaOptions::setHFOV(), HuginBase::BaseSrcPanoImage::setHFOV(), HuginBase::BaseSrcPanoImage::setPitch(), HuginBase::PanoramaOptions::setProjection(), HuginBase::BaseSrcPanoImage::setProjection(), HuginBase::BaseSrcPanoImage::setRoll(), Matrix3::SetRotationPT(), HuginBase::SrcPanoImage::setSize(), HuginBase::PanoramaOptions::setWidth(), HuginBase::BaseSrcPanoImage::setYaw(), and HuginBase::PTools::Transform::transformImgCoord().

Referenced by PointFineTuneProjectionAware().

CorrelationResult PointFineTuneProjectionAware ( const SrcPanoImage templ,
const vigra::UInt8RGBImage &  templImg,
vigra::Diff2D  templPos,
int  templSize,
const SrcPanoImage search,
const vigra::UInt8RGBImage &  searchImg,
vigra::Diff2D  searchPos,
int  sWidth 
)

function for fine-tune with remapping to stereographic projection

Definition at line 991 of file CPEditorPanel.cpp.

References HuginBase::CalculateOptimalScale::calcOptimalPanoScale(), vigra_ext::CorrelationResult::corrPos, HuginBase::PTools::Transform::createInvTransform(), HuginBase::PTools::Transform::createTransform(), DEG_TO_RAD, vigra_ext::destImage(), vigra_ext::destImageRange(), GetImageRotatedTo(), HuginBase::PanoramaOptions::getSize(), HuginBase::PanoramaOptions::getWidth(), HUGIN_FT_ROTATION_SEARCH, HUGIN_FT_ROTATION_START_ANGLE, HUGIN_FT_ROTATION_STEPS, HUGIN_FT_ROTATION_STOP_ANGLE, vigra_ext::INTERP_CUBIC, celeste::max(), vigra_ext::CorrelationResult::maxpos, celeste::min(), vigra_ext::PointFineTune(), vigra_ext::PointFineTuneRotSearch(), hugin_utils::roundi(), HuginBase::PanoramaOptions::setHeight(), HuginBase::PanoramaOptions::setHFOV(), HuginBase::PanoramaOptions::setProjection(), HuginBase::PanoramaOptions::setWidth(), vigra_ext::srcImageRange(), HuginBase::PanoramaOptions::STEREOGRAPHIC, vigra_ext::transformImage(), and HuginBase::PTools::Transform::transformImgCoord().

Referenced by MainFrame::OnFineTuneAll().


Generated on 4 Aug 2015 for Hugintrunk by  doxygen 1.4.7