HuginBase Namespace Reference

mainly consists of wrapper around the pano tools library, to assist in ressource management and to provide a nicer interface. More...


Classes

class  AssistantMakefilelibExport
class  CalculateCPStatistics
 just some common implementation; probably not so useful More...
class  CalculateCPStatisticsError
class  CalculateCPStatisticsRadial
class  CalculateMeanExposure
class  CalculateOptimalROI
class  CalculateOptimalScale
class  SetWidthOptimal
class  CalculateImageOverlap
 class for calculating overlap of images More...
class  RotatePanorama
class  StraightenPanorama
class  TranslatePanorama
class  CalculateFOV
class  CenterHorizontally
class  ComputeImageROI
class  CalculateFitPanorama
class  FitPanorama
class  NonaFileOutputStitcher
 This class will use the stitchPanorama function of nona. More...
struct  OverlapSizeCounter
 count pixels that are > 0 in both images More...
class  PhotometricOptimizer
class  SmartPhotometricOptimizer
class  OptVarSpec
class  PTOptEstimator
 Estimator for RANSAC based adjustment of pairwise parameters. More...
class  PTOptimizer
class  RANSACOptimizer
 Pairwise ransac optimisation. More...
class  AutoOptimise
class  SmartOptimizerStub
class  SmartOptimise
class  PanoramaMakefilelibExport
class  PanoramaAlgorithm
class  TimeConsumingPanoramaAlgorithm
class  PointSampler
class  AllPointSampler
class  RandomPointSampler
class  StitcherAlgorithm
 Just a conceptual base class... More...
class  ImageStitcherAlgorithm
 stitch to file output More...
class  FileOutputStitcherAlgorithm
 stitch to file output More...
class  SmallRemappedImageCache
 class to cache remapped images, loaded from the hugin small image cache. More...
class  GetRange
class  ImageCache
 This is a cache for all the images we use. More...
class  PanoCommand
 Default panorama cmd, provides undo with mementos. More...
class  ControlPoint
 represents a control point More...
class  ImageVariable
 An ImageVariable stores a value that can be linked to other ImageVariables of the same type. More...
class  ConstImageVariableGroup
 An ImageVariableGroup is a collection of image variables that can have some shared variable values. More...
class  ImageVariableGroup
 Same as above, but use a non const panorama. More...
class  PTOVariableConverterNoOp
 Parent class to anything that aids conversion between PTO file variables and the image variables of SrcPanoImg. More...
class  PTOVariableConverterSingle
 Object to group conversion functions for PTO format variables of up to three characters representing a single variable in SrcPanoImg. More...
class  PTOVariableConverterVectorChar
 Object to group conversion functions for PTO format variables representing a std::vector variable in SrcPanoImg, using an identifying first character. More...
class  PTOVariableConverterVector
 Object to group conversion functions for PTO format variables representing a std::vector variable in SrcPanoImg, using characters stating from 'a'. More...
class  PTOVariableConverterFDiff2D
 Object to group conversion functions for PTO format variables representing a hugin_utils::FDiff2D variable in SrcPanoImg. More...
class  Lens
class  MaskPolygon
 base class, which stores one mask polygon More...
class  PanoramaMemento
 Memento class for a Panorama object. More...
class  Panorama
 Model for a panorama. More...
class  PanoramaData
 Model for a panorama. More...
class  PanoramaObserver
 this handler class will receive change events from the Panorama. More...
class  PanoramaDataMemento
 Memento class for a PanoramaData object. More...
class  ManagedPanoramaData
class  PanoramaOptions
 Panorama image options. More...
class  Variable
 a variable has a value and a name. More...
class  LinkedVariable
class  LensVariable
 A lens variable can be linked. More...
struct  PrintVar
 functor to print a variable. More...
class  BaseSrcPanoImage
 Base class containing all the variables, but missing some of the other important functions and with some daft accessors. More...
class  SrcPanoImage
 All variables of a source image. More...
class  ConstStandardImageVariableGroups
 Make an ImageVariableGroup for lenses and other common concepts. More...
class  StandardImageVariableGroups

Namespaces

namespace  LensDB
namespace  Nona
namespace  Photometric
namespace  PTools
namespace  PTScriptParsing

Typedefs

typedef boost::adjacency_list<
boost::vecS, boost::vecS,
boost::undirectedS, boost::property<
boost::vertex_color_t, boost::default_color_type > > 
CPGraph
 graph of images, connected with control points.
typedef std::vector< std::set<
unsigned > > 
CPComponents
 components in a control point graph
typedef boost::property< boost::edge_weight_t,
float > 
OverlapEdgeProperty
typedef boost::adjacency_list<
boost::vecS, boost::vecS,
boost::undirectedS, boost::property<
boost::vertex_color_t, boost::default_color_type >,
OverlapEdgeProperty
OverlapGraph
 A graph that contains all image as nodes (vertexes), overlaps are given by edges.
