HuginBase::Nona Namespace Reference


Classes

class  SingleImageRemapper
 functor to create a remapped image More...
class  FileRemapper
 functor to create a remapped image, loads image from disk More...
class  RemappedPanoImage
 struct to hold a image state for stitching More...
struct  _FuncParams
 Parameters for transformation calls Can be just one double, two double, 4 double, a matrix, matrix and a double. More...
struct  _fDesc
 Function descriptor to be executed by exec_function. More...
class  SpaceTransform
class  Stitcher
 implements a stitching algorithm More...
class  MultiImageRemapper
 remap a set of images, and store the individual remapped files. More...
class  TiffMultiLayerRemapper
 stitch multilayer More...
class  WeightedStitcher
struct  ReduceToDifferenceFunctor
 Difference reduce functor. More...
class  ReduceStitcher
 create a panorama using the reduce operation on all overlapping pixels. More...
class  SimpleStitcher
 A stitcher without seaming, just copies the images over each other. More...
struct  StackingBlender
 blend images, by simply stacking them, without soft blending or boundary calculation More...

Namespaces

namespace  detail

Typedefs

typedef void(*) trfn (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 Transformation function type.
typedef HuginBase::Nona::_fDesc fDescription
 Function descriptor to be executed by exec_function.
typedef std::map< std::string,
std::string
AdvancedOptions

Functions

template<class FFType, class SrcIter, class SrcAccessor, class DestIter, class DestAccessor>
void applyFlatfield (vigra::triple< SrcIter, SrcIter, SrcAccessor > srcImg, vigra::pair< DestIter, DestAccessor > destImg, vigra::ImageImportInfo &ffInfo, double gamma, double gammaMaxVal, bool division, typename vigra::NumericTraits< typename SrcAccessor::value_type >::RealPromote a, typename vigra::NumericTraits< typename SrcAccessor::value_type >::RealPromote b, bool dither)
 load a flatfield image and apply the correction
template<class TRANSFORM>
void estimateImageRect (const SrcPanoImage &src, const PanoramaOptions &dest, TRANSFORM &transf, vigra::Rect2D &imgRect)
 calculate the outline of the image
template<class TRANSFORM>
void estimateImageAlpha (const SrcPanoImage &src, const PanoramaOptions &dest, TRANSFORM &transf, vigra::Rect2D &imgRect, vigra::BImage &alpha, double &scale)
template<class SrcImgType, class FlatImgType, class DestImgType, class MaskImgType>
void remapImage (SrcImgType &srcImg, const MaskImgType &srcAlpha, const FlatImgType &srcFlat, const SrcPanoImage &src, const PanoramaOptions &dest, vigra::Rect2D outputRect, RemappedPanoImage< DestImgType, MaskImgType > &remapped, AppBase::ProgressDisplay *progress)
 remap a single image
void rotate_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void inv_radial (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void resize (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void horiz (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void vert (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void radial (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void persp_sphere (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void persp_rect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void rect_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void pano_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void erect_pano (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void transpano_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void erect_transpano (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void sphere_tp_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void rect_sphere_tp (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void sphere_tp_rect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void sphere_tp_pano (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void pano_sphere_tp (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void erect_rect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void erect_sphere_tp (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
void mercator_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from erect to mercator
void erect_mercator (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from mercator to erect
void transmercator_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from erect to transverse mercator
void erect_transmercator (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from erect to transverse mercator
void sinusoidal_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from erect to sinusoidal
void erect_sinusoidal (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from sinusoidal to erect
void stereographic_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from erect to stereographic
void erect_stereographic (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 convert from stereographic to erect
static void cubeZero_copy (double *a, int *n, double *root)
static void squareZero_copy (double *a, int *n, double *root)
static double cubeRoot_copy (double x)
static double smallestRoot_copy (double *p)
static double CalcCorrectionRadius_copy (double *coeff)
static void radial_shift (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
Matrix3 SetMatrix (double a, double b, double c, int cl)
double estScaleFactorForFullFrame (const SrcPanoImage &src)
 Calculate effective scaling factor for a given source image.
double estRadialScaleCrop (const std::vector< double > &coeff, int width, int height)
 Calculate effective scaling factor.
template<class VECTOR>
void combinePolynom4 (const VECTOR &p, const VECTOR &q, VECTOR &c)
 combine 4rd degree polynomials
template<class TRANSFORM>
void traceImageOutline (vigra::Size2D sz, TRANSFORM &transf, vigra::Rect2D &inside, vigra::Rect2D &boundingBox)
 Internal function to estimate the image scaling required to avoid black stripes at the image borders.
void stitchPanorama (const PanoramaData &pano, const PanoramaOptions &opt, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const AdvancedOptions &advOptions)
 stitch a panorama
template<typename ImageType, typename AlphaType>
static void stitchPanoIntern (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, UIntSet imgs, const AdvancedOptions &advOptions)
void stitchPanoGray_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
void stitchPanoGray_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
void stitchPanoRGB_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
void stitchPanoRGB_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
void stitchPanoGray_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
void stitchPanoGray_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
void stitchPanoRGB_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
void stitchPanoRGB_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::ProgressDisplay *progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType, const AdvancedOptions &advOptions)
bool GetAdvancedOption (const AdvancedOptions &opts, const std::string &name, const bool defaultValue)
 check if given option is saved and return its boolean value, otherwise return defaultValue
std::string GetAdvancedOption (const AdvancedOptions &opts, const std::string &name, const std::string &defaultValue)
float GetAdvancedOption (const AdvancedOptions &opts, const std::string &name, const float defaultValue)
void SetAdvancedOption (AdvancedOptions &opts, const std::string &name, const bool value)
 store the option with name in AdvancedOptions
void SetAdvancedOption (AdvancedOptions &opts, const std::string &name, const std::string &value)
void SetAdvancedOption (AdvancedOptions &opts, const std::string &name, const float value)


Typedef Documentation

typedef void(*) HuginBase::Nona::trfn(double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)

Transformation function type.

Definition at line 67 of file SpaceTransform.h.

typedef struct HuginBase::Nona::_fDesc HuginBase::Nona::fDescription

Function descriptor to be executed by exec_function.

typedef std::map<std::string, std::string> HuginBase::Nona::AdvancedOptions

Definition at line 37 of file StitcherOptions.h.


Function Documentation

template<class FFType, class SrcIter, class SrcAccessor, class DestIter, class DestAccessor>
void HuginBase::Nona::applyFlatfield ( vigra::triple< SrcIter, SrcIter, SrcAccessor >  srcImg,
vigra::pair< DestIter, DestAccessor >  destImg,
vigra::ImageImportInfo &  ffInfo,
double  gamma,
double  gammaMaxVal,
bool  division,
typename vigra::NumericTraits< typename SrcAccessor::value_type >::RealPromote  a,
typename vigra::NumericTraits< typename SrcAccessor::value_type >::RealPromote  b,
bool  dither 
)

load a flatfield image and apply the correction

Definition at line 238 of file ImageRemapper.h.

References vigra_ext::destImage(), vigra_ext::flatfieldVigCorrection(), and vigra_ext::srcImage().

template<class TRANSFORM>
void HuginBase::Nona::estimateImageRect ( const SrcPanoImage &  src,
const PanoramaOptions &  dest,
TRANSFORM &  transf,
vigra::Rect2D &  imgRect 
)

calculate the outline of the image

Parameters:
src description of source picture
dest description of output picture (panorama)
imgRect output: position of image in panorama.

template<class TRANSFORM>
void HuginBase::Nona::estimateImageAlpha ( const SrcPanoImage &  src,
const PanoramaOptions &  dest,
TRANSFORM &  transf,
vigra::Rect2D &  imgRect,
vigra::BImage &  alpha,
double &  scale 
)

template<class SrcImgType, class FlatImgType, class DestImgType, class MaskImgType>
void HuginBase::Nona::remapImage ( SrcImgType &  srcImg,
const MaskImgType &  srcAlpha,
const FlatImgType &  srcFlat,
const SrcPanoImage &  src,
const PanoramaOptions &  dest,
vigra::Rect2D  outputRect,
RemappedPanoImage< DestImgType, MaskImgType > &  remapped,
AppBase::ProgressDisplay progress 
)

remap a single image

Definition at line 764 of file RemappedPanoImage.h.

References DEBUG_DEBUG, HuginBase::PanoramaOptions::interpolator, vigra_ext::ROIImage< RemapImage, AlphaImage >::m_image, vigra_ext::ROIImage< RemapImage, AlphaImage >::m_mask, HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::remapImage(), AppBase::ProgressDisplay::setMessage(), HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::setPanoImage(), vigra_ext::srcImage(), vigra_ext::srcImageRange(), and hugin_utils::stripPath().

Referenced by HuginBase::Nona::FileRemapper< ImageType, AlphaType >::getRemapped(), and HuginBase::SmallRemappedImageCache::getRemapped().

void HuginBase::Nona::rotate_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 82 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::var0, and HuginBase::Nona::_FuncParams::var1.

Referenced by HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::inv_radial ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 95 of file SpaceTransform.cpp.

References MAXITER, R_EPS, HuginBase::Nona::_FuncParams::var0, HuginBase::Nona::_FuncParams::var1, HuginBase::Nona::_FuncParams::var2, HuginBase::Nona::_FuncParams::var3, and HuginBase::Nona::_FuncParams::var4.

Referenced by HuginBase::Nona::SpaceTransform::InitInv(), and HuginBase::Nona::SpaceTransform::InitInvRadialCorrect().

void HuginBase::Nona::resize ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 150 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::var0, and HuginBase::Nona::_FuncParams::var1.

Referenced by HuginBase::CalculateImageOverlap::CalculateImageOverlap(), HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), HuginBase::Nona::SpaceTransform::InitInv(), HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::setPanoImage(), and TexCoordRemapper::SetSize().

void HuginBase::Nona::horiz ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 168 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::shift.

Referenced by HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), HuginBase::Nona::SpaceTransform::InitInv(), HuginBase::Nona::SpaceTransform::InitInvRadialCorrect(), and HuginBase::Nona::SpaceTransform::InitRadialCorrect().

void HuginBase::Nona::vert ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 176 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::shift.

Referenced by HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), HuginBase::Nona::SpaceTransform::InitInv(), HuginBase::Nona::SpaceTransform::InitInvRadialCorrect(), and HuginBase::Nona::SpaceTransform::InitRadialCorrect().

void HuginBase::Nona::radial ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 184 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::var0, HuginBase::Nona::_FuncParams::var1, HuginBase::Nona::_FuncParams::var2, HuginBase::Nona::_FuncParams::var3, HuginBase::Nona::_FuncParams::var4, and HuginBase::Nona::_FuncParams::var5.

Referenced by HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitRadialCorrect().

void HuginBase::Nona::persp_sphere ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 237 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance, HuginBase::Nona::_FuncParams::mt, Matrix3::TransformVector(), Vector3::x, Vector3::y, and Vector3::z.

Referenced by HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::persp_rect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 267 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::mt, Matrix3::TransformVector(), HuginBase::Nona::_FuncParams::var1, HuginBase::Nona::_FuncParams::var2, HuginBase::Nona::_FuncParams::var3, Vector3::x, Vector3::y, and Vector3::z.

void HuginBase::Nona::rect_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 298 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance, and PI.

Referenced by HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::pano_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 321 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::erect_pano ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 329 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

void HuginBase::Nona::transpano_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 337 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::erect_transpano ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 345 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

void HuginBase::Nona::sphere_tp_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 366 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance, and PI.

Referenced by HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::rect_sphere_tp ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 407 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance, and PI.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

void HuginBase::Nona::sphere_tp_rect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 425 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::sphere_tp_pano ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 439 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::pano_sphere_tp ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 452 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

void HuginBase::Nona::erect_rect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 483 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

void HuginBase::Nona::erect_sphere_tp ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

Definition at line 491 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), HuginBase::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::mercator_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from erect to mercator

Definition at line 511 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance, and vigra_ext::log().

Referenced by HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::erect_mercator ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from mercator to erect

Definition at line 519 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

void HuginBase::Nona::transmercator_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from erect to transverse mercator

Definition at line 528 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::erect_transmercator ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from erect to transverse mercator

Definition at line 539 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

void HuginBase::Nona::sinusoidal_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from erect to sinusoidal

Definition at line 549 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

void HuginBase::Nona::erect_sinusoidal ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from sinusoidal to erect

Definition at line 558 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

void HuginBase::Nona::stereographic_erect ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from erect to stereographic

Definition at line 567 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::InitInv().

void HuginBase::Nona::erect_stereographic ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
)

convert from stereographic to erect

Definition at line 580 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::distance.

Referenced by HuginBase::PTools::Transform::emitGLSL(), and HuginBase::Nona::SpaceTransform::Init().

static void HuginBase::Nona::cubeZero_copy ( double *  a,
int *  n,
double *  root 
) [static]

Definition at line 808 of file SpaceTransform.cpp.

References cubeRoot_copy(), PI, and squareZero_copy().

Referenced by smallestRoot_copy().

static void HuginBase::Nona::squareZero_copy ( double *  a,
int *  n,
double *  root 
) [static]

Definition at line 829 of file SpaceTransform.cpp.

Referenced by cubeZero_copy().

static double HuginBase::Nona::cubeRoot_copy ( double  x  )  [static]

Definition at line 852 of file SpaceTransform.cpp.

References vigra_ext::pow().

Referenced by cubeZero_copy().

static double HuginBase::Nona::smallestRoot_copy ( double *  p  )  [static]

Definition at line 861 of file SpaceTransform.cpp.

References cubeZero_copy().

Referenced by CalcCorrectionRadius_copy().

static double HuginBase::Nona::CalcCorrectionRadius_copy ( double *  coeff  )  [static]

Definition at line 879 of file SpaceTransform.cpp.

References smallestRoot_copy().

Referenced by HuginBase::Nona::SpaceTransform::Init(), HuginBase::Nona::SpaceTransform::InitInv(), HuginBase::Nona::SpaceTransform::InitInvRadialCorrect(), and HuginBase::Nona::SpaceTransform::InitRadialCorrect().

static void HuginBase::Nona::radial_shift ( double  x_dest,
double  y_dest,
double *  x_src,
double *  y_src,
const _FuncParams &  params 
) [static]

Definition at line 896 of file SpaceTransform.cpp.

References HuginBase::Nona::_FuncParams::var0, HuginBase::Nona::_FuncParams::var1, HuginBase::Nona::_FuncParams::var2, HuginBase::Nona::_FuncParams::var3, HuginBase::Nona::_FuncParams::var4, HuginBase::Nona::_FuncParams::var5, HuginBase::Nona::_FuncParams::var6, and HuginBase::Nona::_FuncParams::var7.

Referenced by HuginBase::Nona::SpaceTransform::InitRadialCorrect().

Matrix3 HuginBase::Nona::SetMatrix ( double  a,
double  b,
double  c,
int  cl 
)

Definition at line 917 of file SpaceTransform.cpp.

References Matrix3::SetRotationX(), Matrix3::SetRotationY(), and Matrix3::SetRotationZ().

Referenced by HuginBase::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

IMPEX double HuginBase::Nona::estScaleFactorForFullFrame ( const SrcPanoImage &  src  ) 

Calculate effective scaling factor for a given source image.

Definition at line 940 of file SpaceTransform.cpp.

References HuginBase::SrcPanoImage::getCorrectTCA(), HuginBase::Nona::SpaceTransform::InitInvRadialCorrect(), celeste::max(), and traceImageOutline().

Referenced by correctImage().

double HuginBase::Nona::estRadialScaleCrop ( const std::vector< double > &  coeff,
int  width,
int  height 
)

Calculate effective scaling factor.

This function returns the smalles scale factor that has been applied

If values < 1 are returned, black borders will occur. In that case the distortion correction parameters might need to be adjusted to avoid the black borders.

Parameters:
coef1 lens distortion coefficients, including d coefficient.
width image width
height image height
Returns:
smallest r_corr / r_orig in areas that might lead to black borders.

Definition at line 964 of file SpaceTransform.cpp.

template<class VECTOR>
void HuginBase::Nona::combinePolynom4 ( const VECTOR &  p,
const VECTOR &  q,
VECTOR &  c 
)

combine 4rd degree polynomials

Computes new polynomial so that: c(x) ~= q(p(x)) c is also a 4rd degree polynomial, and the expansion is cut after x^4 constant term is assumed to be 0, and not included in p,q and c

Definition at line 258 of file SpaceTransform.h.

template<class TRANSFORM>
void HuginBase::Nona::traceImageOutline ( vigra::Size2D  sz,
TRANSFORM &  transf,
vigra::Rect2D &  inside,
vigra::Rect2D &  boundingBox 
)

Internal function to estimate the image scaling required to avoid black stripes at the image borders.

Definition at line 281 of file SpaceTransform.h.

References celeste::max(), celeste::min(), and hugin_utils::roundi().

Referenced by estScaleFactorForFullFrame().

IMPEX void HuginBase::Nona::stitchPanorama ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const AdvancedOptions advOptions = AdvancedOptions() 
)

stitch a panorama

This function delegates all the work to the other functions

Due to the compile memory requirements of the instantiated templates ( > 1GB, for all pixel types), the instatiations are divided into 4 separate cpp files

Definition at line 40 of file Stitcher.cpp.

References DEBUG_ASSERT, DEBUG_DEBUG, DEBUG_ERROR, HuginBase::PanoramaData::getImage(), HuginBase::PanoramaData::getNrOfImages(), HuginBase::PanoramaData::getSrcImage(), celeste::info(), HuginBase::PanoramaOptions::OUTPUT_HDR, HuginBase::PanoramaOptions::outputEMoRParams, HuginBase::PanoramaOptions::outputMode, HuginBase::PanoramaOptions::outputPixelType, stitchPanoGray_32_float(), stitchPanoGray_8_16(), stitchPanoRGB_32_float(), stitchPanoRGB_8_16(), and UTILS_THROW.

Referenced by main2(), and HuginBase::NonaFileOutputStitcher::runStitcher().

template<typename ImageType, typename AlphaType>
static void HuginBase::Nona::stitchPanoIntern ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
UIntSet  imgs,
const AdvancedOptions advOptions 
) [static]

Definition at line 998 of file Stitcher.h.

References DEBUG_ERROR, HuginBase::PanoramaOptions::EXR, HuginBase::PanoramaOptions::EXR_m, HuginBase::PanoramaOptions::getFormatName(), HuginBase::PanoramaOptions::HDR, HuginBase::PanoramaOptions::HDR_m, HuginBase::PanoramaOptions::JPEG, HuginBase::PanoramaOptions::JPEG_m, HuginBase::PanoramaOptions::OUTPUT_HDR, HuginBase::PanoramaOptions::outputFormat, HuginBase::PanoramaOptions::outputMode, HuginBase::PanoramaOptions::PNG, HuginBase::PanoramaOptions::PNG_m, HuginBase::Nona::SingleImageRemapper< ImageType, AlphaType >::setAdvancedOptions(), HuginBase::Nona::MultiImageRemapper< ImageType, AlphaType >::stitch(), HuginBase::Nona::WeightedStitcher< ImageType, AlphaType >::stitch(), HuginBase::Nona::ReduceStitcher< ImageType, AlphaType >::stitch(), HuginBase::PanoramaOptions::TIFF, HuginBase::PanoramaOptions::TIFF_m, HuginBase::PanoramaOptions::TIFF_mask, HuginBase::PanoramaOptions::TIFF_multilayer, and HuginBase::PanoramaOptions::TIFF_multilayer_mask.

void HuginBase::Nona::stitchPanoGray_8_16 ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 28 of file Stitcher2.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

void HuginBase::Nona::stitchPanoGray_32_float ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 28 of file Stitcher1.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

void HuginBase::Nona::stitchPanoRGB_8_16 ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 28 of file Stitcher3.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

void HuginBase::Nona::stitchPanoRGB_32_float ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 34 of file Stitcher4.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

void HuginBase::Nona::stitchPanoGray_32_float ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 28 of file Stitcher1.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

void HuginBase::Nona::stitchPanoGray_8_16 ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 28 of file Stitcher2.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

void HuginBase::Nona::stitchPanoRGB_8_16 ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 28 of file Stitcher3.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

void HuginBase::Nona::stitchPanoRGB_32_float ( const PanoramaData &  pano,
const PanoramaOptions &  opts,
AppBase::ProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType,
const AdvancedOptions advOptions 
)

Definition at line 34 of file Stitcher4.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

IMPEX bool HuginBase::Nona::GetAdvancedOption ( const AdvancedOptions opts,
const std::string name,
const bool  defaultValue 
)

check if given option is saved and return its boolean value, otherwise return defaultValue

Definition at line 33 of file StitcherOptions.cpp.

Referenced by main(), HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::remapImage(), HuginBase::Nona::WeightedStitcher< ImageType, AlphaType >::stitch(), and HuginBase::Nona::MultiImageRemapper< vigra::FRGBImage, AlphaImageType >::stitch().

IMPEX std::string HuginBase::Nona::GetAdvancedOption ( const AdvancedOptions opts,
const std::string name,
const std::string defaultValue = std::string("") 
)

Definition at line 52 of file StitcherOptions.cpp.

IMPEX float HuginBase::Nona::GetAdvancedOption ( const AdvancedOptions opts,
const std::string name,
const float  defaultValue 
)

Definition at line 66 of file StitcherOptions.cpp.

References hugin_utils::stringToDouble().

IMPEX void HuginBase::Nona::SetAdvancedOption ( AdvancedOptions opts,
const std::string name,
const bool  value 
)

store the option with name in AdvancedOptions

Definition at line 88 of file StitcherOptions.cpp.

Referenced by main(), and main2().

IMPEX void HuginBase::Nona::SetAdvancedOption ( AdvancedOptions opts,
const std::string name,
const std::string value 
)

Definition at line 100 of file StitcherOptions.cpp.

IMPEX void HuginBase::Nona::SetAdvancedOption ( AdvancedOptions opts,
const std::string name,
const float  value 
)

Definition at line 105 of file StitcherOptions.cpp.

References hugin_utils::doubleToString().


Generated on 28 Sep 2016 for Hugintrunk by  doxygen 1.4.7