Hugin trunk 0.1
Loading...
Searching...
No Matches
Namespaces | Functions
LensTools.cpp File Reference

some helper classes for working with lenses More...

#include "panoinc_WX.h"
#include <wx/msgdlg.h>
#include "panoinc.h"
#include "LensTools.h"
#include <algorithm>
#include "panodata/ImageVariableTranslate.h"
#include "panodata/StandardImageVariableGroups.h"
#include "base_wx/PanoCommand.h"
#include "wxutils.h"
#include "panodata/image_variables.h"
Include dependency graph for LensTools.cpp:

Go to the source code of this file.

Namespaces

namespace  FormatString
 

Functions

void FillLensProjectionList (wxControlWithItems *list)
 Fills a wxControlWithItem with all input projection formats, the client data contains the associated projection number.
 
WXIMPEX HuginLensTools::LensInfoVector GetLensProjectionList ()
 return a vector with all available projections
 
void FillBlenderList (wxControlWithItems *list)
 Fills a wxControlWithItem with all possible blender options, the client data contains the associated blender mod from PanoramaOptions.
 
void SelectListValue (wxControlWithItems *list, size_t newValue)
 Selects the given value (stored in the client data) in the given list item.
 
size_t GetSelectedValue (wxControlWithItems *list)
 Returns the client value of the selected item from list.
 
wxString getProjectionString (const HuginBase::SrcPanoImage &img)
 Returns translated projection for given image.
 
wxString getResponseString (const HuginBase::SrcPanoImage &img)
 Returns translated response type for given SrcPanoImage.
 
void SaveLensParameters (const wxString filename, HuginBase::Panorama *pano, unsigned int imgNr)
 save the lens parameters of the image to a lens file named filename
 
bool ApplyLensParameters (wxWindow *parent, HuginBase::Panorama *pano, HuginBase::UIntSet images, PanoCommand::PanoCommand *&cmd)
 applies lens parameter from user selected file to pano using GlobalCmdHist
 
bool LoadLensParametersChoose (wxWindow *parent, HuginBase::Lens &lens, bool &cropped, bool &autoCenterCrop, vigra::Rect2D &cropRect)
 load lens parameters from lens ini file
 
void SaveLensParametersToIni (wxWindow *parent, HuginBase::Panorama *pano, const HuginBase::UIntSet images)
 saves the lens parameters to ini files, provides all necessary dialogs
 
bool CheckLensStacks (HuginBase::Panorama *pano, bool allowCancel)
 check, if lens and stacks are correctly linked shows message box with short information if not
 
wxString FormatString::GetExifDateTime (const HuginBase::SrcPanoImage *img)
 returns Exif DateTimeOriginal as formatted wxString
 
wxString FormatString::GetFocalLength (const HuginBase::SrcPanoImage *img)
 return focallength and focallength 35 mm as wxString
 
wxString FormatString::GetAperture (const HuginBase::SrcPanoImage *img)
 returns formatted aperture value
 
wxString FormatString::GetExposureTime (const HuginBase::SrcPanoImage *img)
 returns formatted exposure time
 
wxString FormatString::GetIso (const HuginBase::SrcPanoImage *img)
 returns formatted iso value
 

Detailed Description

some helper classes for working with lenses

Author
T. Modes

Definition in file LensTools.cpp.

Function Documentation

◆ ApplyLensParameters()

bool ApplyLensParameters ( wxWindow *  parent,
HuginBase::Panorama pano,
HuginBase::UIntSet  images,
PanoCommand::PanoCommand *&  command 
)

applies lens parameter from user selected file to pano using GlobalCmdHist

Parameters
parentparent window for showing message boxes
panoPanorama in which the lens data should read
imagesimages for which the lens parameters should be set, check image sizes before running this function
commandpointer to PanoCommand::PanoCommand for insertion into command history
Returns
true if sucessful loaded lens parameters
Todo:
I think the sensor size should be copied over, but SrcPanoImage doesn't have such a variable yet.

Definition at line 206 of file LensTools.cpp.