typedef std::vector< ControlPointCPVector
typedef std::pair< unsigned
int, ControlPoint
CPoint
typedef std::vector< CPointCPointVector
typedef PTOVariableConverterNoOp PTOVariableConverterForFilename
typedef PTOVariableConverterNoOp PTOVariableConverterForSize
typedef PTOVariableConverterNoOp PTOVariableConverterForProjection
typedef PTOVariableConverterSingle<
'v'> 
PTOVariableConverterForHFOV
typedef PTOVariableConverterNoOp PTOVariableConverterForResponseType
typedef PTOVariableConverterVectorChar<
'R', float, 5 > 
PTOVariableConverterForEMoRParams
typedef PTOVariableConverterSingle<
'E', 'e', 'v'> 
PTOVariableConverterForExposureValue
typedef PTOVariableConverterNoOp PTOVariableConverterForGamma
typedef PTOVariableConverterSingle<
'E', 'r'> 
PTOVariableConverterForWhiteBalanceRed
typedef PTOVariableConverterSingle<
'E', 'b'> 
PTOVariableConverterForWhiteBalanceBlue
typedef PTOVariableConverterSingle<
'r'> 
PTOVariableConverterForRoll
typedef PTOVariableConverterSingle<
'p'> 
PTOVariableConverterForPitch
typedef PTOVariableConverterSingle<
'y'> 
PTOVariableConverterForYaw
typedef PTOVariableConverterSingle<
'T','r','X'> 
PTOVariableConverterForX
typedef PTOVariableConverterSingle<
'T','r','Y'> 
PTOVariableConverterForY
typedef PTOVariableConverterSingle<
'T','r','Z'> 
PTOVariableConverterForZ
typedef PTOVariableConverterSingle<
'T','p','y'> 
PTOVariableConverterForTranslationPlaneYaw
typedef PTOVariableConverterSingle<
'T','p','p'> 
PTOVariableConverterForTranslationPlanePitch
typedef PTOVariableConverterSingle<
'j'> 
PTOVariableConverterForStack
typedef PTOVariableConverterVector<
double, 3 > 
PTOVariableConverterForRadialDistortion
typedef PTOVariableConverterNoOp PTOVariableConverterForRadialDistortionRed
typedef PTOVariableConverterNoOp PTOVariableConverterForRadialDistortionBlue
typedef PTOVariableConverterFDiff2D<
'd', 'e'> 
PTOVariableConverterForRadialDistortionCenterShift
typedef PTOVariableConverterFDiff2D<
'g', 't'> 
PTOVariableConverterForShear
typedef PTOVariableConverterNoOp PTOVariableConverterForCropMode
typedef PTOVariableConverterNoOp PTOVariableConverterForCropRect
typedef PTOVariableConverterNoOp PTOVariableConverterForAutoCenterCrop
typedef PTOVariableConverterNoOp PTOVariableConverterForFlatfieldFilename
typedef PTOVariableConverterNoOp PTOVariableConverterForVigCorrMode
typedef PTOVariableConverterVectorChar<
'V', double, 4 > 
PTOVariableConverterForRadialVigCorrCoeff
typedef PTOVariableConverterFDiff2D<
'V','V', 'x','y'> 
PTOVariableConverterForRadialVigCorrCenterShift
typedef PTOVariableConverterNoOp PTOVariableConverterForExifModel
typedef PTOVariableConverterNoOp PTOVariableConverterForExifMake
typedef PTOVariableConverterNoOp PTOVariableConverterForExifLens
typedef PTOVariableConverterNoOp PTOVariableConverterForExifCropFactor
typedef PTOVariableConverterNoOp PTOVariableConverterForExifFocalLength
typedef PTOVariableConverterNoOp PTOVariableConverterForExifOrientation
typedef PTOVariableConverterNoOp PTOVariableConverterForExifAperture
typedef PTOVariableConverterNoOp PTOVariableConverterForExifISO
typedef PTOVariableConverterNoOp PTOVariableConverterForExifDistance
typedef PTOVariableConverterNoOp PTOVariableConverterForExifFocalLength35
typedef PTOVariableConverterNoOp PTOVariableConverterForExifExposureTime
typedef PTOVariableConverterNoOp PTOVariableConverterForExifDate
typedef PTOVariableConverterNoOp PTOVariableConverterForExifExposureMode
typedef PTOVariableConverterNoOp PTOVariableConverterForMasks
typedef PTOVariableConverterNoOp PTOVariableConverterForActiveMasks
typedef PTOVariableConverterNoOp PTOVariableConverterForActive
typedef PTOVariableConverterNoOp PTOVariableConverterForLensNr
typedef std::vector< LensLensVector
typedef std::vector< FDiff2DVectorPolygon
 vector, which stores coordinates of one polygon
typedef std::vector< MaskPolygonMaskPolygonVector
typedef std::set< unsigned
int > 
UIntSet
typedef std::vector< unsigned
int > 
UIntVector
typedef std::map< std::string,
Variable
VariableMap
typedef std::vector< VariableMapVariableMapVector
typedef std::map< std::string,
LensVariable
LensVarMap
typedef std::vector< std::set<
std::string > > 
OptimizeVector
typedef std::vector< SrcPanoImageImageVector

Enumerations

