[an error occurred while processing this directive]
Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

HuginBase::Panorama Class Reference

Model for a panorama. More...

#include <Panorama.h>

Inheritance diagram for HuginBase::Panorama:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Panorama ()
 ctor.
 ~Panorama ()
 dtor.
Panorama getSubset (const UIntSet &imgs) const
 get a subset of the panorama
Panorama duplicate () const
 duplicate the panorama
PanoramaDatagetNewSubset (const UIntSet &imgs) const
PanoramaDatagetNewCopy () const
std::size_t getNrOfImages () const
 number of images.
const SrcPanoImagegetImage (std::size_t nr) const
 get a panorama image, counting starts with 0
void setImage (std::size_t nr, SrcPanoImage img)
 set a panorama image, counting starts with 0
unsigned int addImage (const SrcPanoImage &img)
 add an Image to the panorama
void mergePanorama (const Panorama &newPano)
 merges the panorama with the given pano
void removeImage (unsigned int nr)
 remove an Image.
void swapImages (unsigned int img1, unsigned int img2)
 swap images.
SrcPanoImage getSrcImage (unsigned imgNr) const
 get a description of a source image
void setSrcImage (unsigned int nr, const SrcPanoImage &img)
 set input image parameters
void setImageFilename (unsigned int img, const std::string &fname)
 set a new image filename
void setImageOptions (unsigned int i, const ImageOptions &opts)
 change image properties.
void activateImage (unsigned int imgNr, bool active=true)
 mark an image as active or inactive.
UIntSet getActiveImages () const
 get active images
std::size_t getNrOfCtrlPoints () const
 number of control points
const ControlPointgetCtrlPoint (std::size_t nr) const
 get a control point, counting starts with 0
const CPVectorgetCtrlPoints () const
 get all control point of this Panorama
std::vector< unsigned int > getCtrlPointsForImage (unsigned int imgNr) const
 return all control points for a given image.
void setCtrlPoints (const CPVector &points)
 set all control points (Ippei: Is this supposed to be 'add' method?)
unsigned int addCtrlPoint (const ControlPoint &point)
 add a new control point.
void removeCtrlPoint (unsigned int pNr)
 remove a control point.
void removeDuplicateCtrlPoints ()
 removes duplicates control points
void changeControlPoint (unsigned int pNr, const ControlPoint &point)
 change a control Point.
int getNextCPTypeLineNumber () const
 get the next unused line number for t3, ...
void updateLineCtrlPoints ()
 assign new mode line numbers, if required
void updateCtrlPointErrors (const CPVector &controlPoints)
 update control points distances.
void updateCtrlPointErrors (const UIntSet &imgs, const CPVector &cps)
 update control points for a subset of images.
VariableMapVector getVariables () const
 get variables of this panorama
const VariableMap getImageVariables (unsigned int imgNr) const
 Get the variables of an image.
virtual void updateVariables (const VariableMapVector &vars)
 Set the variables.
virtual void updateVariables (const UIntSet &imgs, const VariableMapVector &var)
 update variables for some specific images
virtual void updateVariables (unsigned int imgNr, const VariableMap &var)
 Set variables for a single picture.
virtual void updateVariable (unsigned int imgNr, const Variable &var)
 update a single variable
virtual void UpdateFocalLength (UIntSet imgs, double newFocalLength)
 updates the focal length by changing hfov
virtual void UpdateCropFactor (UIntSet imgs, double newCropFactor)
 updates the crop factor, try to keep focal length constant
 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
RECTILINEAR RESPONSE_EMOR
distortion_default NO_CROP
true false defaultMaskVector 
image_variable (Active, bool, true) const OptimizeVector &getOptimizeVector() const
 return the optimize settings stored inside panorama
void setOptimizeVector (const OptimizeVector &optvec)
 set optimize setting
const PanoramaOptionsgetOptions () const
 returns the options for this panorama
void setOptions (const PanoramaOptions &opt)
 set new output settings This is not used directly for optimizing/stiching, but it can be feed into runOptimizer() and runStitcher().
