Hugintrunk
0.1
|
class to work with images graphs created from a HuginBase::Panorama class it creates a graph based on control points and linked images positions and provides function to work with it More...
#include <ImageGraph.h>
Public Types | |
typedef std::vector < HuginBase::UIntSet > | GraphList |
stores adjacency list for graph More... | |
typedef std::vector < HuginBase::UIntSet > | Components |
stores the components of the graph More... | |
Public Member Functions | |
ImageGraph (const HuginBase::PanoramaData &pano, bool ignoreLinkedPosition=false) | |
constructor, build internal representation of graph More... | |
ImageGraph (const HuginBase::CalculateImageOverlap &overlap) | |
constructor, build graph from overlap More... | |
Components | GetComponents () |
find all connected components More... | |
bool | IsConnected () |
check if all images are connected More... | |
void | VisitAllImages (const size_t startImg, bool forceAllComponents, BreadthFirstSearchVisitor *visitor) |
visit all images via a breadth first search algorithm for each visited images, the functor visitor is called with HuginBase::UIntSet which contains all neighbors in the graph More... | |
Private Attributes | |
GraphList | m_graph |
class to work with images graphs created from a HuginBase::Panorama class it creates a graph based on control points and linked images positions and provides function to work with it
Definition at line 44 of file ImageGraph.h.
typedef std::vector<HuginBase::UIntSet> HuginGraph::ImageGraph::Components |
stores the components of the graph
Definition at line 50 of file ImageGraph.h.
typedef std::vector<HuginBase::UIntSet> HuginGraph::ImageGraph::GraphList |
stores adjacency list for graph
Definition at line 48 of file ImageGraph.h.
HuginGraph::ImageGraph::ImageGraph | ( | const HuginBase::PanoramaData & | pano, |
bool | ignoreLinkedPosition = false |
||
) |
constructor, build internal representation of graph
Definition at line 33 of file ImageGraph.cpp.
References HuginBase::PanoramaData::getCtrlPoints(), HuginBase::PanoramaData::getImage(), HuginBase::PanoramaData::getNrOfImages(), m_graph, and HuginBase::ControlPoint::X_Y.
HuginGraph::ImageGraph::ImageGraph | ( | const HuginBase::CalculateImageOverlap & | overlap | ) |
constructor, build graph from overlap
Definition at line 70 of file ImageGraph.cpp.
References HuginBase::CalculateImageOverlap::getNrOfImages(), HuginBase::CalculateImageOverlap::getOverlap(), and m_graph.
ImageGraph::Components HuginGraph::ImageGraph::GetComponents | ( | ) |
find all connected components
Definition at line 101 of file ImageGraph.cpp.
References m_graph.
Referenced by AutoPanoSiftMultiRow::automatch(), main(), PanoDetector::matchMultiRow(), DragTool::MouseButtonEvent(), GLPreviewFrame::panoramaChanged(), and MainFrame::RunAssistant().
bool HuginGraph::ImageGraph::IsConnected | ( | ) |
check if all images are connected
Definition at line 128 of file ImageGraph.cpp.
References HuginGraph::DepthFirstSearch(), and m_graph.
Referenced by AutoPanoSiftMultiRow::automatch(), HuginQueue::GetAssistantCommandQueue(), HuginQueue::GetAssistantCommandQueueUserDefined(), PanoOperation::CleanControlPointsOperation::GetInternalCommand(), main(), and PanoDetector::matchMultiRow().
void HuginGraph::ImageGraph::VisitAllImages | ( | const size_t | startImg, |
bool | forceAllComponents, | ||
BreadthFirstSearchVisitor * | visitor | ||
) |
visit all images via a breadth first search algorithm for each visited images, the functor visitor is called with HuginBase::UIntSet which contains all neighbors in the graph
forceAllComponents | if true all images are visited, if false only the images connected with startImg are visited |
Definition at line 176 of file ImageGraph.cpp.
References HuginGraph::BreadthFirstSearchVisit(), and m_graph.
Referenced by HuginBase::AutoOptimise::autoOptimise(), and HuginBase::getEstimatedBlendingOrder().
|
private |
Definition at line 73 of file ImageGraph.h.
Referenced by GetComponents(), ImageGraph(), IsConnected(), and VisitAllImages().