enum  clipSide { clipLeft = 0, clipRight, clipTop, clipBottom }
enum  OptimizerSwitches {
  OPT_PAIR = 0x0001, OPT_POSITION = 0x0002, OPT_VIEW = 0x0004, OPT_BARREL = 0x0008,
  OPT_ALL = 0x0010, OPT_TRANSLATION = 0x0020, OPT_EXPOSURE = 0x0001, OPT_WHITEBALANCE = 0x0002,
  OPT_VIGNETTING = 0x0004, OPT_VIGNETTING_CENTER = 0x0008, OPT_RESPONSE = 0x0010
}
 defines all optimizer switches, they can be combined with OR More...

Functions

vector< UIntSetgetHDRStacks (const PanoramaData &pano, UIntSet allImgs, PanoramaOptions opts)
 returns vector of set of output stacks
vector< UIntSetgetExposureLayers (const PanoramaData &pano, UIntSet allImgs, PanoramaOptions opts)
 returns vector of set of output exposure layers
UIntSet getImagesinROI (const PanoramaData &pano, const UIntSet activeImages)
 returns set of images which are visible in output ROI
UIntSet getCPoutsideLimit_pair (Panorama pano, double n=2.0)
 optimises images pairwise and removes for every image pair control points with error > mean+n*sigma
UIntSet getCPoutsideLimit (Panorama pano, double n=2.0, bool skipOptimisation=false, bool includeLineCp=false)
 optimises the whole panorama and removes all control points with error > mean+n*sigma
UIntSet getCPinMasks (Panorama pano)
 returns these control points, which are in masks
template<class TRANSFORM>
void estimateImageRect (const SrcPanoImage &src, const PanoramaOptions &dest, TRANSFORM &transf, vigra::Rect2D &imgRect)
 calculate the outline of the image
template<class TRANSFORM>
void estimateImageAlpha (const SrcPanoImage &src, const PanoramaOptions &dest, TRANSFORM &transf, vigra::Rect2D &imgRect, vigra::BImage &alpha, double &scale)
vigra::Rect2D estimateOutputROI (const PanoramaData &pano, const PanoramaOptions &opts, unsigned i)
void createCPGraph (const PanoramaData &pano, CPGraph &graph)
 create a control point graph structure, with links representing one or more control points
int findCPComponents (const CPGraph &graph, CPComponents &comp)
void createOverlapGraph (const PanoramaData &pano, OverlapGraph &graph)
 create a graph with all overlaps, and a suitable blend order.
double weightHuber (double x, double sigma)
 expects the abs(error) values
static const makefile::string hdrgrayRemappedExt ("_gray.pgm")
 constants
static const makefile::string hdrRemappedExt (".exr")
static const makefile::string ldrRemappedExt (".tif")
static const makefile::string ldrRemappedMode ("TIFF_m")
static const makefile::string hdrRemappedMode ("EXR_m")
void printstacks (const std::vector< UIntSet > &stackdata)
 Simple helper to output stacks for debugging.
template<typename T>
void append (std::vector< T > &dst, const std::vector< T > &src)
 Copys all of src to the end of test.
template<typename T>
void append (std::vector< T > &vec, const T &element)
 Simply calls push_back, convinience function.
 VIGRA_EXT_GETRANGE (vigra::UInt8, 0, 255)
 VIGRA_EXT_GETRANGE (vigra::Int16, 0, 32767)
 VIGRA_EXT_GETRANGE (vigra::UInt16, 0, 65535)
 VIGRA_EXT_GETRANGE (vigra::Int32, 0, 2147483647)
 VIGRA_EXT_GETRANGE (vigra::UInt32, 0, 4294967295u)
 VIGRA_EXT_GETRANGE (float, 0, 1.0f)
 VIGRA_EXT_GETRANGE (double, 0, 1.0)
template<class SrcIMG>
void convertTo8Bit (SrcIMG &src, const std::string &origType, vigra::BRGBImage &dest)
bool clip_isSide (const FDiff2D p, const vigra::Rect2D r, const clipSide side)
FDiff2D clip_getIntersection (const FDiff2D p, const FDiff2D q, const vigra::Rect2D r, const clipSide side)
VectorPolygon clip_onPlane (const VectorPolygon polygon, const vigra::Rect2D r, const clipSide side)
bool clip_insideCircle (const FDiff2D p, const FDiff2D center, const double radius)
 check if point is inside circle
std::vector< FDiff2Dclip_getIntersectionCircle (const FDiff2D p, const FDiff2D s, const FDiff2D center, const double radius)
 returns intersection of line and circle
double angle_between (const FDiff2D a, const FDiff2D b)
 calculates angle between vector a and b in radians
void generateArc (VectorPolygon &poly, const FDiff2D s, const FDiff2D center, const double radius, const bool clockwise)
 adds an arc with given radius at the end of the polygon, the point is not added to the arc
void LoadMaskFromStream (std::istream &stream, vigra::Size2D &imageSize, MaskPolygonVector &newMasks, size_t imgNr)
 load the mask from stream
void SaveMaskToStream (std::ostream &stream, vigra::Size2D imageSize, MaskPolygon &maskToWrite, size_t imgNr)
 save the mask into stream
void UpdateOptVectorSet (std::set< std::string > &imgVar, const std::string var, const bool opt)
void fillVariableMap (VariableMap &vars)
 fill map with all image & lens variables
void fillLensVarMap (LensVarMap &vars)
 just lens variables
void printVariableMap (std::ostream &o, const VariableMap &vars)
 print a variable map to o