void parseOptimizerScript (std::istream &i, const UIntSet &imgs, VariableMapVector &imgVars, CPVector &ctrlPoints) const
 read after optimization, fills in control point errors.
void printPanoramaScript (std::ostream &o, const OptimizeVector &optvars, const PanoramaOptions &options, const UIntSet &imgs, bool forPTOptimizer, const std::string &stripPrefix="") const
 create an optimizer script
void printStitcherScript (std::ostream &o, const PanoramaOptions &target, const UIntSet &imgs) const
 create the stitcher script
void addObserver (PanoramaObserver *o)
 add a panorama observer.
bool removeObserver (PanoramaObserver *observer)
 remove a panorama observer.
void clearObservers ()
 remove all panorama observers.
void changeFinished (bool keepDirty)
 notify observers about changes in this class
void changeFinished ()
 notify observers about changes in this class
void imageChanged (unsigned int imgNr)
 mark image for change notification.
void updateMasksForImage (unsigned int imgNr, MaskPolygonVector newMasks)
 set complete mask list for image with number
void updateMasks ()
 updates all active masks
virtual PanoramaDataMementogetNewMemento () const
 get the internal state
virtual bool setMementoToCopyOf (const PanoramaDataMemento *const memento)
 set the internal state
PanoramaMemento getMemento () const
 get the internal state
void setMemento (const PanoramaMemento &memento)
 set the internal state
bool needsOptimization ()
 true if control points or lens variables have been changed after the last optimisation
void markAsOptimized (bool optimized=true)
ReadWriteError readData (std::istream &dataInput, std::string documentType="")
 Reads data.
ReadWriteError writeData (std::ostream &dataOutput, std::string documentType="")
bool isDirty () const
 true if there are unsaved changes
void clearDirty ()
 clear dirty flag.
void setFilePrefix (std::string prefix)
 sets the path prefix of the images reffered with relative paths
void reset ()
 clear the internal state.

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

Protected Member Functions

void setDirty (const bool &dirty=true)
std::string getFilePrefix () const
void adjustVarLinks ()
 adjust the links of the linked variables, must be called when a lens has been changed.

Detailed Description

Model for a panorama.

This class contains the properties of a panorama That is:

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/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.

Changes should be made through command objects, not with direct calls.

Todo:
should the changer call the report() functions?

should we add constraints for the simple / advanced functionality to the model? I have to think a bit more about that issue. maybe the contraints can be factored out into another class that corrects then when updating. or we could have different models.. SimplePanorama and AdvancedPanorama.

also, it is useful to use the memento pattern for the internal state, so that redo/undo for complex interactions can be implemented without too much pain.


Constructor & Destructor Documentation

HuginBase::Panorama::Panorama  ) 
 

ctor.

Reimplemented in PT::Panorama.

HuginBase::Panorama::~Panorama  ) 
 

dtor.

Reimplemented in PT::Panorama.


Member Function Documentation

void HuginBase::Panorama::activateImage unsigned int  imgNr,
bool  active = true
[virtual]
 

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

Implements HuginBase::PanoramaData.

unsigned int HuginBase::Panorama::addCtrlPoint const ControlPoint point  )  [virtual]
 

add a new control point.

Implements HuginBase::PanoramaData.

unsigned int HuginBase::Panorama::addImage const SrcPanoImage img  )  [virtual]
 

add an Image to the panorama

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::addObserver PanoramaObserver o  )  [virtual]
 

add a panorama observer.

It will recieve all change messages. An observer can only be added once. if its added twice, the second addObserver() will have no effect.

Implements HuginBase::ManagedPanoramaData.

void HuginBase::Panorama::adjustVarLinks  )  [protected]
 

adjust the links of the linked variables, must be called when a lens has been changed.

void HuginBase::Panorama::changeControlPoint unsigned int  pNr,
const ControlPoint point
[virtual]
 

change a control Point.

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::changeFinished  )  [inline, virtual]
 

notify observers about changes in this class