References HuginBase::Lens::getCropFactor(), HuginBase::Panorama::getImageVariables(), HuginBase::ConstStandardImageVariableGroups::getLensVariables(), HuginBase::Lens::getProjection(), LoadLensParametersChoose(), HuginBase::BaseSrcPanoImage::NO_CROP, threshold(), and HuginBase::Lens::variables.

Referenced by PanoOperation::LoadLensOperation::GetInternalCommand().

◆ CheckLensStacks()

bool CheckLensStacks ( HuginBase::Panorama pano,
bool  allowCancel 
)

check, if lens and stacks are correctly linked shows message box with short information if not

Parameters
panoPanorama which should be checked
allowCancelif true the message box contains also a Cancel button, if false there is only ok button
Returns
true, if all conditions are satisfied, false if user selected cancel in dialog box

Definition at line 447 of file LensTools.cpp.

References flags, HuginBase::Panorama::getImage(), HuginBase::Panorama::getNrOfImages(), hugin_utils::HuginMessageBox(), and threshold().

Referenced by OptimizePanel::OnOptimizeButton(), and PanoCommand::wxLoadPTProjectCmd::processPanorama().

◆ FillBlenderList()

void FillBlenderList ( wxControlWithItems list)

Fills a wxControlWithItem with all possible blender options, the client data contains the associated blender mod from PanoramaOptions.

Definition at line 82 of file LensTools.cpp.

References HuginBase::PanoramaOptions::ENBLEND_BLEND, HuginBase::PanoramaOptions::INTERNAL_BLEND, and threshold().

Referenced by PanoPanel::Create(), FindPanoDialog::FindPanoDialog(), and PreferencesDialog::PreferencesDialog().

◆ FillLensProjectionList()

void FillLensProjectionList ( wxControlWithItems list)

Fills a wxControlWithItem with all input projection formats, the client data contains the associated projection number.

Definition at line 36 of file LensTools.cpp.

References GetLensProjectionList(), and threshold().

Referenced by ImagesPanel::Create(), HFOVDialog::HFOVDialog(), and LensCalFrame::LensCalFrame().

◆ GetLensProjectionList()

WXIMPEX HuginLensTools::LensInfoVector GetLensProjectionList ( )

◆ getProjectionString()

wxString getProjectionString ( const HuginBase::SrcPanoImage img)

◆ getResponseString()

wxString getResponseString ( const HuginBase::SrcPanoImage img)

◆ GetSelectedValue()

size_t GetSelectedValue ( wxControlWithItems list)

◆ LoadLensParametersChoose()

bool LoadLensParametersChoose ( wxWindow *  parent,
HuginBase::Lens lens,
bool cropped,
bool autoCenterCrop,
vigra::Rect2D &  cropRect 
)

load lens parameters from lens ini file

Parameters
parentparent window, for showing messageboxes
lenslens, for reading projection and lensparameters
croppedread if cropped enabled
autoCenterCropread if automatic center crop
cropRectread crop rect
Returns
true if lens parameters were sucessful read

Definition at line 291 of file LensTools.cpp.

References DEBUG_DEBUG, HuginBase::Lens::getImageSize(), hugin_utils::HuginMessageBox(), map_get(), HuginBase::Lens::setCropFactor(), HuginBase::Lens::setProjection(), threshold(), HuginBase::Lens::variableNames, and HuginBase::Lens::variables.

Referenced by ApplyLensParameters(), and HFOVDialog::OnLoadLensParameters().

◆ SaveLensParameters()

void SaveLensParameters ( const wxString  filename,
HuginBase::Panorama pano,
unsigned int  imgNr 
)

◆ SaveLensParametersToIni()

void SaveLensParametersToIni ( wxWindow *  parent,
HuginBase::Panorama pano,
const HuginBase::UIntSet  images 
)

saves the lens parameters to ini files, provides all necessary dialogs

Definition at line 412 of file LensTools.cpp.

References hugin_utils::AskUserOverwrite(), SaveLensParameters(), and threshold().

Referenced by PanoOperation::SaveLensOperation::GetInternalCommand().

◆ SelectListValue()

void SelectListValue ( wxControlWithItems list,
size_t  newValue 
)