Variables

const int maskOffset = 100
 polygon can exceed the image maximal maskOffset pixels in each direction bigger polygons will be clipped after loading
const ConstImageVariableGroup::ImageVariableEnum lens_variables_array []
 The image variables that are specific to lenses.
const std::set< ConstImageVariableGroup::ImageVariableEnumlens_variables_set
 A set containing the lens image variables.
const ConstImageVariableGroup::ImageVariableEnum stack_variables_array []
 The image variables that are specific to stack.
const std::set< ConstImageVariableGroup::ImageVariableEnumstack_variables_set
 A set containing the stack image variables.


Detailed Description

mainly consists of wrapper around the pano tools library, to assist in ressource management and to provide a nicer interface.

It can be used to feed data from our model directly into the panotools library


Typedef Documentation

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<boost::vertex_color_t, boost::default_color_type> > HuginBase::CPGraph

graph of images, connected with control points.

verticies: images, links: controlpoints

Definition at line 52 of file ImageGraph.h.

typedef std::vector< std::set<unsigned> > HuginBase::CPComponents

components in a control point graph

Definition at line 55 of file ImageGraph.h.

typedef boost::property<boost::edge_weight_t, float> HuginBase::OverlapEdgeProperty

Definition at line 71 of file ImageGraph.h.

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<boost::vertex_color_t, boost::default_color_type>, OverlapEdgeProperty> HuginBase::OverlapGraph

A graph that contains all image as nodes (vertexes), overlaps are given by edges.

vertex property (color): indicates if the image has been stitched into the panorama

edge property (float): amount of overlap

Definition at line 84 of file ImageGraph.h.

typedef std::vector<ControlPoint> HuginBase::CPVector

Definition at line 119 of file ControlPoint.h.

typedef std::pair<unsigned int, ControlPoint> HuginBase::CPoint

Definition at line 121 of file ControlPoint.h.

typedef std::vector<CPoint> HuginBase::CPointVector

Definition at line 122 of file ControlPoint.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForFilename

See also:
image_variables.h
Todo:
This could be n, but it is a string, not a double.

Definition at line 279 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForSize

Definition at line 280 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForProjection

Definition at line 282 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'v'> HuginBase::PTOVariableConverterForHFOV

Definition at line 283 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForResponseType

Definition at line 285 of file ImageVariableTranslate.h.

typedef PTOVariableConverterVectorChar<'R', float, 5> HuginBase::PTOVariableConverterForEMoRParams

Definition at line 286 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'E', 'e', 'v'> HuginBase::PTOVariableConverterForExposureValue

Definition at line 287 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForGamma

Definition at line 288 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'E', 'r'> HuginBase::PTOVariableConverterForWhiteBalanceRed

Definition at line 289 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'E', 'b'> HuginBase::PTOVariableConverterForWhiteBalanceBlue

Definition at line 290 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'r'> HuginBase::PTOVariableConverterForRoll

Definition at line 292 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'p'> HuginBase::PTOVariableConverterForPitch

Definition at line 293 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'y'> HuginBase::PTOVariableConverterForYaw

Definition at line 294 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'T','r','X'> HuginBase::PTOVariableConverterForX

Definition at line 296 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'T','r','Y'> HuginBase::PTOVariableConverterForY

Definition at line 297 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'T','r','Z'> HuginBase::PTOVariableConverterForZ

Definition at line 298 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'T','p','y'> HuginBase::PTOVariableConverterForTranslationPlaneYaw

Definition at line 299 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'T','p','p'> HuginBase::PTOVariableConverterForTranslationPlanePitch

Definition at line 300 of file ImageVariableTranslate.h.

typedef PTOVariableConverterSingle<'j'> HuginBase::PTOVariableConverterForStack

Definition at line 302 of file ImageVariableTranslate.h.

typedef PTOVariableConverterVector<double, 3> HuginBase::PTOVariableConverterForRadialDistortion

Definition at line 304 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForRadialDistortionRed

Definition at line 305 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForRadialDistortionBlue

Definition at line 306 of file ImageVariableTranslate.h.

typedef PTOVariableConverterFDiff2D<'d', 'e'> HuginBase::PTOVariableConverterForRadialDistortionCenterShift

Definition at line 307 of file ImageVariableTranslate.h.

typedef PTOVariableConverterFDiff2D<'g', 't'> HuginBase::PTOVariableConverterForShear

Definition at line 308 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForCropMode

Definition at line 310 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForCropRect

Todo:
This could be S, but it is 4 integers in the form a,b,c,d -hence not a double.

Definition at line 312 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForAutoCenterCrop

Definition at line 313 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForFlatfieldFilename

Todo:
This could be Vf, but it is a string, not a double.

Definition at line 316 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForVigCorrMode

Definition at line 318 of file ImageVariableTranslate.h.

typedef PTOVariableConverterVectorChar<'V', double, 4> HuginBase::PTOVariableConverterForRadialVigCorrCoeff

Definition at line 319 of file ImageVariableTranslate.h.

typedef PTOVariableConverterFDiff2D<'V','V', 'x','y'> HuginBase::PTOVariableConverterForRadialVigCorrCenterShift

