HuginBase::PanoramaData Class Reference
Model for a panorama. More...
#include <PanoramaData.h>
Inheritance diagram for HuginBase::PanoramaData:

Public Member Functions | |
| virtual | ~PanoramaData () |
| virtual PanoramaData * | getNewSubset (const UIntSet &imgs) const =0 |
| virtual PanoramaData * | getNewCopy () const =0 |
| virtual std::size_t | getNrOfImages () const =0 |
| number of images. | |
| virtual const SrcPanoImage & | getImage (std::size_t nr) const =0 |
| get a panorama image, counting starts with 0 | |
| virtual void | setImage (std::size_t nr, SrcPanoImage img)=0 |
| set a panorama image, counting starts with 0 | |
| virtual unsigned int | addImage (const SrcPanoImage &img)=0 |
| add an Image to the panorama | |
| virtual void | removeImage (unsigned int nr)=0 |
| remove an Image. | |
| virtual void | swapImages (unsigned int img1, unsigned int img2)=0 |
| swap images. | |
| virtual SrcPanoImage | getSrcImage (unsigned imgNr) const =0 |
| get a complete description of a source image | |
| virtual void | setSrcImage (unsigned int nr, const SrcPanoImage &img)=0 |
| set input image parameters TODO: Propagate changes to linked images. | |
| virtual void | setImageFilename (unsigned int img, const std::string &fname)=0 |
| set a new image filename | |
| virtual void | setImageOptions (unsigned int i, const ImageOptions &opts)=0 |
| change image properties. | |
| virtual void | activateImage (unsigned int imgNr, bool active=true)=0 |
| mark an image as active or inactive. | |
| virtual UIntSet | getActiveImages () const =0 |
| get active images | |
| image_variable (Filename, std::string,"") image_variable(Size | |
| vigra::Size2D (0, 0)) image_variable(Projection | |
| RECTILINEAR | image_variable (HFOV, double, 50.0) image_variable(ResponseType |
| RECTILINEAR RESPONSE_EMOR | image_variable (EMoRParams, std::vector< float >, std::vector< float >(5, 0.0)) image_variable(ExposureValue |
| RECTILINEAR RESPONSE_EMOR | image_variable (Gamma, double, 1.0) image_variable(WhiteBalanceRed |
| RECTILINEAR RESPONSE_EMOR | image_variable (WhiteBalanceBlue, double, 1.0) image_variable(Roll |
| RECTILINEAR RESPONSE_EMOR | image_variable (Pitch, double, 0.0) image_variable(Yaw |
| RECTILINEAR RESPONSE_EMOR | image_variable (X, double, 0.0) image_variable(Y |
| RECTILINEAR RESPONSE_EMOR | image_variable (Z, double, 0.0) image_variable(Stack |
| RECTILINEAR RESPONSE_EMOR | image_variable (RadialDistortion, std::vector< double >, distortion_default) image_variable(RadialDistortionRed |
| RECTILINEAR RESPONSE_EMOR distortion_default | image_variable (RadialDistortionBlue, std::vector< double >, distortion_default) image_variable(RadialDistortionCenterShift |
| RECTILINEAR RESPONSE_EMOR distortion_default | hugin_utils::FDiff2D (0.0, 0.0)) image_variable(Shear |
| RECTILINEAR RESPONSE_EMOR distortion_default | hugin_utils::FDiff2D (0, 0)) image_variable(CropMode |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP | image_variable (CropRect, vigra::Rect2D, vigra::Rect2D(0, 0, 0, 0)) image_variable(AutoCenterCrop |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (VigCorrMode, int, VIGCORR_RADIAL|VIGCORR_DIV) image_variable(FlatfieldFilename |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (RadialVigCorrCoeff, std::vector< double >, RadialVigCorrCoeff_default) image_variable(RadialVigCorrCenterShift |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | hugin_utils::FDiff2D (0.0, 0.0)) image_variable(ExifModel |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifMake, std::string,"") image_variable(ExifCropFactor |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifFocalLength, double, 0) image_variable(ExifOrientation |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifAperture, double, 0) image_variable(ExifISO |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifDistance, double, 0) image_variable(ExifFocalLength35 |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifExposureTime, double, 0) image_variable(ExifDate |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (FeatherWidth, unsigned int, 10) image_variable(Morph |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true false | image_variable (Masks, HuginBase::MaskPolygonVector, defaultMaskVector) image_variable(ActiveMasks |
| image_variable (Size, vigra::Size2D, vigra::Size2D(0, 0)) image_variable(Projection | |
| RECTILINEAR | image_variable (HFOV, double, 50.0) image_variable(ResponseType |
| RECTILINEAR RESPONSE_EMOR | image_variable (EMoRParams, std::vector< float >, std::vector< float >(5, 0.0)) image_variable(ExposureValue |
| RECTILINEAR RESPONSE_EMOR | image_variable (Gamma, double, 1.0) image_variable(WhiteBalanceRed |
| RECTILINEAR RESPONSE_EMOR | image_variable (WhiteBalanceBlue, double, 1.0) image_variable(Roll |
| RECTILINEAR RESPONSE_EMOR | image_variable (Pitch, double, 0.0) image_variable(Yaw |
| RECTILINEAR RESPONSE_EMOR | image_variable (X, double, 0.0) image_variable(Y |
| RECTILINEAR RESPONSE_EMOR | image_variable (Z, double, 0.0) image_variable(Stack |
| RECTILINEAR RESPONSE_EMOR | image_variable (RadialDistortion, std::vector< double >, distortion_default) image_variable(RadialDistortionRed |
| RECTILINEAR RESPONSE_EMOR distortion_default | image_variable (RadialDistortionBlue, std::vector< double >, distortion_default) image_variable(RadialDistortionCenterShift |
| RECTILINEAR RESPONSE_EMOR distortion_default | hugin_utils::FDiff2D (0.0, 0.0)) image_variable(Shear |
| RECTILINEAR RESPONSE_EMOR distortion_default | hugin_utils::FDiff2D (0, 0)) image_variable(CropMode |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP | image_variable (CropRect, vigra::Rect2D, vigra::Rect2D(0, 0, 0, 0)) image_variable(AutoCenterCrop |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (VigCorrMode, int, VIGCORR_RADIAL|VIGCORR_DIV) image_variable(FlatfieldFilename |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (RadialVigCorrCoeff, std::vector< double >, RadialVigCorrCoeff_default) image_variable(RadialVigCorrCenterShift |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | hugin_utils::FDiff2D (0.0, 0.0)) image_variable(ExifModel |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifMake, std::string,"") image_variable(ExifCropFactor |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifFocalLength, double, 0) image_variable(ExifOrientation |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifAperture, double, 0) image_variable(ExifISO |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifDistance, double, 0) image_variable(ExifFocalLength35 |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (ExifExposureTime, double, 0) image_variable(ExifDate |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | image_variable (FeatherWidth, unsigned int, 10) image_variable(Morph |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true false | image_variable (Masks, HuginBase::MaskPolygonVector, defaultMaskVector) image_variable(ActiveMasks |
| virtual const CPVector & | getCtrlPoints () const =0 |
| get all control point of this Panorama | |
| virtual std::vector< unsigned int > | getCtrlPointsForImage (unsigned int imgNr) const =0 |
| return all control points for a given image. | |
| virtual void | setCtrlPoints (const CPVector &points)=0 |
| set all control points (Ippei: Is this supposed to be 'add' method?) | |
| virtual unsigned int | addCtrlPoint (const ControlPoint &point)=0 |
| add a new control point. | |
| virtual void | removeCtrlPoint (unsigned int pNr)=0 |
| remove a control point. | |
| virtual void | removeDuplicateCtrlPoints ()=0 |
| removes duplicates control points | |
| virtual void | changeControlPoint (unsigned int pNr, const ControlPoint &point)=0 |
| change a control Point. | |
| virtual int | getNextCPTypeLineNumber () const =0 |
| get the next unused line number for t3, ... | |
| virtual void | updateLineCtrlPoints ()=0 |
| assign new mode line numbers, if required | |
| virtual void | updateCtrlPointErrors (const CPVector &controlPoints)=0 |
| update control points distances. | |
| virtual void | updateCtrlPointErrors (const UIntSet &imgs, const CPVector &cps)=0 |
| update control points for a subset of images. | |
| virtual VariableMapVector | getVariables () const =0 |
| get variables of this panorama | |
| virtual const VariableMap | getImageVariables (unsigned int imgNr) const =0 |
| get variables of an image | |
| virtual void | updateVariables (const VariableMapVector &vars)=0 |
| Set the variables. | |
| virtual void | updateVariables (const UIntSet &imgs, const VariableMapVector &var)=0 |
| update variables for some specific images | |
| virtual void | updateVariables (unsigned int imgNr, const VariableMap &var)=0 |
| Set variables for a single picture. | |
| virtual void | updateVariable (unsigned int imgNr, const Variable &var)=0 |
| update a single variable | |
| virtual const OptimizeVector & | getOptimizeVector () const =0 |
| return the optimize settings stored inside panorama | |
| virtual void | setOptimizeVector (const OptimizeVector &optvec)=0 |
| set optimize setting | |
| virtual const PanoramaOptions & | getOptions () const =0 |
| returns the options for this panorama | |
| virtual void | setOptions (const PanoramaOptions &opt)=0 |
| set new output settings This is not used directly for optimizing/stiching, but it can be feed into runOptimizer() and runStitcher(). | |
| virtual void | parseOptimizerScript (std::istream &i, const UIntSet &imgs, VariableMapVector &imgVars, CPVector &ctrlPoints) const =0 |
| read after optimization, fills in control point errors. | |
| virtual void | printPanoramaScript (std::ostream &o, const OptimizeVector &optvars, const PanoramaOptions &options, const UIntSet &imgs, bool forPTOptimizer, const std::string &stripPrefix="") const =0 |
| create an optimizer script | |
| virtual void | printStitcherScript (std::ostream &o, const PanoramaOptions &target, const UIntSet &imgs) const =0 |
| create the stitcher script | |
| virtual void | changeFinished ()=0 |
| tells the data container to perform some maintainance if neccesary | |
| virtual void | imageChanged (unsigned int imgNr)=0 |
| mark image change for maintainance | |
Public Attributes | |
| RECTILINEAR RESPONSE_EMOR | double |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP | bool |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | double |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true | bool |
| RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true false defaultMaskVector virtual image_variable(Active, bool, true) virtual std const ControlPoint | getCtrlPoint )(std::size_t nr) const =0 |
| get a control point, counting starts with 0 | |
Detailed Description
Model for a panorama.This class contains the properties of a panorama That is:
- images
- variables that can be optimized.
- links between image variables
- control points
- properites of the output panorama.
view and controller classes can get information about these with the getXXX Functions.
Images and Control points are numbered, and const references are handed out. this means that all interaction will be based on image or control point numbers. The references are not stable, they might disappear when other functions of this class are called, so its best to get a new reference whenever you need the object.
This also means that the whole object is not threadsafe and concurrent access has to be synchronized from the outside.
Constructor & Destructor Documentation
|
|
|
Member Function Documentation
|
||||||||||||
|
mark an image as active or inactive. This is only a flag, that can be turned on or off. If an image is marked active, then it should be used for optimizing and stitching. However, this is not done automatically. One has to use getActiveImages() to get the numbers of the active images, and pass these to the respective functions that do the stitching or optimisation Implemented in HuginBase::Panorama. |
|
|
add a new control point.
Implemented in HuginBase::Panorama. |
|
|
add an Image to the panorama The Image must be initialized, the Lens must exist. Implemented in HuginBase::Panorama. |
|
||||||||||||
|
change a control Point.
Implemented in HuginBase::Panorama. |
|
|
tells the data container to perform some maintainance if neccesary
Implemented in HuginBase::Panorama, and HuginBase::ManagedPanoramaData. |
|
|
get active images
Implemented in HuginBase::Panorama. |
|
|
get all control point of this Panorama
Implemented in HuginBase::Panorama. |
|
|
return all control points for a given image.
Implemented in HuginBase::Panorama. |
|
|
get a panorama image, counting starts with 0
Implemented in HuginBase::Panorama. |
|
|
get variables of an image Depreciated: Please use SrcPanoImage objects for variable access.
Implemented in HuginBase::Panorama. |
|
|
Implemented in HuginBase::Panorama. |
|
|
Implemented in HuginBase::Panorama. |
|
|
get the next unused line number for t3, ... control point creation Implemented in HuginBase::Panorama. |
|
|
number of images.
Implemented in HuginBase::Panorama. |
|
|
return the optimize settings stored inside panorama
|
|
|
returns the options for this panorama
Implemented in HuginBase::Panorama. |
|
|
get a complete description of a source image
Implemented in HuginBase::Panorama. |
|
|
get variables of this panorama
Implemented in HuginBase::Panorama. |
|
||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, HuginBase::Panorama, HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
||||||||||||||||
|
Reimplemented in HuginBase::Panorama. |
|
|
mark image change for maintainance
Implemented in HuginBase::Panorama, and HuginBase::ManagedPanoramaData. |
|
||||||||||||||||||||
|
read after optimization, fills in control point errors.
Implemented in HuginBase::Panorama. |
|
||||||||||||||||||||||||||||
|
create an optimizer script
Implemented in HuginBase::Panorama. |
|
||||||||||||||||
|
create the stitcher script
Implemented in HuginBase::Panorama. |
|
|
remove a control point.
Implemented in HuginBase::Panorama. |
|
|
removes duplicates control points
Implemented in HuginBase::Panorama. |
|
|
remove an Image. also deletes/updates all associated control points. Implemented in HuginBase::Panorama. |
|
|
set all control points (Ippei: Is this supposed to be 'add' method?)
Implemented in HuginBase::Panorama. |
|
||||||||||||
|
set a panorama image, counting starts with 0
Implemented in HuginBase::Panorama. |
|
||||||||||||
|
set a new image filename It is assumed that it is of the same size as the old image. Implemented in HuginBase::Panorama. |
|
||||||||||||
|
change image properties. TODO This changes the image variables, right? Propagate changes to linked images. Implemented in HuginBase::Panorama. |
|
|
set optimize setting
Implemented in HuginBase::Panorama. |
|
|
set new output settings This is not used directly for optimizing/stiching, but it can be feed into runOptimizer() and runStitcher().
Implemented in HuginBase::Panorama. |
|
||||||||||||
|
set input image parameters TODO: Propagate changes to linked images.
Implemented in HuginBase::Panorama. |
|
||||||||||||
|
swap images.
swaps the images, image Implemented in HuginBase::Panorama. |
|
||||||||||||
|
update control points for a subset of images. Usually, the control point subset is created using subset() The number and ordering and control points must not be changed between the call to subset() and this function. Implemented in HuginBase::Panorama. |
|
|
update control points distances. updates control distances and position in final panorama usually used to set the changes from the optimization. The control points must be the same as in Implemented in HuginBase::Panorama. |
|
|
assign new mode line numbers, if required
Implemented in HuginBase::Panorama. |
|
||||||||||||
|
update a single variable It updates other images when the variable is linked Implemented in HuginBase::Panorama. |
|
||||||||||||
|
Set variables for a single picture.
Implemented in HuginBase::Panorama. |
|
||||||||||||
|
update variables for some specific images
Implemented in HuginBase::Panorama. |
|
|
Set the variables. Usually used when the optimizer results should be applied. Implemented in HuginBase::Panorama. |
|
||||||||||||
|
Reimplemented in HuginBase::Panorama. |
Member Data Documentation
|
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
|
Reimplemented in HuginBase::Panorama, and HuginBase::Panorama. |
|
|
get a control point, counting starts with 0
|
The documentation for this class was generated from the following file:
- hugin_base/panodata/PanoramaData.h
1.3.9.1