24#ifndef _CPEDITORPANEL_H
25#define _CPEDITORPANEL_H
161 void OnZoom(wxCommandEvent & e);
187 const vigra::Diff2D &
srcPnt,
vigra_ext::CorrelationResult PointFineTuneProjectionAware(const HuginBase::SrcPanoImage &templ, const vigra::UInt8RGBImage &templImg, vigra::Diff2D templPos, int templSize, const HuginBase::SrcPanoImage &search, const vigra::UInt8RGBImage &searchImg, vigra::Diff2D searchPos, int sWidth)
function for fine-tune with remapping to stereographic projection
Definition of CPImagesComboBox and CPImagesComboBoxXmlHandler class.
virtual bool CanHandle(wxXmlNode *node)
CPEditorPanelXmlHandler()
virtual wxObject * DoCreateResource()
control point editor panel.
CPImageCtrl::ImageRotation m_leftRot
HuginBase::PTools::Transform m_leftTransform
void SelectGlobalPoint(unsigned int globalNr)
Select a point.
wxChoice * m_cpModeChoice
bool globalPNr2LocalPNr(unsigned int &localNr, unsigned int globalNr) const
map a global point nr to a local one, if possible
wxCheckBox * m_showLinesCB
void OnPrevImg(wxCommandEvent &e)
void OnDeleteButton(wxCommandEvent &e)
void OnZoom(wxCommandEvent &e)
hugin_utils::FDiff2D LocalFineTunePoint(unsigned int srcNr, const vigra::Diff2D &srcPnt, hugin_utils::FDiff2D &movedSrcPnt, unsigned int moveNr, const hugin_utils::FDiff2D &movePnt)
void estimateAndAddOtherPoint(const hugin_utils::FDiff2D &p, bool left, CPImageCtrl *thisImg, unsigned int thisImgNr, CPCreationState THIS_POINT, CPCreationState THIS_POINT_RETRY, CPImageCtrl *otherImg, unsigned int otherImgNr, CPCreationState OTHER_POINT, CPCreationState OTHER_POINT_RETRY)
estimate and set point in other image
void OnActionSelectCleanCP(wxCommandEvent &e)
void CreateNewPoint()
this is used to finally create the point in the panorama model
void OnFineTuneButton(wxCommandEvent &e)
HuginBase::PTools::Transform m_leftInvTransform
CPTabActionButtonMode m_cpActionButtonMode
CPImagesComboBox * m_leftChoice
wxCheckBox * m_fineTuneCB
void OnActionButton(wxCommandEvent &e)
void OnShowLinesCheckbox(wxCommandEvent &e)
void OnKey(wxKeyEvent &e)
void OnCPListSelect(wxListEvent &e)
CPCreationState
the state machine for point selection: it is set to the current selection
@ BOTH_POINTS_SELECTED
left and right point selected, waiting for add point.
@ LEFT_POINT
point in left image selected
@ LEFT_POINT_RETRY
right point, finetune for left point failed
@ RIGHT_POINT
selected point in right image
@ RIGHT_POINT_RETRY
point in left image selected, finetune failed in right image
@ NO_POINT
no point selected
void UpdateTransforms()
updated the internal transform object for drawing line in controls
void OnCreateCPButton(wxCommandEvent &e)
virtual ~CPEditorPanel()
dtor.
hugin_utils::FDiff2D EstimatePoint(const hugin_utils::FDiff2D &p, bool left)
Estimate position of point in the other image.
void FineTuneNewPoint(bool left)
void setRightImage(unsigned int imgNr)
set right image
void panoramaImagesChanged(HuginBase::Panorama &pano, const HuginBase::UIntSet &imgNr)
notifies about changes to images
HuginBase::PTools::Transform m_rightTransform
void UpdateDisplay(bool newImages)
updates the display after another image has been selected.
void OnColumnWidthChange(wxListEvent &e)
unsigned int m_rightImageNr
wxCheckBox * m_estimateCB
CPScrollHint m_scrollHint
void Init(HuginBase::Panorama *pano)
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 SortList()
sorting functions
void OnNextImg(wxCommandEvent &e)
void FineTuneSelectedPoint(bool left)
void OnActionContextMenu(wxContextMenuEvent &e)
HuginBase::Panorama * m_pano
HuginBase::PTools::Transform m_leftInvTransformMag
HuginBase::PTools::Transform m_rightInvTransform
void OnActionSelectCeleste(wxCommandEvent &e)
void OnActionSelectCreate(wxCommandEvent &e)
unsigned int m_selectedPoint
void panoramaChanged(HuginBase::Panorama &pano)
called when the panorama changes and we should update our display
HuginBase::PTools::Transform m_rightInvTransformMag
bool PointFineTune(unsigned int tmplImgNr, const vigra::Diff2D &tmplPoint, int tmplWidth, unsigned int subjImgNr, const hugin_utils::FDiff2D &subjPoint, int searchWidth, vigra_ext::CorrelationResult &tunedPos)
search for region in destImg
void SelectLocalPoint(unsigned int LVpointNr, bool scrollLeft=true, bool scrollRight=true)
select a local point.
wxButton * m_prevImgButton
void OnLeftChoiceChange(wxCommandEvent &e)
const float getVerticalCPBias()
CPCreationState cpCreationState
void OnCelesteButton(wxCommandEvent &e)
void OnColumnHeaderClick(wxListEvent &e)
void EnablePointEdit(bool state)
enable or disable controls for editing other points
wxMenu * m_cpActionContextMenu
void setLeftImage(unsigned int imgNr)
set left image
void SetPano(HuginBase::Panorama *panorama)
void changeState(CPCreationState newState)
void OnCleanCPButton(wxCommandEvent &e)
wxButton * m_finetuneButton
std::set< unsigned int > mirroredPoints
void OnTextPointChange(wxCommandEvent &e)
void OnRightChoiceChange(wxCommandEvent &e)
wxString m_currentCPDetector
wxButton * m_nextImgButton
CPImageCtrl::ImageRotation GetRot(double yaw, double roll, double pitch)
calculate rotation required for upright image display from roll, pitch and yaw angles
unsigned int m_leftImageNr
bool m_listenToPageChange
CPImageCtrl::ImageRotation m_rightRot
void NewPointChange(hugin_utils::FDiff2D p, bool left)
wxButton * m_actionButton
void ClearSelection()
unselect a point
double m_detailZoomFactor
HuginBase::PTools::Transform m_rightTransformMag
void OnCPListDeselect(wxListEvent &e)
void OnCPEvent(CPEvent &ev)
unsigned int localPNr2GlobalPNr(unsigned int localNr) const
find a local point
void OnAddButton(wxCommandEvent &e)
CPImagesComboBox * m_rightChoice
void ShowControlPoint(unsigned int cpNr)
show a control point
HuginBase::PTools::Transform m_leftTransformMag
HuginBase::CPointVector currentPoints
Events to notify about new point / region / point change.
ImageRotation
image rotation.
Owner Drawn ComboBox for showing connected images on CP tab.
this handler class will receive change events from the Panorama.
All variables of a source image.
std::vector< CPoint > CPointVector
std::set< unsigned int > UIntSet
Implementation of fast vector type with support of linear algebra operations Copyright (C) 2009 Lukáš...
Maximum of correlation, position and value.
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.