Definition at line 320 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifModel

Definition at line 322 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifMake

Definition at line 323 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifLens

Definition at line 324 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifCropFactor

Definition at line 325 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifFocalLength

Definition at line 326 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifOrientation

Definition at line 327 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifAperture

Definition at line 328 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifISO

Definition at line 329 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifDistance

Definition at line 330 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifFocalLength35

Definition at line 331 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifExposureTime

Definition at line 332 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifDate

Definition at line 333 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForExifExposureMode

Definition at line 334 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForMasks

Definition at line 341 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForActiveMasks

Definition at line 342 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForActive

Definition at line 343 of file ImageVariableTranslate.h.

typedef PTOVariableConverterNoOp HuginBase::PTOVariableConverterForLensNr

Definition at line 344 of file ImageVariableTranslate.h.

typedef std::vector<Lens> HuginBase::LensVector

Definition at line 144 of file Lens.h.

typedef std::vector<FDiff2D> HuginBase::VectorPolygon

vector, which stores coordinates of one polygon

Definition at line 41 of file Mask.h.

typedef std::vector<MaskPolygon> HuginBase::MaskPolygonVector

Definition at line 149 of file Mask.h.

typedef std::set<unsigned int> HuginBase::UIntSet

Definition at line 51 of file PanoramaData.h.

typedef std::vector<unsigned int> HuginBase::UIntVector

Definition at line 54 of file PanoramaData.h.

typedef std::map<std::string,Variable> HuginBase::VariableMap

Definition at line 174 of file PanoramaVariable.h.

typedef std::vector<VariableMap> HuginBase::VariableMapVector

Definition at line 183 of file PanoramaVariable.h.

typedef std::map<std::string,LensVariable> HuginBase::LensVarMap

Definition at line 187 of file PanoramaVariable.h.

typedef std::vector<std::set<std::string> > HuginBase::OptimizeVector

Definition at line 194 of file PanoramaVariable.h.

typedef std::vector<SrcPanoImage> HuginBase::ImageVector

Definition at line 1695 of file SrcPanoImage.h.


Enumeration Type Documentation

enum HuginBase::clipSide

Enumerator:
clipLeft 
clipRight 
clipTop 
clipBottom 

Definition at line 228 of file Mask.cpp.

enum HuginBase::OptimizerSwitches

defines all optimizer switches, they can be combined with OR

Enumerator:
OPT_PAIR 
OPT_POSITION 
OPT_VIEW 
OPT_BARREL 
OPT_ALL 
OPT_TRANSLATION 
OPT_EXPOSURE 
OPT_WHITEBALANCE 
OPT_VIGNETTING 
OPT_VIGNETTING_CENTER 
OPT_RESPONSE 

Definition at line 31 of file OptimizerSwitches.h.


Function Documentation

IMPEX std::vector< UIntSet > HuginBase::getHDRStacks ( const PanoramaData &  pano,
UIntSet  allImgs,
PanoramaOptions  opts 
)

returns vector of set of output stacks

Definition at line 34 of file LayerStacks.cpp.

References HuginBase::CalculateImageOverlap::calculate(), HuginBase::CalculateImageOverlap::getOverlap(), and HuginBase::PanoramaOptions::outputStacksMinOverlap.

Referenced by PT::Panorama::calcOptimalStackROI(), HuginBase::PanoramaMakefilelibExport::createItems(), main(), PanoOutputDialog::PanoOutputDialog(), and PanoPanel::StackCheck().

IMPEX std::vector< UIntSet > HuginBase::getExposureLayers ( const PanoramaData &  pano,
UIntSet  allImgs,
PanoramaOptions  opts 
)

returns vector of set of output exposure layers

Definition at line 70 of file LayerStacks.cpp.

References HuginBase::PanoramaData::getSrcImage(), and HuginBase::PanoramaOptions::outputLayersExposureDiff.

Referenced by HuginBase::PanoramaMakefilelibExport::createItems(), and PanoOutputDialog::PanoOutputDialog().

IMPEX UIntSet HuginBase::getImagesinROI ( const PanoramaData &  pano,
const UIntSet  activeImages 
)

returns set of images which are visible in output ROI

Definition at line 107 of file LayerStacks.cpp.

References estimateOutputROI(), and HuginBase::PanoramaData::getOptions().

Referenced by HuginBase::PanoramaMakefilelibExport::PanoramaMakefilelibExport(), and PanoPanel::StackCheck().

IMPEX UIntSet HuginBase::getCPoutsideLimit_pair ( Panorama  pano,
double  n = 2.0 
)

optimises images pairwise and removes for every image pair control points with error > mean+n*sigma

Parameters:
pano panorama which should be used
n determines, how big the deviation from mean should be to determine wrong control points, default 2.0
Returns:
set which contains control points with error > mean+n*sigma

Definition at line 38 of file CleanCP.cpp.

