49 for (
unsigned int image1=0; image1<
nrImg-1; image1++)
52 for (
unsigned int image2=image1+1; image2<
nrImg; image2++)
55 if(img.YawisLinkedWith(pano.
getImage(image2)))
68 for (CPVector::const_iterator
it =
cpl.begin();
it !=
cpl.end(); ++
it)
78 std::set<std::string>
imgopt;
90 double min,max,
mean,var;
102 if((
it->image1Nr==image1 &&
it->image2Nr==image2) ||
103 (
it->image1Nr==image2 &&
it->image2Nr==image1))
149 double min,max,
mean,var;
160 unsigned int index=0;
192 for(
unsigned int i=0;
i<
cpList.size();
i++)
algorithms for remove control points by statistic method
!! from PTOptimise.h 1951
static void calcCtrlPntsErrorStats(const PanoramaData &pano, double &min, double &max, double &mean, double &var, const int &imgNr=-1, const bool onlyActive=false, const bool ignoreLineCp=false)
represents a control point
void setProjection(ProjectionFormat f)
set the Projection format and adjust the hfov/vfov if nessecary
const SrcPanoImage & getImage(std::size_t nr) const
get a panorama image, counting starts with 0
const PanoramaOptions & getOptions() const
returns the options for this panorama
void setOptimizeVector(const OptimizeVector &optvec)
set optimize setting
void setCtrlPoints(const CPVector &points)
set all control points (Ippei: Is this supposed to be 'add' method?)
std::size_t getNrOfCtrlPoints() const
number of control points
void setOptions(const PanoramaOptions &opt)
set new output settings This is not used directly for optimizing/stiching, but it can be feed into ru...
const CPVector & getCtrlPoints() const
get all control point of this Panorama
Panorama getSubset(const UIntSet &imgs) const
get a subset of the panorama
std::size_t getNrOfImages() const
number of images.
static void smartOptimize(PanoramaData &pano)
All variables of a source image.
bool isInside(vigra::Point2D p, bool ignoreMasks=false) const
check if a coordinate is inside the source image
mainly consists of wrapper around the pano tools library, to assist in ressource management and to pr...
std::vector< MaskPolygon > MaskPolygonVector
UIntSet getCPoutsideLimit(Panorama pano, double n, bool skipOptimisation, bool includeLineCp)
optimises the whole panorama and removes all control points with error > mean+n*sigma
std::vector< ControlPoint > CPVector
std::vector< std::set< std::string > > OptimizeVector
UIntSet getCPoutsideLimit_pair(Panorama pano, AppBase::ProgressDisplay &progress, double n)
optimises images pairwise and removes for every image pair control points with error > mean+n*sigma
UIntSet getCPinMasks(HuginBase::Panorama pano)
returns these control points, which are in masks
std::set< unsigned int > UIntSet
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.