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, const 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.
void moveImage (size_t img1, size_t img2)
 moves 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 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.
CPointVector getCtrlPointsVectorForImage (unsigned int imgNr) const
 return a vector of std::pairs with global ctrl point nr and ControlPoint In the class ControlPoint the image with imgNr is always image1
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.
const std::string getICCProfileDesc () const
 return description of icc profile used for pano
void setICCProfileDesc (const std::string &newDesc)
 sets the icc profile description for check of same profile
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
virtual void linkImageVariableFilename (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableSize (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableProjection (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableHFOV (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableCropFactor (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableResponseType (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableEMoRParams (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExposureValue (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableGamma (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableWhiteBalanceRed (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableWhiteBalanceBlue (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableRoll (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariablePitch (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableYaw (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableX (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableY (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableZ (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableTranslationPlaneYaw (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableTranslationPlanePitch (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableStack (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableRadialDistortion (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableRadialDistortionRed (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableRadialDistortionBlue (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableRadialDistortionCenterShift (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableShear (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableCropMode (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableCropRect (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableAutoCenterCrop (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableVigCorrMode (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableFlatfieldFilename (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableRadialVigCorrCoeff (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableRadialVigCorrCenterShift (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifModel (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifMake (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifLens (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifFocalLength (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifOrientation (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifAperture (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifISO (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifDistance (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifFocalLength35 (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifCropFactor (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifExposureTime (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifDate (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifExposureMode (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifRedBalance (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableExifBlueBalance (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableFileMetadata (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableMasks (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableActiveMasks (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void linkImageVariableActive (unsigned int sourceImgNr, unsigned int destImgNr)
virtual void unlinkImageVariableFilename (unsigned int imgNr)
virtual void unlinkImageVariableSize (unsigned int imgNr)
virtual void unlinkImageVariableProjection (unsigned int imgNr)
virtual void unlinkImageVariableHFOV (unsigned int imgNr)
virtual void unlinkImageVariableCropFactor (unsigned int imgNr)
virtual void unlinkImageVariableResponseType (unsigned int imgNr)
virtual void unlinkImageVariableEMoRParams (unsigned int imgNr)
virtual void unlinkImageVariableExposureValue (unsigned int imgNr)
virtual void unlinkImageVariableGamma (unsigned int imgNr)
virtual void unlinkImageVariableWhiteBalanceRed (unsigned int imgNr)
virtual void unlinkImageVariableWhiteBalanceBlue (unsigned int imgNr)
virtual void unlinkImageVariableRoll (unsigned int imgNr)
virtual void unlinkImageVariablePitch (unsigned int imgNr)
virtual void unlinkImageVariableYaw (unsigned int imgNr)
virtual void unlinkImageVariableX (unsigned int imgNr)
virtual void unlinkImageVariableY (unsigned int imgNr)
virtual void unlinkImageVariableZ (unsigned int imgNr)
virtual void unlinkImageVariableTranslationPlaneYaw (unsigned int imgNr)
virtual void unlinkImageVariableTranslationPlanePitch (unsigned int imgNr)
virtual void unlinkImageVariableStack (unsigned int imgNr)
virtual void unlinkImageVariableRadialDistortion (unsigned int imgNr)
virtual void unlinkImageVariableRadialDistortionRed (unsigned int imgNr)
virtual void unlinkImageVariableRadialDistortionBlue (unsigned int imgNr)
virtual void unlinkImageVariableRadialDistortionCenterShift (unsigned int imgNr)
virtual void unlinkImageVariableShear (unsigned int imgNr)
virtual void unlinkImageVariableCropMode (unsigned int imgNr)
virtual void unlinkImageVariableCropRect (unsigned int imgNr)
virtual void unlinkImageVariableAutoCenterCrop (unsigned int imgNr)
virtual void unlinkImageVariableVigCorrMode (unsigned int imgNr)
virtual void unlinkImageVariableFlatfieldFilename (unsigned int imgNr)
virtual void unlinkImageVariableRadialVigCorrCoeff (unsigned int imgNr)
virtual void unlinkImageVariableRadialVigCorrCenterShift (unsigned int imgNr)
virtual void unlinkImageVariableExifModel (unsigned int imgNr)
virtual void unlinkImageVariableExifMake (unsigned int imgNr)
virtual void unlinkImageVariableExifLens (unsigned int imgNr)
virtual void unlinkImageVariableExifFocalLength (unsigned int imgNr)
virtual void unlinkImageVariableExifOrientation (unsigned int imgNr)
virtual void unlinkImageVariableExifAperture (unsigned int imgNr)
virtual void unlinkImageVariableExifISO (unsigned int imgNr)
virtual void unlinkImageVariableExifDistance (unsigned int imgNr)
virtual void unlinkImageVariableExifFocalLength35 (unsigned int imgNr)
virtual void unlinkImageVariableExifCropFactor (unsigned int imgNr)
virtual void unlinkImageVariableExifExposureTime (unsigned int imgNr)
virtual void unlinkImageVariableExifDate (unsigned int imgNr)
virtual void unlinkImageVariableExifExposureMode (unsigned int imgNr)
virtual void unlinkImageVariableExifRedBalance (unsigned int imgNr)
virtual void unlinkImageVariableExifBlueBalance (unsigned int imgNr)
virtual void unlinkImageVariableFileMetadata (unsigned int imgNr)
virtual void unlinkImageVariableMasks (unsigned int imgNr)
virtual void unlinkImageVariableActiveMasks (unsigned int imgNr)
virtual void unlinkImageVariableActive (unsigned int imgNr)
virtual void updateWhiteBalance (double redFactor, double blueFactor)
 update the global white balace of the panorama by multiplying the red and blue factor of each image with given factors
const double getMaxExposureDifference () const
 returns the maximum exposure value difference of all images in the project
const bool hasPossibleStacks () const
 return true, if the metadata indicates that the projects is a bracketet project
void linkPossibleStacks (bool linkPosition)
 create automatically stacks as indicated by metadata
const OptimizeVectorgetOptimizeVector () const
 return the optimize settings stored inside panorama
void setOptimizeVector (const OptimizeVector &optvec)
 set optimize setting
const int getOptimizerSwitch () const
 returns optimizer master switch
void setOptimizerSwitch (const int newSwitch)
 set optimizer master switch
const int getPhotometricOptimizerSwitch () const
 return the photometric optimizer master switch
void setPhotometricOptimizerSwitch (const int newSwitch)
 sets the photometric optimizer master switch
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.
const bool hasPendingChanges () const
 return if the panorama class has pending changes normally all controls listen to panoramaChanges notification and react only there, but the fast preview window also reacts to changes in the Redraw procedure to handle the tools like drag or crop, use this as workaround (it does not include all changes)
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 (bool convertPosMaskToNeg=false)
 updates all active masks
void transferMask (MaskPolygon mask, unsigned int imgNr, const UIntSet &targetImgs)
 transfers given mask from image imgNr to all targetImgs
void updateOptimizeVector ()
 updates the optimize vector according to master switches
std::set< size_t > getRefImages ()
 returns set of reference image and images linked with reference images
void checkRefOptStatus (bool &linkRefImgsYaw, bool &linkRefImgsPitch, bool &linkRefImgsRoll)
 checks if yaw/pitch/roll of reference image can be check, it depends on number and type of control points
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
virtual 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.

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.

Private Member Functions

void centerCrop (unsigned int imgNr)
 center the crop for given image and all linked images
vigra::Rect2D centerCropImage (unsigned int imgNr)
 return the centered crop for given image
void updateCropMode (unsigned int imgNr)
 update the crop mode in dependence of crop rect and lens projection

Private Attributes

std::string imgFilePrefix
bool dirty
 this indicates that there are unsaved changes
PanoramaMemento state
std::list< PanoramaObserver * > observers
UIntSet changedImages
 the images that have been changed since the last changeFinished()
bool m_forceImagesUpdate
std::set< std::stringm_ptoptimizerVarNames

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?
Todo:
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.

Definition at line 149 of file Panorama.h.


Constructor & Destructor Documentation

HuginBase::Panorama::Panorama (  ) 

ctor.

Reimplemented in PT::Panorama.

Definition at line 43 of file Panorama.cpp.

References m_ptoptimizerVarNames.

HuginBase::Panorama::~Panorama (  ) 

dtor.

Reimplemented in PT::Panorama.

Definition at line 64 of file Panorama.cpp.

References DEBUG_TRACE, and reset().


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.

Definition at line 2377 of file Panorama.cpp.

Referenced by PanoCommand::SetActiveImagesCmd::processPanorama().

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

add a new control point.

Implements HuginBase::PanoramaData.

Definition at line 866 of file Panorama.cpp.

Referenced by AddControlPointsWithCheck(), CheckAndAddPoint(), createCtrlPoints(), FineTuneInterestPoints(), LensCalFrame::GetPanorama(), main(), PanoDetector::match(), PanoDetector::matchMultiRow(), PanoDetector::matchPrealigned(), iCPApp::OnRun(), PanoCommand::wxAddCtrlPointGridCmd::processPanorama(), PanoCommand::AddCtrlPointsCmd::processPanorama(), and PanoCommand::AddCtrlPointCmd::processPanorama().

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

add an Image to the panorama

Implements HuginBase::PanoramaData.

Definition at line 804 of file Panorama.cpp.

Referenced by HuginLines::_getVerticalLines(), CPEditorPanel::EstimatePoint(), PossiblePano::GeneratePanorama(), PossiblePano::GetNewProjectFilename(), LensCalFrame::GetPanorama(), main2(), processImg(), PanoCommand::wxApplyTemplateCmd::processPanorama(), PanoCommand::wxAddImagesCmd::processPanorama(), and PanoCommand::AddImagesCmd::processPanorama().

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.

Definition at line 2348 of file Panorama.cpp.

Referenced by GLPreviewFrame::GLPreviewFrame(), PreviewPanel::Init(), PanoPanel::Init(), OptimizePhotometricPanel::Init(), OptimizePanel::Init(), MaskEditorPanel::Init(), ImagesTreeCtrl::Init(), ImagesPanel::Init(), ImagesList::Init(), CPListCtrl::Init(), CPEditorPanel::Init(), OverviewOutlinesTool::OverviewOutlinesTool(), PreviewFrame::PreviewFrame(), PreviewLayoutLinesTool::PreviewLayoutLinesTool(), and ViewState::ViewState().

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

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

void HuginBase::Panorama::centerCrop ( unsigned int  imgNr  )  [private]

center the crop for given image and all linked images

Definition at line 1991 of file Panorama.cpp.

References AppBase::DocumentData::SUCCESSFUL.

vigra::Rect2D HuginBase::Panorama::centerCropImage ( unsigned int  imgNr  )  [private]

return the centered crop for given image

Definition at line 1974 of file Panorama.cpp.

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

change a control Point.

Implements HuginBase::PanoramaData.

Definition at line 919 of file Panorama.cpp.

Referenced by PanoCommand::ChangeCtrlPointCmd::processPanorama(), and PanoCommand::UpdateCPsCmd::processPanorama().

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.

Implements HuginBase::ManagedPanoramaData.

Definition at line 888 of file Panorama.h.

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

Definition at line 1638 of file Panorama.cpp.

void HuginBase::Panorama::checkRefOptStatus ( bool &  linkRefImgsYaw,
bool &  linkRefImgsPitch,
bool &  linkRefImgsRoll 
) [virtual]

checks if yaw/pitch/roll of reference image can be check, it depends on number and type of control points

Implements HuginBase::PanoramaData.

Definition at line 2062 of file Panorama.cpp.

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

clear dirty flag.

call after save

Reimplemented from AppBase::DocumentData.

Definition at line 969 of file Panorama.h.

Referenced by MainFrame::OnSaveProject().

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.

Definition at line 2360 of file Panorama.cpp.

Panorama HuginBase::Panorama::duplicate (  )  const

duplicate the panorama

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

Definition at line 2767 of file Panorama.cpp.

Referenced by PanoOperation::CleanControlPointsOperation::GetInternalCommand(), PanoDetector::loadProject(), PanoDetector::matchPrealigned(), GLPreviewFrame::OnCreateCP(), and GLPreviewFrame::ResetTranslationPlaneParameters().

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

get active images

Implements HuginBase::PanoramaData.

Definition at line 2387 of file Panorama.cpp.

Referenced by PreviewColorPickerTool::CalcCorrection(), PT::Panorama::calcOptimalStackROI(), PanoPanel::CheckHasImages(), PanoPanel::DoCalcFOV(), PanoPanel::DoCalcOptimalROI(), PanoPanel::DoCalcOptimalWidth(), PreviewEditCPTool::FindCPInRect(), HuginQueue::GetStitchingCommandQueue(), HuginQueue::GetStitchingCommandQueueUserOutput(), main(), main2(), GLPreviewFrame::OnAutocrop(), PreviewFrame::OnCenterHorizontally(), GLPreviewFrame::OnCenterHorizontally(), ImageToogleButtonEventHandler::OnChange(), PreviewFrame::OnChangeDisplayedImgs(), GLPreviewFrame::OnCreateCP(), ImageGroupButtonEventHandler::OnEnter(), ImageToogleButtonEventHandler::OnEnter(), PreviewFrame::OnFitPano(), GLPreviewFrame::OnFitPano(), ImageGroupButtonEventHandler::OnLeave(), ImageToogleButtonEventHandler::OnLeave(), OptimizePhotometricPanel::OnOptimizeButton(), OptimizePanel::OnOptimizeButton(), GLPreviewFrame::OnShowAll(), GLPreviewFrame::OnStackAutocrop(), PreviewFrame::panoramaChanged(), GLPreviewFrame::panoramaChanged(), PanoPanel::StackCheck(), RunStitchPanel::StitchProject(), PanoPanel::UpdateDisplay(), PlaneOverviewToolHelper::UpdateImagesUnderMouse(), PanosphereOverviewToolHelper::UpdateImagesUnderMouse(), PreviewToolHelper::UpdateImagesUnderMouse(), PreviewLayoutLinesTool::updateLineInformation(), and PreviewPanel::updatePreview().

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

get a control point, counting starts with 0

Implements HuginBase::PanoramaData.

Definition at line 304 of file Panorama.h.

Referenced by CPImagesComboBox::CalcCPDistance(), CPListCtrl::OnGetItemText(), CPEditorPanel::ShowControlPoint(), and PreviewLayoutLinesTool::updateLineInformation().

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

get all control point of this Panorama

Implements HuginBase::PanoramaData.

Definition at line 311 of file Panorama.h.

Referenced by PreviewControlPointTool::AfterDrawImagesEvent(), alignStereoWindow(), CompareStruct(), PreviewEditCPTool::FindCPInRect(), HuginQueue::GetAssistantCommandQueue(), HuginBase::getCPinMasks(), HuginBase::getCPoutsideLimit(), HuginBase::getCPoutsideLimit_pair(), PanoOperation::CleanControlPointsOperation::GetInternalCommand(), PanoOperation::RemoveControlPointsOperation::GetInternalCommand(), main(), main2(), MainFrame::OnFineTuneAll(), MainFrame::OnRemoveCPinMasks(), GLPreviewFrame::panoramaChanged(), PanoCommand::wxApplyTemplateCmd::processPanorama(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), AutoCtrlPointCreator::readUpdatedControlPoints(), PanoDetector::run(), CPListCtrl::SelectDistanceThreshold(), SetGeometricControlPointsOverlap(), SetGeometricControlPointsUnconnected(), CPEditorPanel::UpdateDisplay(), and CPListCtrl::UpdateInternalCPList().

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

return all control points for a given image.

Implements HuginBase::PanoramaData.

Definition at line 85 of file Panorama.cpp.

References HuginBase::PanoramaMemento::ctrlPoints, and state.

Referenced by ImagesTreeCtrl::UpdateImageText().

CPointVector HuginBase::Panorama::getCtrlPointsVectorForImage ( unsigned int  imgNr  )  const

return a vector of std::pairs with global ctrl point nr and ControlPoint In the class ControlPoint the image with imgNr is always image1

Definition at line 98 of file Panorama.cpp.

References HuginBase::PanoramaMemento::ctrlPoints, and state.

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

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

Definition at line 992 of file Panorama.h.

const std::string HuginBase::Panorama::getICCProfileDesc (  )  const

return description of icc profile used for pano

Definition at line 2400 of file Panorama.cpp.

Referenced by PanoCommand::wxAddImagesCmd::processPanorama().

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

get a panorama image, counting starts with 0

Implements HuginBase::PanoramaData.

Definition at line 203 of file Panorama.h.

Referenced by HuginLines::_getVerticalLines(), AddGeometricControlPoint(), PreviewControlPointTool::AfterDrawImagesEvent(), alignStereoWindow(), PanoDetector::AnalyzeImage(), PanoCommand::applyColorBalanceValue(), ApplyLensDBParameters(), ImageVariableDialog::ApplyNewVariables(), PanoDetector::buildMultiRowImageSets(), PreviewColorPickerTool::CalcCorrection(), PreviewColorPickerTool::CalcCorrectionForImage(), CheckAndAddPoint(), CheckLensStacks(), MaskEditorPanel::DisplayCrop(), PanoOutputDialog::EnableOutputOptions(), CPEditorPanel::estimateAndAddOtherPoint(), CPEditorPanel::EstimatePoint(), FillPlaceholders(), PreviewEditCPTool::FindCPInRect(), ViewState::FinishedDraw(), PossiblePano::GeneratePanorama(), HuginBase::getCPinMasks(), HuginBase::getCPoutsideLimit_pair(), getDefaultOutputName(), getDefaultProjectName(), PanoOperation::ResetOperation::GetInternalCommand(), PanoOperation::CelesteOperation::GetInternalCommand(), PanoOperation::SaveLensOperation::GetInternalCommand(), PanoOperation::LoadLensOperation::GetInternalCommand(), PanoOperation::RemoveImageOperation::GetInternalCommand(), PanoOperation::AddImagesSeriesOperation::GetInternalCommand(), MaskEditorPanel::GetRot(), HuginQueue::GetStitchingCommandQueue(), HuginQueue::GetStitchingCommandQueueUserOutput(), ImageVariableDialog::InitValues(), loadImgsAndExtractPoints(), PT::loadImgsAndExtractPoints(), main(), CPEditorPanel::NewPointChange(), ImagesTreeCtrl::OnBeginEdit(), CPEditorPanel::OnCelesteButton(), GLPreviewFrame::OnCreateCP(), ImagesTreeCtrl::OnEndEdit(), MainFrame::OnFineTuneAll(), ImagesPanel::OnFocalLengthChanged(), ImagesPanel::OnLensTypeChanged(), GLPreviewFrame::OnLensTypeChanged(), MaskEditorPanel::OnMaskCopy(), MaskEditorPanel::OnMaskLoad(), MaskEditorPanel::OnMaskPaste(), MaskEditorPanel::OnMaskSave(), LensCalFrame::OnSaveLens(), ImagesPanel::OnSelectionChanged(), ImageVariableDialog::OnShowDistortionGraph(), SortVectorByExposure::operator()(), SortImageVectorEV::operator()(), HuginBase::SortVectorByExposure::operator()(), LensCalFrame::Optimize(), ViewState::panoramaChanged(), GLPreviewFrame::panoramaChanged(), MaskEditorPanel::panoramaImagesChanged(), HuginQueue::detail::PrintDetailInfo(), PanoDetector::printFilenames(), PanoCommand::wxApplyTemplateCmd::processPanorama(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), PanoCommand::wxAddImagesCmd::processPanorama(), PanoCommand::wxAddCtrlPointGridCmd::processPanorama(), PTOCopyMove(), PanoDetector::RansacMatchesInPair(), AutoCtrlPointCreator::readUpdatedControlPoints(), GLPlaneOverviewRenderer::Redraw(), GLPanosphereOverviewRenderer::Redraw(), GLPreviewRenderer::Redraw(), HuginBase::LensDB::SaveLensDataFromPano(), SaveLensParameters(), SetGeometricControlPointsOverlap(), SetGeometricControlPointsUnconnected(), MaskEditorPanel::setImage(), CPEditorPanel::setLeftImage(), CPEditorPanel::setRightImage(), ImagesTreeCtrl::UpdateGroupText(), ImagesTreeCtrl::UpdateImageText(), ImagesListMask::UpdateItem(), PreviewLayoutLinesTool::updateLineInformation(), ImagesPanel::UpdatePreviewImage(), UpdateSingleVar(), CPEditorPanel::UpdateTransforms(), and PanoDetector::writeKeyfile().

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.

Definition at line 130 of file Panorama.cpp.

References HuginBase::PanoramaMemento::images, and state.

Referenced by PanoOperation::ResetOperation::GetInternalCommand(), GLPreviewFrame::panoramaChanged(), SaveLensParameters(), CPEditorPanel::setLeftImage(), and CPEditorPanel::setRightImage().

const double HuginBase::Panorama::getMaxExposureDifference (  )  const

returns the maximum exposure value difference of all images in the project

Definition at line 3336 of file Panorama.cpp.

Referenced by PanoCommand::wxAddImagesCmd::processPanorama().

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

get the internal state

Definition at line 926 of file Panorama.h.

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

Implements HuginBase::PanoramaData.

Definition at line 186 of file Panorama.h.

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

get the internal state

Implements HuginBase::ManagedPanoramaData.

Definition at line 2328 of file Panorama.cpp.

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

Implements HuginBase::PanoramaData.

Definition at line 180 of file Panorama.h.

Referenced by PanoDetector::RansacMatchesInPairCam().

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

get the next unused line number for t3, .

.. control point creation

Implements HuginBase::PanoramaData.

Definition at line 3256 of file Panorama.cpp.

Referenced by CPEditorPanel::panoramaChanged().

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

number of control points

Implements HuginBase::PanoramaData.

Definition at line 298 of file Panorama.h.

Referenced by CPImagesComboBox::CalcCPDistance(), HuginQueue::GetAssistantCommandQueue(), HuginBase::getCPoutsideLimit_pair(), PanoOperation::RemoveControlPointsOperation::GetInternalCommand(), PanoOperation::CleanControlPointsOperation::IsEnabled(), PanoOperation::RemoveControlPointsOperation::IsEnabled(), main(), GLPreviewFrame::OnLoadImages(), GLPreviewFrame::panoramaChanged(), CPListCtrl::panoramaChanged(), CPEditorPanel::panoramaChanged(), Project::ReadOptions(), and PreviewLayoutLinesTool::updateLineInformation().

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

number of images.

Implements HuginBase::PanoramaData.

Definition at line 197 of file Panorama.h.

Referenced by alignStereoWindow(), PanoCommand::applyColorBalanceValue(), AutoPanoSift::automatch(), CheckLensStacks(), CheckProjectFile(), TextureManager::CheckUpdate(), MeshManager::CheckUpdate(), GLPreviewFrame::CleanButtonColours(), TextureManager::CleanTextures(), ImagesPanel::CPGenerate(), PanoPanel::DoSendToBatch(), PanoPanel::DoStitch(), PanoPanel::DoUserDefinedStitch(), PanoOutputDialog::EnableOutputOptions(), FillPlaceholders(), ViewState::FinishedDraw(), HuginQueue::detail::GenerateFinalArgfile(), PossiblePano::GeneratePanorama(), HuginBase::getCPoutsideLimit_pair(), getDefaultOutputName(), getDefaultProjectName(), PanoOperation::AssignStacksOperation::GetInternalCommand(), PanoOperation::ResetOperation::GetInternalCommand(), PanoOperation::LoadLensOperation::GetInternalCommand(), PanoOperation::AddImagesSeriesOperation::GetInternalCommand(), LensCalFrame::GetPanorama(), HuginBase::getSortedStacks(), GLPreviewFrame::HasNonZeroTranslationPlaneParameters(), PanoOperation::AssignStacksOperation::IsEnabled(), PanoOperation::ChangeStackOperation::IsEnabled(), PanoOperation::NewStackOperation::IsEnabled(), PanoOperation::ResetOperation::IsEnabled(), PanoOperation::RemoveControlPointsOperation::IsEnabled(), PanoOperation::ChangeLensOperation::IsEnabled(), PanoOperation::NewLensOperation::IsEnabled(), loadImgsAndExtractPoints(), PT::loadImgsAndExtractPoints(), PanoDetector::loadProject(), main(), PreviewControlPointTool::MakeTransforms(), PanoDetector::matchMultiRow(), PanoDetector::matchPrealigned(), DragTool::MouseButtonEvent(), ImagesTreeCtrl::OnBeginDrag(), PreviewFrame::OnChangeDisplayedImgs(), ImagesPanel::OnCropFactorChanged(), GLPreviewFrame::OnCropFactorChanged(), PreviewFrame::OnDefaultExposure(), GLPreviewFrame::OnDefaultExposure(), ImagesTreeCtrl::OnEndDrag(), MainFrame::OnFineTuneAll(), ImagesPanel::OnFocalLengthChanged(), GLPreviewFrame::OnFocalLengthChanged(), CPEditorPanel::OnNextImg(), PreviewFrame::OnNumTransform(), GLPreviewFrame::OnNumTransform(), OptimizePhotometricPanel::OnOptimizeButton(), OptimizePanel::OnOptimizeButton(), CPEditorPanel::OnPrevImg(), iCPApp::OnRun(), MainFrame::OnSaveProject(), LensCalFrame::OnSaveProject(), MainFrame::OnSavePTStitcherAs(), PreviewFrame::OnShowAll(), GLPreviewFrame::OnShowAll(), PreviewFrame::OnShowNone(), GLPreviewFrame::OnShowNone(), PreviewFrame::OnStraighten(), GLPreviewFrame::OnStraighten(), GLPreviewFrame::OnToolModeChanging(), ViewState::panoramaChanged(), PreviewFrame::panoramaChanged(), ImagesTreeCtrl::panoramaChanged(), GLPreviewFrame::panoramaChanged(), OptimizePhotometricPanel::panoramaImagesChanged(), OptimizePanel::panoramaImagesChanged(), MaskEditorPanel::panoramaImagesChanged(), MainFrame::panoramaImagesChanged(), ImagesPanel::panoramaImagesChanged(), PanoDetector::printFilenames(), PanoCommand::wxApplyTemplateCmd::processPanorama(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), PanoCommand::wxAddImagesCmd::processPanorama(), PanoCommand::UpdateCropFactorCmd::processPanorama(), PanoCommand::SetActiveImagesCmd::processPanorama(), PTOCopyMove(), Project::ReadOptions(), AutoCtrlPointCreator::readUpdatedControlPoints(), GLPlaneOverviewRenderer::Redraw(), GLPanosphereOverviewRenderer::Redraw(), GLPreviewRenderer::Redraw(), VisualizationState::RequireRecalculateMesh(), GLPreviewFrame::ResetTranslationPlaneParameters(), PanoDetector::run(), MainFrame::RunAssistant(), HuginBase::LensDB::SaveLensDataFromPano(), ImagesTreeCtrl::SelectAllParameters(), SetGeometricControlPointsOverlap(), SetGeometricControlPointsUnconnected(), ImagesTreeCtrl::SetGroupMode(), ViewState::SetOptions(), VisualizationState::SetScale(), ImagesListMask::SetSingleSelect(), RunStitchPanel::StitchProject(), MeshManager::MeshInfo::Update(), PreviewLayoutLinesTool::updateImageCentres(), PlaneOverviewToolHelper::UpdateImagesUnderMouse(), PanosphereOverviewToolHelper::UpdateImagesUnderMouse(), PreviewToolHelper::UpdateImagesUnderMouse(), PreviewLayoutLinesTool::updateLineInformation(), HuginBase::UpdateOptVectorSet(), ImagesPanel::UpdatePreviewImage(), ViewState::ViewState(), VisualizationState::VisualizationState(), and work_on_triplets().

const int HuginBase::Panorama::getOptimizerSwitch (  )  const [inline, virtual]

returns optimizer master switch

Implements HuginBase::PanoramaData.

Definition at line 770 of file Panorama.h.

Referenced by OptimizePanel::OnOptimizeButton(), ImagesPanel::OnOptimizerSwitchChanged(), OptimizePanel::panoramaChanged(), MainFrame::panoramaChanged(), ImagesPanel::panoramaChanged(), MainFrame::SetGuiLevel(), and unlinkImageVariableFileMetadata().

const OptimizeVector& HuginBase::Panorama::getOptimizeVector (  )  const [inline, virtual]

return the optimize settings stored inside panorama

Implements HuginBase::PanoramaData.

Definition at line 763 of file Panorama.h.

Referenced by AutoCtrlPointCreator::Cleanup(), PanoPanel::DoStitch(), PanoPanel::DoUserDefinedStitch(), PossiblePano::GeneratePanorama(), hasphotometricParams(), main(), ImagesTreeCtrl::OnLeftDown(), iCPApp::OnRun(), MainFrame::OnSaveProject(), LensCalFrame::OnSaveProject(), PTOCopyMove(), MainFrame::RunAssistant(), ImagesTreeCtrl::SelectAllParameters(), MainFrame::SetGuiLevel(), RunStitchPanel::StitchProject(), and ImagesTreeCtrl::UpdateOptimizerVariables().

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

returns the options for this panorama

Implements HuginBase::PanoramaData.

Definition at line 790 of file Panorama.h.

Referenced by AddGeometricControlPoint(), PreviewDifferenceTool::AfterDrawImagesEvent(), alignStereoWindow(), PanoCommand::applyColorBalanceValue(), autoCrop(), TextureManager::Begin(), PanoPanel::BlenderChanged(), PreviewColorPickerTool::CalcCorrection(), PreviewColorPickerTool::CalcCorrectionForImage(), PT::Panorama::calcOptimalStackROI(), PanoPanel::CheckFreeSpace(), PanoPanel::CheckGoodSize(), AutoCtrlPointCreator::Cleanup(), PanoPanel::DoCalcFOV(), PanoPanel::DoCalcOptimalROI(), PanoPanel::DoCalcOptimalWidth(), PanoPanel::DoStitch(), PanoPanel::DoUserDefinedStitch(), PreviewPanel::DrawPreview(), CPEditorPanel::EstimatePoint(), PanoPanel::FileFormatChanged(), FillPlaceholders(), PreviewEditCPTool::FindCPInRect(), ViewState::FinishedDraw(), HuginQueue::detail::GenerateFinalArgfile(), PossiblePano::GeneratePanorama(), HuginBase::getCPoutsideLimit_pair(), PanoOperation::ResetOperation::GetInternalCommand(), PanoOperation::ChangeColorAnchorImageOperation::GetInternalCommand(), PanoOperation::ChangeAnchorImageOperation::GetInternalCommand(), LensCalFrame::GetPanorama(), PreviewEditCPTool::GetSelectedROI(), HuginQueue::GetStitchingCommandQueue(), HuginQueue::GetStitchingCommandQueueUserOutput(), CPEditorPanel::getVerticalCPBias(), PanoPanel::HDRFileFormatChanged(), PanoPanel::HeightChanged(), PanoPanel::HFOVChanged(), NonaOptionsDialog::InterpolatorChanged(), main(), main2(), PanoDetector::matchMultiRow(), GLPreviewFrame::OnAutocrop(), PanoPanel::OnBlenderOptions(), PreviewFrame::OnChangeFOV(), GLPreviewFrame::OnChangeFOV(), GLPreviewFrame::OnCreateCP(), PreviewFrame::OnDecreaseExposure(), GLPreviewFrame::OnDecreaseExposure(), PreviewFrame::OnDefaultExposure(), GLPreviewFrame::OnDefaultExposure(), GLPreviewFrame::OnExposureChanged(), PreviewFrame::OnFitPano(), GLPreviewFrame::OnFitPano(), PanoPanel::OnFusionOptions(), PanoPanel::OnHDRMergeOptions(), PanoPanel::OnHDRTIFFCompression(), GLPreviewFrame::OnHFOVChanged(), PreviewFrame::OnIncreaseExposure(), GLPreviewFrame::OnIncreaseExposure(), PanoPanel::OnJPEGQualityText(), ImagesPanel::OnMaxEvDiffChanged(), ImagesPanel::OnMinimumOverlapChanged(), PanoPanel::OnNormalTIFFCompression(), PreviewFrame::OnOutputChoice(), PanoPanel::OnOutputFilesChanged(), PreviewFrame::OnProjectionChoice(), GLPreviewFrame::OnProjectionChoice(), GLPreviewFrame::OnProjParameterChanged(), PreviewFrame::OnProjParameterReset(), GLPreviewFrame::OnProjParameterReset(), PanoPanel::OnRemapperOptions(), GLPreviewFrame::OnResetCrop(), GLPreviewFrame::OnROIChanged(), iCPApp::OnRun(), NonaOptionsDialog::OnSaveCropped(), MainFrame::OnSaveProject(), LensCalFrame::OnSaveProject(), MainFrame::OnSavePTStitcherAs(), GLPreviewFrame::OnStackAutocrop(), PreviewFrame::OnTextCtrlChanged(), GLPreviewFrame::OnTrackChangeFOV(), GLPreviewFrame::OnVFOVChanged(), ViewState::panoramaChanged(), PreviewPanel::panoramaChanged(), PreviewFrame::panoramaChanged(), PanoPanel::panoramaChanged(), NonaOptionsDialog::panoramaChanged(), ImagesPanel::panoramaChanged(), GLPreviewFrame::panoramaChanged(), PanoCommand::wxNewProjectCmd::processPanorama(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), PanoCommand::wxAddImagesCmd::processPanorama(), PanoCommand::StraightenPanoCmd::processPanorama(), PanoCommand::CenterPanoCmd::processPanorama(), PanoPanel::ProjectionChanged(), PTOCopyMove(), Project::ReadOptions(), PanoPanel::RemapperChanged(), PanoPanel::ROIChanged(), MainFrame::RunAssistant(), ImagesTreeCtrl::SelectAllParameters(), GLPreviewFrame::ShowProjectionWarnings(), PanoPanel::StackCheck(), RunStitchPanel::StitchProject(), ImagesTreeCtrl::UpdateImageText(), PreviewPanel::updatePreview(), CPEditorPanel::UpdateTransforms(), PanoPanel::VFOVChanged(), ViewState::ViewState(), PanoPanel::WidthChanged(), and work_on_triplets().

const int HuginBase::Panorama::getPhotometricOptimizerSwitch (  )  const [inline, virtual]

return the photometric optimizer master switch

Implements HuginBase::PanoramaData.

Definition at line 776 of file Panorama.h.

Referenced by OptimizePhotometricPanel::OnOptimizeButton(), ImagesPanel::OnPhotometricOptimizerSwitchChanged(), OptimizePhotometricPanel::panoramaChanged(), MainFrame::panoramaChanged(), ImagesPanel::panoramaChanged(), MainFrame::SetGuiLevel(), and unlinkImageVariableFileMetadata().

std::set< size_t > HuginBase::Panorama::getRefImages (  )  [virtual]

returns set of reference image and images linked with reference images

Implements HuginBase::PanoramaData.

Definition at line 2042 of file Panorama.cpp.

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.

Definition at line 2412 of file Panorama.cpp.

Referenced by HuginLines::_getVerticalLines(), ImageVariableDialog::ApplyNewVariables(), AutoPanoSift::automatch(), CheckProjectFile(), CPEditorPanel::EstimatePoint(), ViewState::FinishedDraw(), PossiblePano::GeneratePanorama(), PanoOperation::ResetOperation::GetInternalCommand(), LensCalFrame::GetPanorama(), GLPreviewFrame::HasNonZeroTranslationPlaneParameters(), PanoDetector::loadProject(), main(), main2(), DragTool::MouseButtonEvent(), GLPreviewFrame::OnCreateCP(), CPEditorPanel::OnTextPointChange(), ViewState::panoramaChanged(), print_result(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), PanoCommand::wxAddImagesCmd::processPanorama(), PanoDetector::RemapBackKeypoints(), GLPreviewFrame::ResetTranslationPlaneParameters(), resetValues(), MaskEditorPanel::UpdateCrop(), PreviewPanel::updatePreview(), ViewState::ViewState(), and work_on_triplets().

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

Referenced by HuginBase::getCPoutsideLimit_pair(), and PanoDetector::matchMultiRow().

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

get variables of this panorama

Implements HuginBase::PanoramaData.

Definition at line 120 of file Panorama.cpp.

References HuginBase::PanoramaMemento::images, and state.

Referenced by OptimizePanel::AskApplyResult(), ImageVariableDialog::InitValues(), PanoDetector::matchMultiRow(), PanoDetector::matchPrealigned(), and GLPreviewFrame::ResetTranslationPlaneParameters().

const bool HuginBase::Panorama::hasPendingChanges (  )  const

return if the panorama class has pending changes normally all controls listen to panoramaChanges notification and react only there, but the fast preview window also reacts to changes in the Redraw procedure to handle the tools like drag or crop, use this as workaround (it does not include all changes)

Definition at line 2365 of file Panorama.cpp.

Referenced by GLViewer::Redraw().

const bool HuginBase::Panorama::hasPossibleStacks (  )  const

return true, if the metadata indicates that the projects is a bracketet project

Definition at line 3353 of file Panorama.cpp.

Referenced by PossiblePano::GeneratePanorama(), and PanoCommand::wxAddImagesCmd::processPanorama().

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.

Definition at line 2370 of file Panorama.cpp.

References HuginBase::PanoramaOptions::JPEG, and HuginBase::PanoramaOptions::JPEG_m.

Referenced by updateCtrlPointErrors(), updateMasksForImage(), and HuginBase::UpdateOptVectorSet().

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

true if there are unsaved changes

Reimplemented from AppBase::DocumentData.

Definition at line 960 of file Panorama.h.

Referenced by MainFrame::CloseProject(), and PanoPanel::DoSendToBatch().

void HuginBase::Panorama::linkImageVariableActive ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 606 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableActiveMasks ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 603 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableAutoCenterCrop ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 553 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableCropFactor ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 512 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableCropMode ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 551 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableCropRect ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 552 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableEMoRParams ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 516 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifAperture ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 576 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifBlueBalance ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 585 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifCropFactor ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 580 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifDate ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 582 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifDistance ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 578 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifExposureMode ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 583 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifExposureTime ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 581 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifFocalLength ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 574 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifFocalLength35 ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 579 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifISO ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 577 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifLens ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 573 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifMake ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 572 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifModel ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 571 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifOrientation ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 575 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExifRedBalance ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 584 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableExposureValue ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 517 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableFileMetadata ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 586 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableFilename ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 507 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableFlatfieldFilename ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 559 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableGamma ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 518 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableHFOV ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 511 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableMasks ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 600 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariablePitch ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 524 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableProjection ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 510 of file Panorama.cpp.

Referenced by PanoCommand::wxLoadPTProjectCmd::processPanorama().

void HuginBase::Panorama::linkImageVariableRadialDistortion ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 538 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableRadialDistortionBlue ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 542 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableRadialDistortionCenterShift ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 545 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableRadialDistortionRed ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 541 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableRadialVigCorrCenterShift ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 561 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableRadialVigCorrCoeff ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 560 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableResponseType ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 515 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableRoll ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 523 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableShear ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 548 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableSize ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 508 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableStack ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 535 of file Panorama.cpp.

Referenced by main2().

void HuginBase::Panorama::linkImageVariableTranslationPlanePitch ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 532 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableTranslationPlaneYaw ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 531 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableVigCorrMode ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 556 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableWhiteBalanceBlue ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 520 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableWhiteBalanceRed ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 519 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableX ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 527 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableY ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 528 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableYaw ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 525 of file Panorama.cpp.

void HuginBase::Panorama::linkImageVariableZ ( unsigned int  sourceImgNr,
unsigned int  destImgNr 
) [virtual]

Implements HuginBase::PanoramaData.

Definition at line 529 of file Panorama.cpp.

void HuginBase::Panorama::linkPossibleStacks ( bool  linkPosition  ) 

create automatically stacks as indicated by metadata

Definition at line 3397 of file Panorama.cpp.

Referenced by PossiblePano::GeneratePanorama(), and PanoCommand::wxAddImagesCmd::processPanorama().

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

Implements HuginBase::ManagedPanoramaData.

Definition at line 942 of file Panorama.h.

Referenced by PanoCommand::wxLoadPTProjectCmd::processPanorama(), and PanoCommand::UpdateVariablesCPSetCmd::processPanorama().

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

merges the panorama with the given pano

Referenced by main(), and PanoCommand::MergePanoCmd::processPanorama().

void HuginBase::Panorama::moveImage ( size_t  img1,
size_t  img2 
) [virtual]

moves images.

moves the image from pos1 to pos2

Implements HuginBase::PanoramaData.

Definition at line 2231 of file Panorama.cpp.

Referenced by PanoCommand::MoveImageCmd::processPanorama().

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

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

Implements HuginBase::ManagedPanoramaData.

Definition at line 938 of file Panorama.h.

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.

Definition at line 1487 of file Panorama.cpp.

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

create an optimizer script

Implements HuginBase::PanoramaData.

Referenced by AutoCtrlPointCreator::Cleanup(), PanoPanel::DoStitch(), PanoPanel::DoUserDefinedStitch(), PossiblePano::GeneratePanorama(), main(), main2(), iCPApp::OnRun(), MainFrame::OnSaveProject(), LensCalFrame::OnSaveProject(), PTOCopyMove(), MainFrame::RunAssistant(), and RunStitchPanel::StitchProject().

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

create the stitcher script

Implements HuginBase::PanoramaData.

Definition at line 1429 of file Panorama.cpp.

Referenced by MainFrame::OnSavePTStitcherAs().

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.

Definition at line 3270 of file Panorama.cpp.

Referenced by CheckProjectFile(), PanoDetector::loadProject(), main(), HuginExecutor::OnRun(), PanoCommand::LoadPTProjectCmd::processPanorama(), processPTO(), and PTOCopyMove().

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

remove a control point.

Implements HuginBase::PanoramaData.

Definition at line 876 of file Panorama.cpp.

Referenced by main(), PanoCommand::RemoveCtrlPointsCmd::processPanorama(), and PanoCommand::RemoveCtrlPointCmd::processPanorama().

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

removes duplicates control points

Implements HuginBase::PanoramaData.

Definition at line 891 of file Panorama.cpp.

References DEBUG_DEBUG, DEBUG_ERROR, map_get(), and HuginBase::PTScriptParsing::readVar().

Referenced by PanoDetector::writeOutput().

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.

Definition at line 814 of file Panorama.cpp.

References m_ptoptimizerVarNames, and set_contains().

Referenced by PanoCommand::RemoveImagesCmd::processPanorama(), and PanoCommand::RemoveImageCmd::processPanorama().

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.

Definition at line 2353 of file Panorama.cpp.

Referenced by CPEditorPanel::~CPEditorPanel(), CPListCtrl::~CPListCtrl(), GLPreviewFrame::~GLPreviewFrame(), ImagesList::~ImagesList(), ImagesPanel::~ImagesPanel(), ImagesTreeCtrl::~ImagesTreeCtrl(), MainFrame::~MainFrame(), MaskEditorPanel::~MaskEditorPanel(), NonaOptionsDialog::~NonaOptionsDialog(), OptimizePanel::~OptimizePanel(), OptimizePhotometricPanel::~OptimizePhotometricPanel(), PanoPanel::~PanoPanel(), PreviewFrame::~PreviewFrame(), PreviewLayoutLinesTool::~PreviewLayoutLinesTool(), PreviewPanel::~PreviewPanel(), and ViewState::~ViewState().

void HuginBase::Panorama::reset (  ) 

clear the internal state.

(public use deprecated)

Definition at line 71 of file Panorama.cpp.

References HuginBase::PanoramaMemento::ctrlPoints, HuginBase::PanoramaMemento::deleteAllImages(), dirty, HuginBase::PanoramaMemento::needsOptimization, HuginBase::PanoramaMemento::options, HuginBase::PanoramaMemento::optPhotoSwitch, HuginBase::PanoramaMemento::optSwitch, HuginBase::PanoramaMemento::optvec, HuginBase::PanoramaOptions::reset(), AppBase::DocumentData::setDirty(), and state.

Referenced by PanoCommand::wxNewProjectCmd::processPanorama(), PanoCommand::NewPanoCmd::processPanorama(), and ~Panorama().

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

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

Implements HuginBase::PanoramaData.

Definition at line 934 of file Panorama.cpp.

Referenced by alignStereoWindow(), CPEditorPanel::EstimatePoint(), HuginBase::getCPoutsideLimit(), HuginBase::getCPoutsideLimit_pair(), PanoOperation::CleanControlPointsOperation::GetInternalCommand(), main(), main2(), GLPreviewFrame::OnCreateCP(), and PanoCommand::wxLoadPTProjectCmd::processPanorama().

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

Reimplemented from AppBase::DocumentData.

Definition at line 976 of file Panorama.h.

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

sets the path prefix of the images reffered with relative paths

Definition at line 988 of file Panorama.h.

Referenced by CheckProjectFile(), PanoDetector::loadProject(), main(), HuginExecutor::OnRun(), processPTO(), and PTOCopyMove().

void HuginBase::Panorama::setICCProfileDesc ( const std::string newDesc  ) 

sets the icc profile description for check of same profile

Definition at line 2405 of file Panorama.cpp.

Referenced by PanoCommand::wxLoadPTProjectCmd::processPanorama(), and PanoCommand::wxAddImagesCmd::processPanorama().

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

set a panorama image, counting starts with 0

Implements HuginBase::PanoramaData.

Definition at line 210 of file Panorama.h.

Referenced by PanoDetector::loadProject().

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.

Definition at line 858 of file Panorama.cpp.

Referenced by main(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), and PTOCopyMove().

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

set the internal state

Definition at line 2309 of file Panorama.cpp.

Referenced by RunStitchPanel::DetectProject(), MainFrame::OnMergeProject(), iCPApp::OnRun(), PanoCommand::wxApplyTemplateCmd::processPanorama(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), Project::ReadOptions(), AutoCtrlPointCreator::readUpdatedControlPoints(), and RunStitchPanel::StitchProject().

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

set the internal state

Implements HuginBase::ManagedPanoramaData.

Definition at line 2286 of file Panorama.cpp.

References DEBUG_DEBUG.

void HuginBase::Panorama::setOptimizerSwitch ( const int  newSwitch  )  [virtual]

set optimizer master switch

Implements HuginBase::PanoramaData.

Definition at line 788 of file Panorama.cpp.

Referenced by PossiblePano::GeneratePanorama(), PanoCommand::wxNewProjectCmd::processPanorama(), and PanoCommand::UpdateOptimizerSwitchCmd::processPanorama().

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

set optimize setting

Implements HuginBase::PanoramaData.

Definition at line 782 of file Panorama.cpp.

Referenced by CPEditorPanel::EstimatePoint(), HuginBase::getCPoutsideLimit_pair(), LensCalFrame::GetPanorama(), main2(), optimize_old(), and PanoCommand::UpdateOptimizeVectorCmd::processPanorama().

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.

Definition at line 2333 of file Panorama.cpp.

References DEBUG_WARN.

Referenced by HuginLines::_getVerticalLines(), autoCrop(), PossiblePano::GeneratePanorama(), HuginBase::getCPoutsideLimit_pair(), LensCalFrame::GetPanorama(), main(), main2(), PanoDetector::matchMultiRow(), processImg(), PanoCommand::wxNewProjectCmd::processPanorama(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), PanoCommand::wxAddImagesCmd::processPanorama(), PanoCommand::SetPanoOptionsCmd::processPanorama(), PanoCommand::StraightenPanoCmd::processPanorama(), PanoCommand::CenterPanoCmd::processPanorama(), Project::ReadOptions(), PanoPanel::StackCheck(), and RunStitchPanel::StitchProject().

void HuginBase::Panorama::setPhotometricOptimizerSwitch ( const int  newSwitch  )  [virtual]

sets the photometric optimizer master switch

Implements HuginBase::PanoramaData.

Definition at line 796 of file Panorama.cpp.

Referenced by PossiblePano::GeneratePanorama(), PanoCommand::wxNewProjectCmd::processPanorama(), and PanoCommand::UpdatePhotometricOptimizerSwitchCmd::processPanorama().

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.

Referenced by CheckProjectFile(), PossiblePano::GeneratePanorama(), LensCalFrame::GetPanorama(), main(), main2(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), PanoCommand::wxAddImagesCmd::processPanorama(), PanoCommand::UpdateSrcImagesCmd::processPanorama(), PanoCommand::UpdateSrcImageCmd::processPanorama(), GLPreviewFrame::ResetTranslationPlaneParameters(), and resetValues().

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.

Definition at line 2187 of file Panorama.cpp.

Referenced by PanoCommand::SwapImagesCmd::processPanorama().

void HuginBase::Panorama::transferMask ( MaskPolygon  mask,
unsigned int  imgNr,
const UIntSet targetImgs 
) [virtual]

transfers given mask from image imgNr to all targetImgs

Implements HuginBase::PanoramaData.

Definition at line 1697 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableActive ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 778 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableActiveMasks ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 775 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableAutoCenterCrop ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 725 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableCropFactor ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 684 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableCropMode ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 723 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableCropRect ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 724 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableEMoRParams ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 688 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifAperture ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 748 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifBlueBalance ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 757 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifCropFactor ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 752 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifDate ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 754 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifDistance ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 750 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifExposureMode ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 755 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifExposureTime ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 753 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifFocalLength ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 746 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifFocalLength35 ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 751 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifISO ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 749 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifLens ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 745 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifMake ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 744 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifModel ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 743 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifOrientation ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 747 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExifRedBalance ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 756 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableExposureValue ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 689 of file Panorama.cpp.

Referenced by main2().

void HuginBase::Panorama::unlinkImageVariableFileMetadata ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 758 of file Panorama.cpp.

References getOptimizerSwitch(), and getPhotometricOptimizerSwitch().

void HuginBase::Panorama::unlinkImageVariableFilename ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 679 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableFlatfieldFilename ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 731 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableGamma ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 690 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableHFOV ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 683 of file Panorama.cpp.

Referenced by main2().

void HuginBase::Panorama::unlinkImageVariableMasks ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 772 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariablePitch ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 696 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableProjection ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 682 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableRadialDistortion ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 710 of file Panorama.cpp.

Referenced by main2().

void HuginBase::Panorama::unlinkImageVariableRadialDistortionBlue ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 714 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableRadialDistortionCenterShift ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 717 of file Panorama.cpp.

Referenced by main2().

void HuginBase::Panorama::unlinkImageVariableRadialDistortionRed ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 713 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableRadialVigCorrCenterShift ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 733 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableRadialVigCorrCoeff ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 732 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableResponseType ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 687 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableRoll ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 695 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableShear ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 720 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableSize ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 680 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableStack ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 707 of file Panorama.cpp.

References HuginBase::PanoramaOptions::NO_BLEND.

void HuginBase::Panorama::unlinkImageVariableTranslationPlanePitch ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 704 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableTranslationPlaneYaw ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 703 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableVigCorrMode ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 728 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableWhiteBalanceBlue ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 692 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableWhiteBalanceRed ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 691 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableX ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 699 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableY ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 700 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableYaw ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 697 of file Panorama.cpp.

void HuginBase::Panorama::unlinkImageVariableZ ( unsigned int  imgNr  )  [virtual]

Implements HuginBase::PanoramaData.

Definition at line 701 of file Panorama.cpp.

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

updates the crop factor, try to keep focal length constant

Definition at line 417 of file Panorama.cpp.

Referenced by PanoCommand::UpdateCropFactorCmd::processPanorama().

void HuginBase::Panorama::updateCropMode ( unsigned int  imgNr  )  [private]

update the crop mode in dependence of crop rect and lens projection

Definition at line 1954 of file Panorama.cpp.

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.

Definition at line 137 of file Panorama.cpp.

References HuginBase::PanoramaMemento::ctrlPoints, imageChanged(), set_contains(), and state.

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.

Definition at line 162 of file Panorama.cpp.

References HuginBase::PanoramaMemento::ctrlPoints, imageChanged(), and state.

Referenced by PanoCommand::UpdateVariablesCPSetCmd::processPanorama(), and PanoCommand::UpdateVariablesCPCmd::processPanorama().

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

updates the focal length by changing hfov

Definition at line 390 of file Panorama.cpp.

Referenced by PanoCommand::UpdateFocalLengthCmd::processPanorama().

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

assign new mode line numbers, if required

Implements HuginBase::PanoramaData.

Definition at line 956 of file Panorama.cpp.

void HuginBase::Panorama::updateMasks ( bool  convertPosMaskToNeg = false  )  [virtual]

updates all active masks

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

Implements HuginBase::PanoramaData.

Definition at line 1795 of file Panorama.cpp.

Referenced by PanoDetector::loadProject().

void HuginBase::Panorama::updateMasksForImage ( unsigned int  imgNr,
MaskPolygonVector  newMasks 
) [virtual]

set complete mask list for image with number

Implements HuginBase::PanoramaData.

Definition at line 1689 of file Panorama.cpp.

References HuginBase::PanoramaOptions::colorReferenceImage, imageChanged(), and HuginBase::PanoramaOptions::optimizeReferenceImage.

Referenced by main().

void HuginBase::Panorama::updateOptimizeVector (  )  [virtual]

updates the optimize vector according to master switches

Implements HuginBase::PanoramaData.

Definition at line 2106 of file Panorama.cpp.

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

Referenced by PanoCommand::SetVariableCmd::processPanorama(), UpdateSingleVar(), and updateVariables().

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

Set variables for a single picture.

Implements HuginBase::PanoramaData.

Definition at line 193 of file Panorama.cpp.

References HuginBase::PanoramaMemento::images, state, and updateVariable().

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

update variables for some specific images

Implements HuginBase::PanoramaData.

Definition at line 183 of file Panorama.cpp.

References HuginBase::PanoramaMemento::images, state, and updateVariables().

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

Set the variables.

Usually used when the optimizer results should be applied.

Implements HuginBase::PanoramaData.

Definition at line 173 of file Panorama.cpp.

References HuginBase::PanoramaMemento::images, and state.

Referenced by PanoDetector::matchMultiRow(), PanoDetector::matchPrealigned(), PanoCommand::UpdateImagesVariablesCmd::processPanorama(), PanoCommand::UpdateImageVariablesCmd::processPanorama(), PanoCommand::UpdateVariablesCPSetCmd::processPanorama(), PanoCommand::UpdateVariablesCPCmd::processPanorama(), PanoCommand::UpdateVariablesCmd::processPanorama(), and updateVariables().

void HuginBase::Panorama::updateWhiteBalance ( double  redFactor,
double  blueFactor 
) [virtual]

update the global white balace of the panorama by multiplying the red and blue factor of each image with given factors

Implements HuginBase::PanoramaData.

Definition at line 3306 of file Panorama.cpp.

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

Implements AppBase::DocumentData.

Definition at line 3294 of file Panorama.cpp.

Referenced by PanoDetector::writeOutput().


Member Data Documentation

UIntSet HuginBase::Panorama::changedImages [private]

the images that have been changed since the last changeFinished()

Definition at line 1021 of file Panorama.h.

bool HuginBase::Panorama::dirty [private]

this indicates that there are unsaved changes

Definition at line 1016 of file Panorama.h.

Referenced by reset().

std::string HuginBase::Panorama::imgFilePrefix [private]

Definition at line 1013 of file Panorama.h.

bool HuginBase::Panorama::m_forceImagesUpdate [private]

Definition at line 1023 of file Panorama.h.

std::set<std::string> HuginBase::Panorama::m_ptoptimizerVarNames [private]

Definition at line 1025 of file Panorama.h.

Referenced by Panorama(), and removeImage().

std::list<PanoramaObserver *> HuginBase::Panorama::observers [private]

Definition at line 1019 of file Panorama.h.

PanoramaMemento HuginBase::Panorama::state [private]

Definition at line 1018 of file Panorama.h.

Referenced by getCtrlPointsForImage(), getCtrlPointsVectorForImage(), getImageVariables(), getVariables(), reset(), updateCtrlPointErrors(), and updateVariables().


The documentation for this class was generated from the following files:
Generated on 30 Jul 2015 for Hugintrunk by  doxygen 1.4.7