References HuginBase::CalculateCPStatisticsError::calcCtrlPntsErrorStats(), HuginBase::PanoramaOptions::EQUIRECTANGULAR, HuginBase::Panorama::getCtrlPoints(), HuginBase::Panorama::getImage(), HuginBase::Panorama::getNrOfCtrlPoints(), HuginBase::Panorama::getNrOfImages(), HuginBase::Panorama::getOptions(), HuginBase::PanoramaOptions::getProjection(), HuginBase::Panorama::getSubset(), celeste::max(), celeste::min(), HuginBase::PTools::optimize(), HuginBase::Panorama::setCtrlPoints(), HuginBase::Panorama::setOptimizeVector(), HuginBase::Panorama::setOptions(), HuginBase::PanoramaOptions::setProjection(), and HuginBase::ControlPoint::X_Y.

Referenced by PanoOperation::CleanControlPointsOperation::GetInternalCommand(), and main().

IMPEX UIntSet HuginBase::getCPoutsideLimit ( Panorama  pano,
double  n = 2.0,
bool  skipOptimisation = false,
bool  includeLineCp = false 
)

optimises the whole panorama and removes all control points with error > mean+n*sigma

Parameters:
pano panorama which should be used
n determines, how big the deviation from mean should be to determine wrong control points, default 2.0
skipOptimisation skips the optimisation step, the current position of the images is used
includeLineCp include also line control points when calculating mean and check them also for limit
Returns:
set which contains control points with error > mean+n*sigma

Definition at line 118 of file CleanCP.cpp.

References HuginBase::CalculateCPStatisticsError::calcCtrlPntsErrorStats(), HuginBase::PTools::calcCtrlPointErrors(), HuginBase::Panorama::getCtrlPoints(), celeste::max(), celeste::min(), HuginBase::Panorama::setCtrlPoints(), PTools::smartOptimize(), and HuginBase::ControlPoint::X_Y.

Referenced by PanoOperation::CleanControlPointsOperation::GetInternalCommand(), and main().

IMPEX UIntSet HuginBase::getCPinMasks ( HuginBase::Panorama  pano  ) 

returns these control points, which are in masks

Definition at line 179 of file CleanCP.cpp.

References HuginBase::Panorama::getCtrlPoints(), HuginBase::Panorama::getImage(), HuginBase::SrcPanoImage::isInside(), and HuginBase::ControlPoint::X_Y.

Referenced by MainFrame::OnRemoveCPinMasks().

template<class TRANSFORM>
void HuginBase::estimateImageRect ( const SrcPanoImage &  src,
const PanoramaOptions &  dest,
TRANSFORM &  transf,
vigra::Rect2D &  imgRect 
)

calculate the outline of the image

Parameters:
src description of source picture
dest description of output picture (panorama)
imgRect output: position of image in panorama.

Definition at line 238 of file ComputeImageROI.cpp.

References estimateImageAlpha().

Referenced by estimateOutputROI().

template<class TRANSFORM>
void HuginBase::estimateImageAlpha ( const SrcPanoImage &  src,
const PanoramaOptions &  dest,
TRANSFORM &  transf,
vigra::Rect2D &  imgRect,
vigra::BImage &  alpha,
double &  scale 
)

Definition at line 63 of file ComputeImageROI.cpp.

References hugin_utils::ceili(), HuginBase::BaseSrcPanoImage::CROP_CIRCLE, DEBUG_DEBUG, vigra_ext::destImage(), hugin_utils::floori(), HuginBase::PanoramaOptions::getROI(), HuginBase::PanoramaOptions::getSize(), HuginBase::SrcPanoImage::hasActiveMasks(), HuginBase::SrcPanoImage::isInsideMasks(), celeste::min(), hugin_utils::roundi(), vigra_ext::srcImageRange(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by estimateImageRect().

IMPEX vigra::Rect2D HuginBase::estimateOutputROI ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
unsigned  i 
)

Definition at line 246 of file ComputeImageROI.cpp.

References HuginBase::PTools::Transform::createTransform(), estimateImageRect(), and HuginBase::PanoramaData::getSrcImage().

Referenced by AddGeometricControlPoint(), HuginBase::ComputeImageROI::computeROIS(), getImagesinROI(), HuginBase::SmallRemappedImageCache::getRemapped(), and PanoDetector::loadProject().

IMPEX void HuginBase::createCPGraph ( const PanoramaData &  pano,
CPGraph graph 
)

create a control point graph structure, with links representing one or more control points

Definition at line 36 of file ImageGraph.cpp.

References HuginBase::PanoramaData::getCtrlPoints(), HuginBase::PanoramaData::getImage(), and HuginBase::PanoramaData::getNrOfImages().

Referenced by HuginBase::AutoOptimise::autoOptimise(), HuginBase::AssistantMakefilelibExport::createItems(), PanoOperation::CleanControlPointsOperation::GetInternalCommand(), main(), DragTool::MouseButtonEvent(), GLPreviewFrame::panoramaChanged(), and MainFrame::RunAssistant().

IMPEX int HuginBase::findCPComponents ( const CPGraph graph,
CPComponents comp 
)

Definition at line 99 of file ImageGraph.cpp.

Referenced by HuginBase::AssistantMakefilelibExport::createItems(), PanoOperation::CleanControlPointsOperation::GetInternalCommand(), main(), DragTool::MouseButtonEvent(), GLPreviewFrame::panoramaChanged(), and MainFrame::RunAssistant().

void HuginBase::createOverlapGraph ( const PanoramaData &  pano,
OverlapGraph graph 
)

