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...
struct  CalcMaskUnion
 functor to calculate the union of two images. 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...
struct  SeamBlender
 seam blender. More...
struct  DifferenceBlender
 blend by difference More...

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::vector< std::pair<
float, unsigned int > > 
AlphaVector

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::MultiProgressDisplay &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 estimateBlendingOrder (const PanoramaData &pano, UIntSet images, vector< unsigned int > &blendOrder)
 determine blending order (starting with image 0), and continue to stitch the image with the biggest overlap area with the real image.
void stitchPanorama (const PanoramaData &pano, const PanoramaOptions &opt, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs)
 stitch a panorama
template<typename ImageType, typename AlphaType>
static void stitchPanoIntern (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, UIntSet imgs)
void stitchPanoGray_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)
void stitchPanoGray_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)
void stitchPanoRGB_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)
void stitchPanoRGB_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)
void stitchPanoGray_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)
void stitchPanoGray_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)
void stitchPanoRGB_8_16 (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)
void stitchPanoRGB_32_float (const PanoramaData &pano, const PanoramaOptions &opts, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs, const char *pixelType)


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::vector<std::pair<float, unsigned int> > HuginBase::Nona::AlphaVector

Definition at line 497 of file Stitcher.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 255 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::MultiProgressDisplay progress 
)

remap a single image

Definition at line 756 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::MultiProgressDisplay::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 87 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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

Definition at line 100 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::InitInvRadialCorrect().

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

Definition at line 155 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::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 173 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL(), 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 181 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL(), 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 189 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(), 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 242 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().

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

Definition at line 272 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 303 of file SpaceTransform.cpp.

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

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

Definition at line 326 of file SpaceTransform.cpp.

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

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

Definition at line 334 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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

Definition at line 342 of file SpaceTransform.cpp.

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

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

Definition at line 350 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 371 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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

Definition at line 412 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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

Definition at line 430 of file SpaceTransform.cpp.

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

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

Definition at line 444 of file SpaceTransform.cpp.

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

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

Definition at line 457 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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

Definition at line 488 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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

Definition at line 496 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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 516 of file SpaceTransform.cpp.

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

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 524 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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 533 of file SpaceTransform.cpp.

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

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 544 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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 554 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 563 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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 572 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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 585 of file SpaceTransform.cpp.

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

Referenced by HuginBase::PTools::Transform::emitGLSL().

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

Definition at line 813 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 834 of file SpaceTransform.cpp.

Referenced by cubeZero_copy().

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

Definition at line 857 of file SpaceTransform.cpp.

References vigra_ext::pow().

Referenced by cubeZero_copy().

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

Definition at line 866 of file SpaceTransform.cpp.

References cubeZero_copy().

Referenced by CalcCorrectionRadius_copy().

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

Definition at line 884 of file SpaceTransform.cpp.

References smallestRoot_copy().

Referenced by 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 901 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.

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

Definition at line 922 of file SpaceTransform.cpp.

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

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

Calculate effective scaling factor for a given source image.

Definition at line 945 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 969 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().

void HuginBase::Nona::estimateBlendingOrder ( const PanoramaData &  pano,
UIntSet  images,
std::vector< unsigned int > &  blendOrder 
)

determine blending order (starting with image 0), and continue to stitch the image with the biggest overlap area with the real image.

do everything on a low res version of the masks

Definition at line 46 of file Stitcher.cpp.

References vigra_ext::applyRect(), DEBUG_ASSERT, DEBUG_DEBUG, vigra_ext::destImage(), HuginBase::PanoramaOptions::getHeight(), HuginBase::PanoramaData::getOptions(), vigra_ext::OverlapSizeCounter::getSize(), HuginBase::PanoramaData::getSrcImage(), HuginBase::PanoramaOptions::getWidth(), HuginBase::PanoramaOptions::setWidth(), vigra_ext::srcImage(), and vigra_ext::srcMaskRange().

Referenced by HuginBase::Nona::WeightedStitcher< ImageType, AlphaType >::stitch().

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

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 137 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::MultiProgressDisplay progress,
const std::string basename,
UIntSet  imgs 
) [static]

Definition at line 1149 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::OUTPUT_HDR, HuginBase::PanoramaOptions::outputFormat, HuginBase::PanoramaOptions::outputMode, HuginBase::PanoramaOptions::PNG, 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::MultiProgressDisplay progress,
const std::string basename,
const UIntSet usedImgs,
const char *  pixelType 
)

Definition at line 31 of file Stitcher2.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

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

Definition at line 31 of file Stitcher1.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

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

Definition at line 31 of file Stitcher3.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

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

Definition at line 38 of file Stitcher4.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

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

Definition at line 31 of file Stitcher1.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

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

Definition at line 31 of file Stitcher2.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

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

Definition at line 31 of file Stitcher3.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().

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

Definition at line 38 of file Stitcher4.cpp.

References UTILS_THROW.

Referenced by stitchPanorama().


Generated on 23 Oct 2014 for Hugintrunk by  doxygen 1.4.7