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

HuginBase::PTools::Transform Class Reference

Holds transformations for Image -> Pano and the other way. More...

#include <PanoToolsInterface.h>

List of all members.

Public Member Functions

 Transform ()
 construct a new Transform object, without initializing a transformation
 ~Transform ()
void createTransform (const vigra::Diff2D &srcSize, VariableMap srcVars, Lens::LensProjectionFormat srcProj, const vigra::Diff2D &destSize, PanoramaOptions::ProjectionFormat destProj, const std::vector< double > &destProjParam, double destHFOV, const vigra::Diff2D &origSrcSize)
 initialize pano->image transformation
void createTransform (const PanoramaData &pano, unsigned int imgNr, const PanoramaOptions &dest, vigra::Diff2D srcSize=vigra::Diff2D(0, 0))
 create pano -> img transform
void createTransform (const SrcPanoImage &src, const PanoramaOptions &dest)
void createInvTransform (const vigra::Diff2D &srcSize, VariableMap srcVars, Lens::LensProjectionFormat srcProj, const vigra::Diff2D &destSize, PanoramaOptions::ProjectionFormat destProj, const std::vector< double > &destProjParam, double destHFOV, const vigra::Diff2D &origSrcSize)
 create image->pano transformation
void createInvTransform (const PanoramaData &pano, unsigned int imgNr, const PanoramaOptions &dest, vigra::Diff2D srcSize=vigra::Diff2D(0, 0))
 create image->pano transformation
void createInvTransform (const SrcPanoImage &src, const PanoramaOptions &dest)
 create image->pano transformation
bool transform (double &x_dest, double &y_dest, double x_src, double y_src) const
 excecute transform
bool transform (hugin_utils::FDiff2D &dest, const hugin_utils::FDiff2D &src) const
bool transformImgCoord (double &x_dest, double &y_dest, double x_src, double y_src) const
 like transform, but return image coordinates, not cartesian coordinates
bool transformImgCoordPartial (double &x_dest, double &y_dest, double x_src, double y_src) const
bool transformImgCoord (hugin_utils::FDiff2D &dest, const hugin_utils::FDiff2D &src) const
bool emitGLSL (std::ostringstream &oss) const


Detailed Description

Holds transformations for Image -> Pano and the other way.


Constructor & Destructor Documentation

HuginBase::PTools::Transform::Transform  )  [inline]
 

construct a new Transform object, without initializing a transformation

use createTransform or createInvTransform to create a transformation, and transform to execute it.

HuginBase::PTools::Transform::~Transform  ) 
 


Member Function Documentation

void HuginBase::PTools::Transform::createInvTransform const SrcPanoImage src,
const PanoramaOptions dest
 

create image->pano transformation

void HuginBase::PTools::Transform::createInvTransform const PanoramaData pano,
unsigned int  imgNr,
const PanoramaOptions dest,
vigra::Diff2D  srcSize = vigra::Diff2D(0, 0)
 

create image->pano transformation

void HuginBase::PTools::Transform::createInvTransform const vigra::Diff2D &  srcSize,
VariableMap  srcVars,
Lens::LensProjectionFormat  srcProj,
const vigra::Diff2D &  destSize,
PanoramaOptions::ProjectionFormat  destProj,
const std::vector< double > &  destProjParam,
double  destHFOV,
const vigra::Diff2D &  origSrcSize
 

create image->pano transformation

Parameters:
srcSize size of input image
variables of input image
srcProj projection of the image
destSize output panorama size
destProj panorama projection
destHFOV HFOV of panorama
origSrcSize original input image size, 0,0 if the same as srcSize.
origSrcSize is needed, because the variables are only valid for the original input size. To transform a smaller image, like a preview image, the parameters have to be adjusted. The origial image size, for which variables are valid needs to be know for this.

void HuginBase::PTools::Transform::createTransform const SrcPanoImage src,
const PanoramaOptions dest
 

void HuginBase::PTools::Transform::createTransform const PanoramaData pano,
unsigned int  imgNr,
const PanoramaOptions dest,
vigra::Diff2D  srcSize = vigra::Diff2D(0, 0)
 

create pano -> img transform

void HuginBase::PTools::Transform::createTransform const vigra::Diff2D &  srcSize,
VariableMap  srcVars,
Lens::LensProjectionFormat  srcProj,
const vigra::Diff2D &  destSize,
PanoramaOptions::ProjectionFormat  destProj,
const std::vector< double > &  destProjParam,
double  destHFOV,
const vigra::Diff2D &  origSrcSize
 

initialize pano->image transformation

Steps of transform:

1. pano_proj -> erect 2. rotate equirect?? ( rotate yaw in screenpoints ? ) 3. spherical -> erect ?? 4. persp_sphere ( rotate point with rotation matrix) 5. sphere_tp -> image_proj 6. distortion correction 7. shift image origin 8. shear image

bool HuginBase::PTools::Transform::emitGLSL std::ostringstream &  oss  )  const
 

bool HuginBase::PTools::Transform::transform hugin_utils::FDiff2D dest,
const hugin_utils::FDiff2D src
const
 

bool HuginBase::PTools::Transform::transform double x_dest,
double y_dest,
double  x_src,
double  y_src
const
 

excecute transform

bool HuginBase::PTools::Transform::transformImgCoord hugin_utils::FDiff2D dest,
const hugin_utils::FDiff2D src
const [inline]
 

bool HuginBase::PTools::Transform::transformImgCoord double x_dest,
double y_dest,
double  x_src,
double  y_src
const
 

like transform, but return image coordinates, not cartesian coordinates

bool HuginBase::PTools::Transform::transformImgCoordPartial double x_dest,
double y_dest,
double  x_src,
double  y_src
const
 


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

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