create a graph with all overlaps, and a suitable blend order.

double HuginBase::weightHuber ( double  x,
double  sigma 
) [inline]

expects the abs(error) values

Definition at line 41 of file PhotometricOptimizer.cpp.

Referenced by optGetError(), and HuginBase::PhotometricOptimizer::photometricError().

static const makefile::string HuginBase::hdrgrayRemappedExt ( "_gray.pgm"   )  [static]

constants

Referenced by HuginBase::PanoramaMakefilelibExport::createItems().

static const makefile::string HuginBase::hdrRemappedExt ( ".exr"   )  [static]

Referenced by HuginBase::PanoramaMakefilelibExport::createItems().

static const makefile::string HuginBase::ldrRemappedExt ( ".tif"   )  [static]

Referenced by HuginBase::PanoramaMakefilelibExport::createItems().

static const makefile::string HuginBase::ldrRemappedMode ( "TIFF_m"   )  [static]

Referenced by HuginBase::PanoramaMakefilelibExport::createItems().

static const makefile::string HuginBase::hdrRemappedMode ( "EXR_m"   )  [static]

Referenced by HuginBase::PanoramaMakefilelibExport::createItems().

void IMPEX HuginBase::printstacks ( const std::vector< UIntSet > &  stackdata  ) 

Simple helper to output stacks for debugging.

Parameters:
stackdata 

Definition at line 1295 of file PanoramaMakefilelibExport.cpp.

References cout.

template<typename T>
void HuginBase::append ( std::vector< T > &  dst,
const std::vector< T > &  src 
)

Copys all of src to the end of test.

Just calls insert. Convinience function.

Parameters:
dst 
src 

Definition at line 1309 of file PanoramaMakefilelibExport.cpp.

Referenced by HuginBase::PanoramaMakefilelibExport::createItems(), GetImageVariableControl(), and main().

template<typename T>
void HuginBase::append ( std::vector< T > &  vec,
const T &  element 
)

Simply calls push_back, convinience function.

Parameters:
vec 
element 

Definition at line 1314 of file PanoramaMakefilelibExport.cpp.

HuginBase::VIGRA_EXT_GETRANGE ( vigra::UInt8  ,
,
255   
)

HuginBase::VIGRA_EXT_GETRANGE ( vigra::Int16  ,
,
32767   
)

HuginBase::VIGRA_EXT_GETRANGE ( vigra::UInt16  ,
,
65535   
)

HuginBase::VIGRA_EXT_GETRANGE ( vigra::Int32  ,
,
2147483647   
)

HuginBase::VIGRA_EXT_GETRANGE ( vigra::UInt32  ,
,
4294967295u   
)

HuginBase::VIGRA_EXT_GETRANGE ( float  ,
,
1.  0f 
)

HuginBase::VIGRA_EXT_GETRANGE ( double  ,
,
1.  0 
)

template<class SrcIMG>
void HuginBase::convertTo8Bit ( SrcIMG &  src,
const std::string origType,
vigra::BRGBImage &  dest 
)

Definition at line 81 of file ImageCache.cpp.

References vigra_ext::applyMapping(), vigra_ext::destImage(), vigra_ext::getMaxValForPixelType(), HUGIN_IMGCACHE_MAPPING_FLOAT, HUGIN_IMGCACHE_MAPPING_INTEGER, celeste::max(), celeste::min(), and vigra_ext::srcImageRange().

Referenced by HuginBase::ImageCache::Entry::get8BitImage().

bool HuginBase::clip_isSide ( const FDiff2D  p,
const vigra::Rect2D  r,
const clipSide  side 
)

Definition at line 236 of file Mask.cpp.

References clipBottom, clipLeft, clipRight, clipTop, hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by clip_onPlane().

FDiff2D HuginBase::clip_getIntersection ( const FDiff2D  p,
const FDiff2D  q,
const vigra::Rect2D  r,
const clipSide  side 
)

Definition at line 252 of file Mask.cpp.

References clipBottom, clipLeft, clipRight, clipTop, hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by clip_onPlane().

VectorPolygon HuginBase::clip_onPlane ( const VectorPolygon  polygon,
const vigra::Rect2D  r,
const clipSide  side 
)

Definition at line 295 of file Mask.cpp.

References clip_getIntersection(), and clip_isSide().

Referenced by HuginBase::MaskPolygon::clipPolygon().

bool HuginBase::clip_insideCircle ( const FDiff2D  p,
const FDiff2D  center,
const double  radius 
)

check if point is inside circle

Returns:
true, if point p is inside circle given by center and radius
Parameters:
p point to test
center center point of circle test
radius radius of circle to test

Definition at line 344 of file Mask.cpp.

References hugin_utils::TDiff2D< T >::squareDistance().

Referenced by HuginBase::MaskPolygon::clipPolygon().

std::vector<FDiff2D> HuginBase::clip_getIntersectionCircle ( const FDiff2D  p,
const FDiff2D  s,
const FDiff2D  center,
const double  radius 
)

returns intersection of line and circle

Parameters:
p fist point of line segment
s seconst point of line segment
center center of circle
radius radius of circle
Returns:
vector with all intersection of line between p and s and given circle

Definition at line 356 of file Mask.cpp.