This needs to be called explicitly by somebody after changes have been made. Allows to compress multiple changes into one notification.

Parameters:
keepDirty do not set dirty flag. useful for changing the dirty flag itself

Implements HuginBase::ManagedPanoramaData.

void HuginBase::Panorama::changeFinished bool  keepDirty  ) 
 

notify observers about changes in this class

This needs to be called explicitly by somebody after changes have been made. Allows to compress multiple changes into one notification.

Parameters:
keepDirty do not set dirty flag. useful for changing the dirty flag itself

void HuginBase::Panorama::clearDirty  )  [inline, virtual]
 

clear dirty flag.

call after save

Reimplemented from AppBase::DocumentData.

void HuginBase::Panorama::clearObservers  )  [virtual]
 

remove all panorama observers.

Warning:
this is a hack. it must not be used on normal Panorama's.

Implements HuginBase::ManagedPanoramaData.

Panorama HuginBase::Panorama::duplicate  )  const
 

duplicate the panorama

returns a copy of the pano state, except for the listeners.

UIntSet HuginBase::Panorama::getActiveImages  )  const [virtual]
 

get active images

Implements HuginBase::PanoramaData.

const ControlPoint& HuginBase::Panorama::getCtrlPoint std::size_t  nr  )  const [inline]
 

get a control point, counting starts with 0

const CPVector& HuginBase::Panorama::getCtrlPoints  )  const [inline, virtual]
 

get all control point of this Panorama

Implements HuginBase::PanoramaData.

std::vector< unsigned int > HuginBase::Panorama::getCtrlPointsForImage unsigned int  imgNr  )  const [virtual]
 

return all control points for a given image.

Implements HuginBase::PanoramaData.

std::string HuginBase::Panorama::getFilePrefix  )  const [inline, protected]
 

const SrcPanoImage& HuginBase::Panorama::getImage std::size_t  nr  )  const [inline, virtual]
 

get a panorama image, counting starts with 0

Implements HuginBase::PanoramaData.

const VariableMap HuginBase::Panorama::getImageVariables unsigned int  imgNr  )  const [virtual]
 

Get the variables of an image.

Should not be used for most GUI stuff, use the getImage(imgNr).get* methods instead for each variable you want.

Todo:
change things using this to use getImage(imgNr).get*() instead.

Implements HuginBase::PanoramaData.

PanoramaMemento HuginBase::Panorama::getMemento  )  const [inline]
 

get the internal state

PanoramaData* HuginBase::Panorama::getNewCopy  )  const [inline, virtual]
 

Implements HuginBase::PanoramaData.

PanoramaDataMemento * HuginBase::Panorama::getNewMemento  )  const [virtual]
 

get the internal state

Implements HuginBase::ManagedPanoramaData.

PanoramaData* HuginBase::Panorama::getNewSubset const UIntSet imgs  )  const [inline, virtual]
 

Implements HuginBase::PanoramaData.

int HuginBase::Panorama::getNextCPTypeLineNumber  )  const [virtual]
 

get the next unused line number for t3, ...

control point creation

Implements HuginBase::PanoramaData.

std::size_t HuginBase::Panorama::getNrOfCtrlPoints  )  const [inline]
 

number of control points

std::size_t HuginBase::Panorama::getNrOfImages  )  const [inline, virtual]
 

number of images.

Implements HuginBase::PanoramaData.

const PanoramaOptions& HuginBase::Panorama::getOptions  )  const [inline, virtual]
 

returns the options for this panorama

Implements HuginBase::PanoramaData.

SrcPanoImage HuginBase::Panorama::getSrcImage unsigned  imgNr  )  const [virtual]
 

get a description of a source image

Notice the SrcPanoImage is a copy. This removes all references to the other images, which means you should use getImage instead if you would like to find out about the variable links.

Warning:
Variable links cannot be accessed this way.

Implements HuginBase::PanoramaData.

Panorama HuginBase::Panorama::getSubset const UIntSet imgs  )  const
 

get a subset of the panorama

