22 #ifndef __detectpano_panodetector_h
23 #define __detectpano_panodetector_h
25 #include <hugin_config.h>
38 #include <flann/flann.hpp>
73 bool match(std::vector<HuginBase::UIntSet> &checkedPairs);
494 #endif // __detectpano_panodetector_h
std::map< int, ImgData > ImgData_t
int getLinearMatchLen() const
int getSieve2Width() const
void setSieve2Height(int iHeight)
std::vector< std::string > FileNameList_t
int getRansacIterations() const
SizeMode GetSizeMode() const
int getSieve2Size() const
std::vector< PointMatchPtr > PointMatchVector_t
MatchingStrategy _matchingStrategy
vigra::BImage _distancemap
void setVerbose(int level)
MatchingStrategy getMatchingStrategy() const
std::vector< KeyPointPtr > KeyPointVect_t
HuginBase::RANSACOptimizer::Mode getRansacMode()
void setMatchingStrategy(MatchingStrategy iMatchStrategy)
HuginBase::Panorama * getPanoramaInfo() const
void setSieve1Height(int iHeight)
void setCores(int iCores)
int getMinimumMatches() const
void setCached(bool iCached)
void SetSizeMode(const SizeMode newSizeMode)
static bool LoadKeypoints(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
void setKDTreeSecondDistance(double iDist)
static bool MakeKeyPointDescriptorsInImage(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
static int ptProgress(int command, char *argument)
HuginBase::PanoramaOptions _projOpts
void setCleanup(bool iCleanup)
std::vector< MatchData >::iterator MatchDataIt_t
KDTreeSpace::KDTree< KDElemKeyPoint, double > KPKDTree
bool matchPrealigned(HuginBase::Panorama *pano, std::vector< HuginBase::UIntSet > &connectedImages, std::vector< size_t > imgMap, bool exactOverlap=true)
does only matches image pairs which overlaps and don't have control points
std::vector< int > getKeyPointsIdx() const
bool getWriteAllKeyPoints() const
void setSieve2Width(int iWidth)
void setDownscale(bool iDown)
std::set< unsigned int > UIntSet
static bool RansacMatchesInPairCam(MatchData &ioMatchData, const PanoDetector &iPanoDetector)
static bool FilterKeyPointsInImage(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
void setSieve1Size(int iSize)
int getSieve1Height() const
std::vector< HuginBase::UIntVector > _image_stacks
vector with image numbers of all stacks, contains only the unlinked stacks
void setLinearMatchLen(int iLen)
int getSieve1Size() const
void buildMultiRowImageSets()
search for image layer and image stacks for the multirow matching step
void setKeyPointsIdx(std::vector< int > keyPointsIdx)
std::vector< std::string >::iterator FileNameListIt_t
void setKDTreeSearchSteps(int iSteps)
std::set< std::string > _cpsHashSet
static bool FindMatchesInPair(MatchData &ioMatchData, const PanoDetector &iPanoDetector)
void setSieve1Width(int iWidth)
double _kdTreeSecondDistance
std::shared_ptr< KPKDTree > KPKDTreePtr
static bool RansacMatchesInPair(MatchData &ioMatchData, const PanoDetector &iPanoDetector)
HuginBase::UIntSet _image_layer
image set contains only the images with the median exposure of each stack
MatchingStrategy
for selecting matching strategy
static bool RemapBackKeypoints(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
bool match(std::vector< HuginBase::UIntSet > &checkedPairs)
std::map< int, ImgData >::iterator ImgDataIt_t
bool NeedsRemapping() const
static bool FreeMemoryInImage(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
!! from PTOptimise.h 1951
void setCelesteThreshold(double iCelesteThreshold)
lfeat::PointMatchVector_t _matches
SizeMode
enumeration of different detection modes
flann::Matrix< double > _flann_descriptors
void setOutputFile(const std::string &outputFile)
void setSieve2Size(int iSize)
HuginBase::Panorama _panoramaInfoCopy
struct celeste::svm_model * svmModel
HuginBase::RANSACOptimizer::Mode _ransacMode
lfeat::KeyPointDetector KeyPointDetector
int getKDTreeSearchSteps() const
static bool FilterMatchesInPair(MatchData &ioMatchData, const PanoDetector &iPanoDetector)
lfeat::KeyPointVect_t _kp
static bool AnalyzeImage(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
bool getDownscale() const
void setRansacDistanceThreshold(int iDT)
void setWriteAllKeyPoints(bool writeAllKeyPoints=true)
flann::Index< flann::L2< double > > * _flann_index
double getCelesteThreshold() const
int getSieve2Height() const
double getKDTreeSecondDistance() const
void setCelesteRadius(int iCelesteRadius)
static int ptinfoDlg(int command, char *argument)
HuginBase::Panorama * _panoramaInfo
int getCelesteRadius() const
void writeKeyfile(ImgData &imgInfo)
void setMinimumMatches(int iMatches)
std::vector< int > _keyPointsIdx
int getSieve1Width() const
std::string getKeyfilenameFor(std::string keyfilesPath, std::string filename)
returns the filename for the keyfile for a given image
void setRansacIterations(int iIters)
PanoDetector & operator=(const PanoDetector &)
void setKeyfilesPath(const std::string &keypath)
void setInputFile(const std::string &inputFile)
std::vector< MatchData > MatchData_t
void setCeleste(bool iCeleste)
static bool FindKeyPointsInImage(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
void setRansacMode(HuginBase::RANSACOptimizer::Mode mode)
static bool BuildKDTreesInImage(ImgData &ioImgInfo, const PanoDetector &iPanoDetector)
static bool RansacMatchesInPairHomography(MatchData &ioMatchData, const PanoDetector &iPanoDetector)
int getRansacDistanceThreshold() const