References hugin_utils::TDiff2D< T >::squareLength(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by HuginBase::MaskPolygon::clipPolygon().

double HuginBase::angle_between ( const FDiff2D  a,
const FDiff2D  b 
)

calculates angle between vector a and b in radians

Definition at line 392 of file Mask.cpp.

References hugin_utils::TDiff2D< T >::squareLength(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by HuginBase::MaskPolygon::clipPolygon().

void HuginBase::generateArc ( VectorPolygon poly,
const FDiff2D  s,
const FDiff2D  center,
const double  radius,
const bool  clockwise 
)

adds an arc with given radius at the end of the polygon, the point is not added to the arc

Parameters:
poly polygon to which the arc should added
s point to which the arc should go
center center of arc
radius radius of arc
clockwise true, if arc should go clockwise; else it goes anti-clockwise

Definition at line 404 of file Mask.cpp.

References PI, hugin_utils::TDiff2D< T >::squareDistance(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

Referenced by HuginBase::MaskPolygon::clipPolygon().

IMPEX void HuginBase::LoadMaskFromStream ( std::istream stream,
vigra::Size2D &  imageSize,
MaskPolygonVector newMasks,
size_t  imgNr 
)

load the mask from stream

Definition at line 634 of file Mask.cpp.

References HuginBase::PTScriptParsing::getIntParam(), HuginBase::PTScriptParsing::getPTParam(), vigra_ext::EMoR::h, HuginBase::MaskPolygon::parsePolygonString(), HuginBase::MaskPolygon::setImgNr(), and HuginBase::MaskPolygon::setMaskType().

Referenced by main(), MaskEditorPanel::OnMaskLoad(), and MaskEditorPanel::OnMaskPaste().

IMPEX void HuginBase::SaveMaskToStream ( std::ostream stream,
vigra::Size2D  imageSize,
MaskPolygon &  maskToWrite,
size_t  imgNr 
)

save the mask into stream

Definition at line 679 of file Mask.cpp.

References HuginBase::MaskPolygon::printPolygonLine().

Referenced by MaskEditorPanel::OnMaskCopy(), and MaskEditorPanel::OnMaskSave().

void HuginBase::UpdateOptVectorSet ( std::set< std::string > &  imgVar,
const std::string  var,
const bool  opt 
)

Definition at line 2105 of file Panorama.cpp.

Referenced by HuginBase::Panorama::parseOptimizerScript().

IMPEX void HuginBase::fillVariableMap ( VariableMap vars  ) 

fill map with all image & lens variables

Definition at line 48 of file PanoramaVariable.cpp.

IMPEX void HuginBase::fillLensVarMap ( LensVarMap variables  ) 

just lens variables

Definition at line 93 of file PanoramaVariable.cpp.

Referenced by HuginBase::Lens::Lens().

IMPEX void HuginBase::printVariableMap ( std::ostream o,
const VariableMap vars 
)

print a variable map to o

Definition at line 126 of file PanoramaVariable.cpp.

Referenced by HuginBase::AutoOptimise::OptimiseVisitor::discover_vertex().


Variable Documentation

const int HuginBase::maskOffset = 100

polygon can exceed the image maximal maskOffset pixels in each direction bigger polygons will be clipped after loading

Definition at line 46 of file Mask.h.

Referenced by MaskImageCtrl::invtransform(), main(), MaskImageCtrl::OnDraw(), MaskLoadDialog::ProcessMask(), MaskImageCtrl::rescaleImage(), and MaskImageCtrl::transform().

const ConstImageVariableGroup::ImageVariableEnum HuginBase::lens_variables_array[]

Initial value:

The image variables that are specific to lenses.

These are by default linked across images in the same lens.

If you wish to change this, you'll need to set the ending offset in lens_variables_set below.

Definition at line 39 of file StandardImageVariableGroups.cpp.

const std::set<ConstImageVariableGroup::ImageVariableEnum> HuginBase::lens_variables_set

Initial value:

    std::set<ConstImageVariableGroup::ImageVariableEnum>(lens_variables_array,
                                                         lens_variables_array + 18)
A set containing the lens image variables.

the offset on the second construtor argument is the size of the array.

Definition at line 63 of file StandardImageVariableGroups.cpp.

Referenced by HuginBase::ConstStandardImageVariableGroups::getLensVariables().

const ConstImageVariableGroup::ImageVariableEnum HuginBase::stack_variables_array[]

Initial value:

The image variables that are specific to stack.

These are by default linked across images in the same stack.

If you wish to change this, you'll need to set the ending offset in stack_variables_set below.

Definition at line 75 of file StandardImageVariableGroups.cpp.

const std::set<ConstImageVariableGroup::ImageVariableEnum> HuginBase::stack_variables_set

Initial value:

    std::set<ConstImageVariableGroup::ImageVariableEnum>(stack_variables_array,
                                                         stack_variables_array + 9)
A set containing the stack image variables.

the offset on the second construtor argument is the size of the array.

Definition at line 90 of file StandardImageVariableGroups.cpp.

Referenced by HuginBase::ConstStandardImageVariableGroups::getStackVariables().


Generated on 24 Oct 2014 for Hugintrunk by  doxygen 1.4.7