This returns a panorama that contains only the images specified by Useful for operations on a subset of the panorama

VariableMapVector HuginBase::Panorama::getVariables  )  const [virtual]
 

get variables of this panorama

Implements HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::hugin_utils::FDiff2D 0.  0,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default HuginBase::Panorama::hugin_utils::FDiff2D ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default HuginBase::Panorama::hugin_utils::FDiff2D 0.  0,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::hugin_utils::FDiff2D 0.  0,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default HuginBase::Panorama::hugin_utils::FDiff2D ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default HuginBase::Panorama::hugin_utils::FDiff2D 0.  0,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true false defaultMaskVector HuginBase::Panorama::image_variable Active  ,
bool  ,
true 
const [inline]
 

return the optimize settings stored inside panorama

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true false HuginBase::Panorama::image_variable Masks  ,
HuginBase::MaskPolygonVector  ,
defaultMaskVector 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable FeatherWidth  ,
unsigned  int,
10 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifExposureTime  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifDistance  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifAperture  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifFocalLength  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifMake  ,
std::string  ,
"" 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable RadialVigCorrCoeff  ,
std::vector< double ,
RadialVigCorrCoeff_default 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable VigCorrMode  ,
int  ,
VIGCORR_RADIAL|  VIGCORR_DIV
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP HuginBase::Panorama::image_variable CropRect  ,
vigra::Rect2D  ,
vigra::  Rect2D(0, 0, 0, 0)
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default HuginBase::Panorama::image_variable RadialDistortionBlue  ,
std::vector< double ,
distortion_default 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable RadialDistortion  ,
std::vector< double ,
distortion_default 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable ,
double  ,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable ,
double  ,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable Pitch  ,
double  ,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable WhiteBalanceBlue  ,
double  ,
1.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable Gamma  ,
double  ,
1.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable EMoRParams  ,
std::vector< float >  ,
std::vector< float >  (5, 0.0)
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR HuginBase::Panorama::image_variable HFOV  ,
double  ,
50.  0
 

Reimplemented from HuginBase::PanoramaData.

HuginBase::Panorama::image_variable Size  ,
vigra::Size2D  ,
vigra::  Size2D(0, 0)
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true false HuginBase::Panorama::image_variable Masks  ,
HuginBase::MaskPolygonVector  ,
defaultMaskVector 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable FeatherWidth  ,
unsigned  int,
10 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifExposureTime  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifDistance  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifAperture  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifFocalLength  ,
double  ,
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable ExifMake  ,
std::string  ,
"" 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable RadialVigCorrCoeff  ,
std::vector< double ,
RadialVigCorrCoeff_default 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::image_variable VigCorrMode  ,
int  ,
VIGCORR_RADIAL|  VIGCORR_DIV
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP HuginBase::Panorama::image_variable CropRect  ,
vigra::Rect2D  ,
vigra::  Rect2D(0, 0, 0, 0)
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default HuginBase::Panorama::image_variable RadialDistortionBlue  ,
std::vector< double ,
distortion_default 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable RadialDistortion  ,
std::vector< double ,
distortion_default 
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable ,
double  ,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable ,
double  ,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable Pitch  ,
double  ,
0.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable WhiteBalanceBlue  ,
double  ,
1.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable Gamma  ,
double  ,
1.  0
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR HuginBase::Panorama::image_variable EMoRParams  ,
std::vector< float >  ,
std::vector< float >  (5, 0.0)
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR HuginBase::Panorama::image_variable HFOV  ,
double  ,
50.  0
 

Reimplemented from HuginBase::PanoramaData.

HuginBase::Panorama::image_variable Filename  ,
std::string  ,
"" 
 

Note:
This file is #included multiple times after defining a macro for image_variable. The idea is to reduce the amount of tedoius code copy & pasted for each image variable. The list will be used to generate things the following:
  1. Member variables: ImageVarianle<[type]> m_[name];
  2. Accessor functions: [type] get[name]() const;
  3. Set functions: void set[name](const [type] data);
  4. Link functions: void link[name](SrcPanoImg)
  5. Unlink functions: void unlink[name]();
