|
Hugin trunk 0.1
|
#include <PanoDetector.h>
Classes | |
| struct | ImgData |
| struct | MatchData |
Public Types | |
| enum | MatchingStrategy { ALLPAIRS =0 , LINEAR , MULTIROW , PREALIGNED } |
| for selecting matching strategy More... | |
| typedef std::vector< std::string > | FileNameList_t |
| typedef std::vector< std::string >::iterator | FileNameListIt_t |
| typedef KDTreeSpace::KDTree< KDElemKeyPoint, double > | KPKDTree |
| typedef std::shared_ptr< KPKDTree > | KPKDTreePtr |
| typedef lfeat::KeyPointDetector | KeyPointDetector |
| typedef std::map< int, ImgData > | ImgData_t |
| typedef std::map< int, ImgData >::iterator | ImgDataIt_t |
| typedef std::vector< MatchData > | MatchData_t |
| typedef std::vector< MatchData >::iterator | MatchDataIt_t |
Private Member Functions | |
| PanoDetector (const PanoDetector &) | |
| PanoDetector & | operator= (const PanoDetector &) |
| void | buildMultiRowImageSets () |
| search for image layer and image stacks for the multirow matching step | |
| bool | loadProject () |
| bool | checkLoadSuccess () |
| void | CleanupKeyfiles () |
| void | writeOutput () |
| void | writeKeyfile (ImgData &imgInfo) |
| bool | LoadSVMModel () |
Definition at line 46 of file PanoDetector.h.
| typedef std::vector<std::string> PanoDetector::FileNameList_t |
Definition at line 49 of file PanoDetector.h.
| typedef std::vector<std::string>::iterator PanoDetector::FileNameListIt_t |
Definition at line 50 of file PanoDetector.h.
| typedef std::map<int, ImgData> PanoDetector::ImgData_t |
Definition at line 445 of file PanoDetector.h.
| typedef std::map<int,ImgData>::iterator PanoDetector::ImgDataIt_t |
Definition at line 446 of file PanoDetector.h.
Definition at line 54 of file PanoDetector.h.
Definition at line 51 of file PanoDetector.h.
| typedef std::shared_ptr<KPKDTree> PanoDetector::KPKDTreePtr |
Definition at line 52 of file PanoDetector.h.
| typedef std::vector<MatchData> PanoDetector::MatchData_t |
Definition at line 455 of file PanoDetector.h.
| typedef std::vector<MatchData>::iterator PanoDetector::MatchDataIt_t |
Definition at line 456 of file PanoDetector.h.
for selecting matching strategy
| Enumerator | |
|---|---|
| ALLPAIRS | |
| LINEAR | |
| MULTIROW | |
| PREALIGNED | |
Definition at line 57 of file PanoDetector.h.
| PanoDetector::PanoDetector | ( | ) |
Definition at line 101 of file PanoDetector.cpp.
References _panoramaInfo.
| PanoDetector::~PanoDetector | ( | ) |
Definition at line 115 of file PanoDetector.cpp.
References _panoramaInfo.
|
private |
|
static |
Definition at line 260 of file PanoDetectorLogic.cpp.
References HuginBase::Color::ApplyICCProfile(), vigra_ext::applyMapping(), celeste::getCelesteMask(), vigra_ext::getMaxValForPixelType(), HandleDownscaleImage(), vigra::importImageAlpha(), RemapImage(), HuginBase::BaseSrcPanoImage::RESPONSE_LINEAR, threshold(), TRACE_IMG, and TRACE_INFO.
Referenced by ImgDataRunnable::run(), and WriteKeyPointsRunnable::run().
|
static |
Definition at line 851 of file PanoDetectorLogic.cpp.
References threshold(), and TRACE_IMG.
Referenced by ImgDataRunnable::run(), and LoadKeypointsDataRunnable::run().
|
private |
search for image layer and image stacks for the multirow matching step
Definition at line 918 of file PanoDetector.cpp.
References _image_layer, _image_stacks, _panoramaInfo, HuginBase::Panorama::getImage(), HuginBase::getSortedStacks(), and threshold().
Referenced by run().
| bool PanoDetector::checkData | ( | ) |
Definition at line 120 of file PanoDetector.cpp.
References _filesData, _linearMatchLen, and _test.
|
private |
Definition at line 882 of file PanoDetector.cpp.
References _filesData, _keyPointsIdx, and threshold().
Referenced by run().
|
private |
Definition at line 907 of file PanoDetector.cpp.
References _filesData, and threshold().
Referenced by run().
|
static |
Definition at line 733 of file PanoDetectorLogic.cpp.
References threshold(), and TRACE_IMG.
Referenced by ImgDataRunnable::run(), and WriteKeyPointsRunnable::run().
|
static |
Definition at line 1140 of file PanoDetectorLogic.cpp.
References set_contains(), threshold(), and TRACE_PAIR.
Referenced by MatchDataRunnable::run().
|
static |
Definition at line 717 of file PanoDetectorLogic.cpp.
References threshold(), and TRACE_IMG.
Referenced by ImgDataRunnable::run(), and WriteKeyPointsRunnable::run().
|
static |
Definition at line 887 of file PanoDetectorLogic.cpp.
References threshold(), and TRACE_PAIR.
Referenced by MatchDataRunnable::run().
|
static |
Definition at line 876 of file PanoDetectorLogic.cpp.
References threshold(), and TRACE_IMG.
Referenced by ImgDataRunnable::run(), and WriteKeyPointsRunnable::run().
|
inline |
Definition at line 260 of file PanoDetector.h.
References _cache.
|
inline |
Definition at line 276 of file PanoDetector.h.
References _celeste.
|
inline |
Definition at line 292 of file PanoDetector.h.
References _celesteRadius.
|
inline |
Definition at line 284 of file PanoDetector.h.
References _celesteThreshold.
|
inline |
Definition at line 268 of file PanoDetector.h.
References _cleanup.
|
inline |
Definition at line 237 of file PanoDetector.h.
References _downscale.
|
inline |
Definition at line 153 of file PanoDetector.h.
References _kdTreeSearchSteps.
|
inline |
Definition at line 157 of file PanoDetector.h.
References _kdTreeSecondDistance.
|
inline |
Definition at line 98 of file PanoDetector.h.
References _keyPointsIdx.
|
inline |
Definition at line 224 of file PanoDetector.h.
References _linearMatchLen.
|
inline |
Definition at line 232 of file PanoDetector.h.
References _matchingStrategy.
|
inline |
Definition at line 178 of file PanoDetector.h.
References _minimumMatches.
|
inline |
Definition at line 89 of file PanoDetector.h.
References _panoramaInfo.
|
inline |
Definition at line 186 of file PanoDetector.h.
References _ransacDistanceThres.
|
inline |
Definition at line 182 of file PanoDetector.h.
References _ransacIters.
|
inline |
Definition at line 190 of file PanoDetector.h.
References _ransacMode.
|
inline |
Definition at line 136 of file PanoDetector.h.
References _sieve1Height.
|
inline |
Definition at line 140 of file PanoDetector.h.
References _sieve1Size.
|
inline |
Definition at line 132 of file PanoDetector.h.
References _sieve1Width.
|
inline |
Definition at line 211 of file PanoDetector.h.
References _sieve2Height.
|
inline |
Definition at line 215 of file PanoDetector.h.
References _sieve2Size.
|
inline |
Definition at line 207 of file PanoDetector.h.
References _sieve2Width.
|
inline |
Definition at line 304 of file PanoDetector.h.
References _test.
|
inline |
Definition at line 115 of file PanoDetector.h.
References _verbose.
Referenced by matchMultiRow(), and run().
|
inline |
Definition at line 106 of file PanoDetector.h.
References _writeAllKeyPoints.
|
static |
Definition at line 97 of file PanoDetectorLogic.cpp.
References lfeat::ImageInfo::dimensions, lfeat::ImageInfo::filename, lfeat::ImageInfo::height, lfeat::loadKeypoints(), threshold(), TRACE_IMG, and lfeat::ImageInfo::width.
Referenced by LoadKeypointsDataRunnable::run().
|
private |
Definition at line 743 of file PanoDetector.cpp.
References _celeste, _cpsHashSet, _downscale, _filesData, _inputFile, _keypath, _panoramaInfo, _panoramaInfoCopy, _prefix, PanoDetector::ImgData::DOWNSCALED, HuginBase::Panorama::duplicate(), hugin_utils::FileExists(), HuginBase::BaseSrcPanoImage::FISHEYE_STEREOGRAPHIC, HuginBase::Panorama::getCtrlPoints(), getKeyfilenameFor(), HuginBase::Panorama::getNrOfImages(), hugin_utils::getPathPrefix(), HuginBase::Panorama::getSrcImage(), includeTrailingPathSep(), HuginBase::Panorama::ReadPTOFile(), PanoDetector::ImgData::REMAPPED, HuginBase::Panorama::setImage(), HuginBase::PanoramaOptions::STEREOGRAPHIC, threshold(), and HuginBase::Panorama::updateMasks().
Referenced by run().
|
private |
Definition at line 380 of file PanoDetector.cpp.
References hugin_utils::GetDataDir(), celeste::loadSVMmodel(), svmModel, and threshold().
Referenced by run().
|
static |
Definition at line 777 of file PanoDetectorLogic.cpp.
References threshold(), and TRACE_IMG.
Referenced by ImgDataRunnable::run(), and WriteKeyPointsRunnable::run().
| bool PanoDetector::match | ( | std::vector< HuginBase::UIntSet > & | checkedPairs | ) |
Definition at line 680 of file PanoDetector.cpp.
References _filesData, PanoDetector::MatchData::_i1, _linearMatchLen, PanoDetector::MatchData::_matches, _panoramaInfo, HuginBase::Panorama::addCtrlPoint(), getMatchingStrategy(), LINEAR, RunQueue(), set_contains(), threshold(), and TRACE_INFO.
Referenced by matchMultiRow(), and run().
| bool PanoDetector::matchMultiRow | ( | ) |
Definition at line 941 of file PanoDetector.cpp.
References _filesData, PanoDetector::MatchData::_i1, _image_layer, _image_stacks, PanoDetector::MatchData::_matches, _panoramaInfo, HuginBase::Panorama::addCtrlPoint(), HuginBase::AutoOptimise::autoOptimise(), HuginBase::CalculateOptimalScale::calcOptimalScale(), HuginBase::PanoramaOptions::EQUIRECTANGULAR, HuginBase::Panorama::getNrOfImages(), HuginBase::Panorama::getSubset(), getVerbose(), HuginBase::PanoramaOptions::getWidth(), map_get(), match(), matchPrealigned(), HuginBase::PTools::optimize(), HuginBase::PanoramaOptions::optimizeReferenceImage, ptinfoDlg(), ptProgress(), hugin_utils::roundi(), RunQueue(), set_contains(), HuginBase::PanoramaOptions::setHeight(), HuginBase::PanoramaOptions::setProjection(), HuginBase::PanoramaOptions::setWidth(), threshold(), TRACE_INFO, and HuginBase::ControlPoint::X_Y.
Referenced by run().
| bool PanoDetector::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
| aExecutor | executor for threading |
| pano | pano, which should be used for determing of overlap, can contain also less images than _panoramaInfo |
| connectedImages | contains a list of already connected or tested image pairs, which should be skipped |
| imgMap | map of image nr in partial pano and full panorama |
| exactOverlap | if true, only really overlapping image pairs are matched, if false it increases the hfov to take also narrow overlaps better into account |
Definition at line 1182 of file PanoDetector.cpp.
References _filesData, PanoDetector::MatchData::_i1, PanoDetector::MatchData::_matches, _panoramaInfo, HuginBase::Panorama::addCtrlPoint(), HuginBase::Panorama::duplicate(), HuginBase::Panorama::getVariables(), map_get(), HuginBase::BaseSrcPanoImage::RECTILINEAR, RunQueue(), set_contains(), threshold(), and TRACE_INFO.
Referenced by matchMultiRow(), and run().
|
private |
| void PanoDetector::printDetails | ( | ) |
Definition at line 142 of file PanoDetector.cpp.
References _cache, _celeste, _celesteRadius, _celesteThreshold, _cleanup, _downscale, _inputFile, _kdTreeSearchSteps, _kdTreeSecondDistance, _keypath, _keyPointsIdx, _linearMatchLen, _matchingStrategy, _minimumMatches, _outputFile, _ransacDistanceThres, _ransacIters, _ransacMode, _sieve1Height, _sieve1Size, _sieve1Width, _sieve2Height, _sieve2Size, _sieve2Width, _writeAllKeyPoints, ALLPAIRS, HuginBase::RANSACOptimizer::AUTO, HuginBase::RANSACOptimizer::HOMOGRAPHY, LINEAR, MULTIROW, PREALIGNED, HuginBase::RANSACOptimizer::RPY, HuginBase::RANSACOptimizer::RPYV, HuginBase::RANSACOptimizer::RPYVB, and threshold().
| void PanoDetector::printFilenames | ( | ) |
Definition at line 239 of file PanoDetector.cpp.
References _cache, _filesData, _keyPointsIdx, _panoramaInfo, _prefix, HuginBase::Panorama::getImage(), HuginBase::Panorama::getNrOfImages(), and threshold().
Referenced by run().
| void PanoDetector::printHelp | ( | ) |
|
static |
Definition at line 967 of file PanoDetectorLogic.cpp.
References HuginBase::RANSACOptimizer::AUTO, HuginBase::RANSACOptimizer::HOMOGRAPHY, RansacMatchesInPairCam(), RansacMatchesInPairHomography(), and threshold().
Referenced by MatchDataRunnable::run().
|
static |
Definition at line 984 of file PanoDetectorLogic.cpp.
References HuginBase::RANSACOptimizer::AUTO, HuginBase::RANSACOptimizer::findInliers(), HuginBase::PanoramaData::getNewSubset(), ptinfoDlg(), ptProgress(), HuginBase::RANSACOptimizer::RPY, threshold(), and TRACE_PAIR.
Referenced by RansacMatchesInPair().
|
static |
Definition at line 1089 of file PanoDetectorLogic.cpp.
References TestCode::drawRansacMatches(), lfeat::Ransac::setIterations(), threshold(), and TRACE_PAIR.
Referenced by RansacMatchesInPair().
|
static |
Definition at line 810 of file PanoDetectorLogic.cpp.
References HuginBase::PTools::Transform::createTransform(), threshold(), and TRACE_IMG.
Referenced by ImgDataRunnable::run(), and WriteKeyPointsRunnable::run().
| void PanoDetector::run | ( | ) |
Write output project
Definition at line 422 of file PanoDetector.cpp.
References _cache, _celeste, _cleanup, _cores, _filesData, _image_layer, _image_stacks, _keyPointsIdx, _outputFile, _outputGiven, _panoramaInfo, _verbose, _writeAllKeyPoints, ALLPAIRS, buildMultiRowImageSets(), checkLoadSuccess(), CleanupKeyfiles(), celeste::destroySVMmodel(), HuginBase::Panorama::getCtrlPoints(), getMatchingStrategy(), HuginBase::Panorama::getNrOfImages(), utils::GetPhysicalCPUCount(), utils::getTotalMemory(), getVerbose(), LINEAR, loadProject(), LoadSVMModel(), match(), matchMultiRow(), matchPrealigned(), MULTIROW, PREALIGNED, printFilenames(), RunQueue(), setCeleste(), setCores(), srandom, svmModel, threshold(), TRACE_INFO, writeKeyfile(), writeOutput(), and HuginBase::ControlPoint::X_Y.
Definition at line 264 of file PanoDetector.h.
References _cache, and threshold().
Definition at line 280 of file PanoDetector.h.
References _celeste, and threshold().
Referenced by run().
Definition at line 296 of file PanoDetector.h.
References _celesteRadius, and threshold().
Definition at line 288 of file PanoDetector.h.
References _celesteThreshold, and threshold().
Definition at line 272 of file PanoDetector.h.
References _cleanup, and threshold().
Definition at line 308 of file PanoDetector.h.
References _cores, and threshold().
Referenced by run().
Definition at line 241 of file PanoDetector.h.
References _downscale, and threshold().
Definition at line 252 of file PanoDetector.h.
References _inputFile, and threshold().
Definition at line 145 of file PanoDetector.h.
References _kdTreeSearchSteps, and threshold().
Definition at line 149 of file PanoDetector.h.
References _kdTreeSecondDistance, and threshold().
Definition at line 256 of file PanoDetector.h.
References _keypath, and threshold().
Definition at line 94 of file PanoDetector.h.
References _keyPointsIdx, and threshold().
Definition at line 220 of file PanoDetector.h.
References _linearMatchLen, and threshold().
|
inline |
Definition at line 228 of file PanoDetector.h.
References _matchingStrategy, and threshold().
Definition at line 162 of file PanoDetector.h.
References _minimumMatches, and threshold().
Definition at line 247 of file PanoDetector.h.
References _outputFile, _outputGiven, and threshold().
Definition at line 170 of file PanoDetector.h.
References _ransacDistanceThres, and threshold().
Definition at line 166 of file PanoDetector.h.
References _ransacIters, and threshold().
|
inline |
Definition at line 174 of file PanoDetector.h.
References _ransacMode.
Definition at line 124 of file PanoDetector.h.
References _sieve1Height, and threshold().
Definition at line 128 of file PanoDetector.h.
References _sieve1Size, and threshold().
Definition at line 120 of file PanoDetector.h.
References _sieve1Width, and threshold().
Definition at line 199 of file PanoDetector.h.
References _sieve2Height, and threshold().
Definition at line 203 of file PanoDetector.h.
References _sieve2Size, and threshold().
Definition at line 195 of file PanoDetector.h.
References _sieve2Width, and threshold().
Definition at line 300 of file PanoDetector.h.
References _test, and threshold().
Definition at line 111 of file PanoDetector.h.
References _verbose.
Definition at line 102 of file PanoDetector.h.
References _writeAllKeyPoints, and threshold().
Definition at line 1223 of file PanoDetectorLogic.cpp.
References _panoramaInfo, HuginBase::Panorama::getImage(), and threshold().
Referenced by run().
|
private |
Definition at line 1214 of file PanoDetectorLogic.cpp.
References _outputFile, _panoramaInfo, hugin_utils::getPathPrefix(), and HuginBase::Panorama::WritePTOFile().
Referenced by run().
|
private |
Definition at line 351 of file PanoDetector.h.
Referenced by getCached(), printDetails(), printFilenames(), run(), and setCached().
|
private |
Definition at line 353 of file PanoDetector.h.
Referenced by getCeleste(), loadProject(), printDetails(), run(), and setCeleste().
|
private |
Definition at line 355 of file PanoDetector.h.
Referenced by getCelesteRadius(), printDetails(), and setCelesteRadius().
|
private |
Definition at line 354 of file PanoDetector.h.
Referenced by getCelesteThreshold(), printDetails(), and setCelesteThreshold().
|
private |
Definition at line 352 of file PanoDetector.h.
Referenced by getCleanup(), printDetails(), run(), and setCleanup().
|
private |
Definition at line 349 of file PanoDetector.h.
Referenced by run(), and setCores().
|
private |
Definition at line 369 of file PanoDetector.h.
Referenced by loadProject().
|
private |
Definition at line 350 of file PanoDetector.h.
Referenced by getDownscale(), loadProject(), printDetails(), and setDownscale().
|
private |
Definition at line 477 of file PanoDetector.h.
Referenced by checkData(), checkLoadSuccess(), CleanupKeyfiles(), loadProject(), match(), matchMultiRow(), matchPrealigned(), printFilenames(), and run().
|
private |
image set contains only the images with the median exposure of each stack
Definition at line 375 of file PanoDetector.h.
Referenced by buildMultiRowImageSets(), matchMultiRow(), and run().
|
private |
vector with image numbers of all stacks, contains only the unlinked stacks
Definition at line 377 of file PanoDetector.h.
Referenced by buildMultiRowImageSets(), matchMultiRow(), and run().
|
private |
Definition at line 364 of file PanoDetector.h.
Referenced by loadProject(), printDetails(), and setInputFile().
|
private |
Definition at line 333 of file PanoDetector.h.
Referenced by getKDTreeSearchSteps(), printDetails(), and setKDTreeSearchSteps().
|
private |
Definition at line 334 of file PanoDetector.h.
Referenced by getKDTreeSecondDistance(), printDetails(), and setKDTreeSecondDistance().
|
private |
Definition at line 356 of file PanoDetector.h.
Referenced by loadProject(), printDetails(), and setKeyfilesPath().
|
private |
Definition at line 325 of file PanoDetector.h.
Referenced by checkLoadSuccess(), getKeyPointsIdx(), printDetails(), printFilenames(), run(), and setKeyPointsIdx().
|
private |
Definition at line 346 of file PanoDetector.h.
Referenced by checkData(), getLinearMatchLen(), match(), printDetails(), and setLinearMatchLen().
|
private |
Definition at line 345 of file PanoDetector.h.
Referenced by getMatchingStrategy(), printDetails(), and setMatchingStrategy().
|
private |
Definition at line 336 of file PanoDetector.h.
Referenced by getMinimumMatches(), printDetails(), and setMinimumMatches().
|
private |
Definition at line 362 of file PanoDetector.h.
Referenced by printDetails(), run(), setOutputFile(), and writeOutput().
|
private |
Definition at line 363 of file PanoDetector.h.
Referenced by run(), and setOutputFile().
|
private |
Definition at line 367 of file PanoDetector.h.
Referenced by buildMultiRowImageSets(), getPanoramaInfo(), loadProject(), match(), matchMultiRow(), matchPrealigned(), PanoDetector(), printFilenames(), run(), writeKeyfile(), writeOutput(), and ~PanoDetector().
|
private |
Definition at line 368 of file PanoDetector.h.
Referenced by loadProject().
|
private |
Definition at line 357 of file PanoDetector.h.
Referenced by loadProject(), and printFilenames().
|
private |
Definition at line 339 of file PanoDetector.h.
Referenced by getRansacDistanceThreshold(), printDetails(), and setRansacDistanceThreshold().
|
private |
Definition at line 338 of file PanoDetector.h.
Referenced by getRansacIterations(), printDetails(), and setRansacIterations().
|
private |
Definition at line 337 of file PanoDetector.h.
Referenced by getRansacMode(), printDetails(), and setRansacMode().
|
private |
Definition at line 330 of file PanoDetector.h.
Referenced by getSieve1Height(), printDetails(), and setSieve1Height().
|
private |
Definition at line 331 of file PanoDetector.h.
Referenced by getSieve1Size(), printDetails(), and setSieve1Size().
|
private |
Definition at line 329 of file PanoDetector.h.
Referenced by getSieve1Width(), printDetails(), and setSieve1Width().
|
private |
Definition at line 342 of file PanoDetector.h.
Referenced by getSieve2Height(), printDetails(), and setSieve2Height().
|
private |
Definition at line 343 of file PanoDetector.h.
Referenced by getSieve2Size(), printDetails(), and setSieve2Size().
|
private |
Definition at line 341 of file PanoDetector.h.
Referenced by getSieve2Width(), printDetails(), and setSieve2Width().
|
private |
Definition at line 348 of file PanoDetector.h.
Referenced by checkData(), getTest(), and setTest().
|
private |
Definition at line 327 of file PanoDetector.h.
Referenced by getVerbose(), run(), and setVerbose().
|
private |
Definition at line 324 of file PanoDetector.h.
Referenced by getWriteAllKeyPoints(), printDetails(), run(), and setWriteAllKeyPoints().
|
private |
Definition at line 478 of file PanoDetector.h.
Referenced by LoadSVMModel(), and run().