Hugin trunk 0.1
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
HuginBase::Nona Namespace Reference

Namespaces

namespace  detail
 

Classes

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

Typedefs

typedef void(* trfn) (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams &params)
 Transformation function type.
 
typedef struct 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
 
template<class ImageType >
ImageType CopyImageNewSize (const ImageType &image, const vigra::Size2D &newSize)
 copies image into new image with changed size
 
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)
 The main stitching function.
 
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)
 
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

◆ AdvancedOptions

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

Definition at line 37 of file StitcherOptions.h.

◆ fDescription

Function descriptor to be executed by exec_function.

◆ trfn

Transformation function type.

Definition at line 67 of file SpaceTransform.h.

Function Documentation

◆ applyFlatfield()

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::flatfieldVigCorrection(), and threshold().

◆ CalcCorrectionRadius_copy()

static double HuginBase::Nona::CalcCorrectionRadius_copy ( double coeff)
static

◆ combinePolynom4()

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.

References threshold().

◆ CopyImageNewSize()

template<class ImageType >
ImageType HuginBase::Nona::CopyImageNewSize ( const ImageType image,
const vigra::Size2D &  newSize 
)
protected

◆ cubeRoot_copy()

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

Definition at line 852 of file SpaceTransform.cpp.

Referenced by cubeZero_copy().

◆ cubeZero_copy()

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, squareZero_copy(), and threshold().

Referenced by smallestRoot_copy().

◆ erect_mercator()

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 threshold().

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

◆ erect_pano()

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 threshold().

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

◆ erect_rect()

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 threshold().

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

◆ erect_sinusoidal()

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 threshold().

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

◆ erect_sphere_tp()

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

◆ erect_stereographic()

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 threshold().

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

◆ erect_transmercator()

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 threshold().

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

◆ erect_transpano()

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 threshold().

◆ estimateImageAlpha()

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

◆ estimateImageRect()

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
srcdescription of source picture
destdescription of output picture (panorama)
imgRectoutput: position of image in panorama.

◆ estRadialScaleCrop()

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
coef1lens distortion coefficients, including d coefficient.
widthimage width
heightimage height
Returns
smallest r_corr / r_orig in areas that might lead to black borders.

Definition at line 964 of file SpaceTransform.cpp.

References threshold().

◆ estScaleFactorForFullFrame()

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::Nona::SpaceTransform::InitInvRadialCorrect(), threshold(), and traceImageOutline().

Referenced by correctImage().

◆ GetAdvancedOption() [1/3]

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

◆ GetAdvancedOption() [2/3]

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(), and threshold().

◆ GetAdvancedOption() [3/3]

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

Definition at line 52 of file StitcherOptions.cpp.

References threshold().

◆ horiz()

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

◆ inv_radial()

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

◆ mercator_erect()

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 threshold().

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

◆ pano_erect()

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 threshold().

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

◆ pano_sphere_tp()

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 threshold().

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

◆ persp_rect()

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 threshold(), and Vector3::x.

◆ persp_sphere()

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

◆ radial()

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

◆ radial_shift()

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 threshold().

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

◆ rect_erect()

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 PI, and threshold().

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

◆ rect_sphere_tp()

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 PI, and threshold().

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

◆ remapImage()

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 
)

◆ resize()

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

◆ rotate_erect()

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

◆ SetAdvancedOption() [1/3]

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 GenerateThumbnail(), main(), and main2().

◆ SetAdvancedOption() [2/3]

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().

◆ SetAdvancedOption() [3/3]

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

Definition at line 100 of file StitcherOptions.cpp.

◆ SetMatrix()

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

◆ sinusoidal_erect()

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 threshold().

◆ smallestRoot_copy()

static double HuginBase::Nona::smallestRoot_copy ( double p)
static

Definition at line 861 of file SpaceTransform.cpp.

References cubeZero_copy(), and threshold().

Referenced by CalcCorrectionRadius_copy().

◆ sphere_tp_erect()

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

◆ sphere_tp_pano()

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 threshold().

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

◆ sphere_tp_rect()

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 threshold().

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

◆ squareZero_copy()

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

Definition at line 829 of file SpaceTransform.cpp.

References threshold().

Referenced by cubeZero_copy().

◆ stereographic_erect()

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 threshold().

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

◆ stitchPanoGray_32_float()

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 threshold(), and UTILS_THROW.

Referenced by stitchPanorama().

◆ stitchPanoGray_8_16()

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 threshold(), and UTILS_THROW.

Referenced by stitchPanorama().

◆ stitchPanoIntern()

static void HuginBase::Nona::stitchPanoIntern ( const PanoramaData pano,
const PanoramaOptions opts,
AppBase::ProgressDisplay progress,
const std::string &  basename,
UIntSet  imgs,
const AdvancedOptions advOptions 
)
static

◆ stitchPanorama()

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

The main stitching function.

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

Todo:

vignetting correction

do not keep complete output image in memory

Definition at line 40 of file Stitcher.cpp.

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

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

◆ stitchPanoRGB_32_float()

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 threshold(), and UTILS_THROW.

Referenced by stitchPanorama().

◆ stitchPanoRGB_8_16()

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 threshold(), and UTILS_THROW.

Referenced by stitchPanorama().

◆ traceImageOutline()

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 hugin_utils::roundi(), and threshold().

Referenced by estScaleFactorForFullFrame().

◆ transmercator_erect()

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 threshold().

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

◆ transpano_erect()

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 threshold().

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

◆ vert()

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