The arguments work as follows:
  1. the name of the variable
  2. the type of the variable
  3. the default value
There is some non automatic stuff in ImageVariableTranslate.h that will need changing if this list changes. That file handles the translation to and from PTO file format style variables.
See also:
ImageVariableTranslate.h

Reimplemented from HuginBase::PanoramaData.

void HuginBase::Panorama::imageChanged unsigned int  imgNr  )  [virtual]
 

mark image for change notification.

Does not send the notification, this is left to changedFinished()

Implements HuginBase::ManagedPanoramaData.

bool HuginBase::Panorama::isDirty  )  const [inline, virtual]
 

true if there are unsaved changes

Reimplemented from AppBase::DocumentData.

void HuginBase::Panorama::markAsOptimized bool  optimized = true  )  [inline, virtual]
 

Implements HuginBase::ManagedPanoramaData.

void HuginBase::Panorama::mergePanorama const Panorama newPano  ) 
 

merges the panorama with the given pano

bool HuginBase::Panorama::needsOptimization  )  [inline, virtual]
 

true if control points or lens variables have been changed after the last optimisation

Implements HuginBase::ManagedPanoramaData.

void HuginBase::Panorama::parseOptimizerScript std::istream &  i,
const UIntSet imgs,
VariableMapVector imgVars,
CPVector ctrlPoints
const [virtual]
 

read after optimization, fills in control point errors.

Parameters:
set of image numbers that where used during by printPanoramaScript().
vars will be set the the optimzied variables
ctrlPoints will contain the controlpoints, with distance information
Returns:
false on error (could not read optimizer output, parse error)

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::printPanoramaScript std::ostream &  o,
const OptimizeVector optvars,
const PanoramaOptions output,
const UIntSet imgs,
bool  forPTOptimizer,
const std::string &  stripPrefix = ""
const [virtual]
 

create an optimizer script

Note:
This file is #included multiple times after defining a macro for image_variable. The idea is to reduce the amount of tedoius code copy & pasted for each image variable. The list will be used to generate things the following:
  1. Member variables: ImageVarianle<[type]> m_[name];
  2. Accessor functions: [type] get[name]() const;
  3. Set functions: void set[name](const [type] data);
  4. Link functions: void link[name](SrcPanoImg)
  5. Unlink functions: void unlink[name]();
The arguments work as follows:
  1. the name of the variable
  2. the type of the variable
  3. the default value
There is some non automatic stuff in ImageVariableTranslate.h that will need changing if this list changes. That file handles the translation to and from PTO file format style variables.
See also:
ImageVariableTranslate.h

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::printStitcherScript std::ostream &  o,
const PanoramaOptions target,
const UIntSet imgs
const [virtual]
 

create the stitcher script

Implements HuginBase::PanoramaData.

Panorama::ReadWriteError HuginBase::Panorama::readData std::istream &  dataInput,
std::string  documentType = ""
[virtual]
 

Reads data.

You have to check with refered images after data is loaded as the file path is likely to be relative, and the image property might have been changed since the project is saved.

Implements AppBase::DocumentData.

void HuginBase::Panorama::removeCtrlPoint unsigned int  pNr  )  [virtual]
 

remove a control point.

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::removeDuplicateCtrlPoints  )  [virtual]
 

removes duplicates control points

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::removeImage unsigned int  nr  )  [virtual]
 

remove an Image.

also deletes/updates all associated control points and the Lens, if it was only used by this image.

Implements HuginBase::PanoramaData.

bool HuginBase::Panorama::removeObserver PanoramaObserver observer  )  [virtual]
 

remove a panorama observer.

Observers must be removed before they are destroyed, else Panorama will try to notify them after they have been destroyed

Returns:
true if observer was known, false otherwise.

Implements HuginBase::ManagedPanoramaData.

void HuginBase::Panorama::reset  ) 
 

clear the internal state.

(public use deprecated)

void HuginBase::Panorama::setCtrlPoints const CPVector points  )  [virtual]
 

set all control points (Ippei: Is this supposed to be 'add' method?)

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::setDirty const bool dirty = true  )  [inline, protected, virtual]
 

Reimplemented from AppBase::DocumentData.

void HuginBase::Panorama::setFilePrefix std::string  prefix  )  [inline]
 

sets the path prefix of the images reffered with relative paths

void HuginBase::Panorama::setImage std::size_t  nr,
SrcPanoImage  img
[inline, virtual]
 

set a panorama image, counting starts with 0

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::setImageFilename unsigned int  img,
const std::string &  fname
[virtual]
 

set a new image filename

It is assumed that it is of the same size as the old image.

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::setImageOptions unsigned int  i,
const ImageOptions opts
[virtual]
 

change image properties.

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::setMemento const PanoramaMemento memento  ) 
 

set the internal state

bool HuginBase::Panorama::setMementoToCopyOf const PanoramaDataMemento *const   memento  )  [virtual]
 

set the internal state

Implements HuginBase::ManagedPanoramaData.

void HuginBase::Panorama::setOptimizeVector const OptimizeVector optvec  )  [virtual]
 

set optimize setting

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::setOptions const PanoramaOptions opt  )  [virtual]
 

set new output settings This is not used directly for optimizing/stiching, but it can be feed into runOptimizer() and runStitcher().

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::setSrcImage unsigned int  nr,
const SrcPanoImage img
[virtual]
 

set input image parameters

This sets the values of the image variables, but does not change the links.

Warning:
Variable links cannot be set this way.

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::swapImages unsigned int  img1,
unsigned int  img2
[virtual]
 

swap images.

swaps the images, image img1 becomes img2 and the other way round

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::UpdateCropFactor UIntSet  imgs,
double  newCropFactor
[virtual]
 

updates the crop factor, try to keep focal length constant

void HuginBase::Panorama::updateCtrlPointErrors const UIntSet imgs,
const CPVector cps
[virtual]
 

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.

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::updateCtrlPointErrors const CPVector controlPoints  )  [virtual]
 

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

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::UpdateFocalLength UIntSet  imgs,
double  newFocalLength
[virtual]
 

updates the focal length by changing hfov

void HuginBase::Panorama::updateLineCtrlPoints  )  [virtual]
 

assign new mode line numbers, if required

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::updateMasks  ) 
 

updates all active masks

this is necessary after variables of *one* image has changed, because positive masks have to be updated

void HuginBase::Panorama::updateMasksForImage unsigned int  imgNr,
MaskPolygonVector  newMasks
 

set complete mask list for image with number

void HuginBase::Panorama::updateVariable unsigned int  imgNr,
const Variable var
[virtual]
 

update a single variable

It knows lenses etc and updates other images when the variable is linked

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::updateVariables unsigned int  imgNr,
const VariableMap var
[virtual]
 

Set variables for a single picture.

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::updateVariables const UIntSet imgs,
const VariableMapVector var
[virtual]
 

update variables for some specific images

Implements HuginBase::PanoramaData.

void HuginBase::Panorama::updateVariables const VariableMapVector vars  )  [virtual]
 

Set the variables.

Usually used when the optimizer results should be applied.

Implements HuginBase::PanoramaData.

HuginBase::Panorama::vigra::Size2D ,
 

Reimplemented from HuginBase::PanoramaData.

Panorama::ReadWriteError HuginBase::Panorama::writeData std::ostream &  dataOutput,
std::string  documentType = ""
[virtual]
 

Implements AppBase::DocumentData.


Member Data Documentation

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::bool
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::bool
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::double
 

Reimplemented from HuginBase::PanoramaData.

RECTILINEAR RESPONSE_EMOR distortion_default NO_CROP true HuginBase::Panorama::double
 

Reimplemented from HuginBase::PanoramaData.


The documentation for this class was generated from the following files:

Generated on Mon Sep 20 01:01:36 2010 for Hugintrunk by doxygen 1.3.9.1