HuginBase::Nona Namespace Reference


Classes

class  HuginBase::Nona::SingleImageRemapper< ImageType, AlphaType >
 functor to create a remapped image More...
class  HuginBase::Nona::FileRemapper< ImageType, AlphaType >
 functor to create a remapped image, loads image from disk More...
class  HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >
 struct to hold a image state for stitching More...
struct  HuginBase::Nona::_FuncParams
 Parameters for transformation calls Can be just one double, two double, 4 double, a matrix, matrix and a double. More...
struct  HuginBase::Nona::_fDesc
 Function descriptor to be executed by exec_function. More...
class  HuginBase::Nona::SpaceTransform
class  HuginBase::Nona::Stitcher< ImageType, AlphaType >
 implements a stitching algorithm More...
class  HuginBase::Nona::MultiImageRemapper< ImageType, AlphaType >
 remap a set of images, and store the individual remapped files. More...
class  HuginBase::Nona::TiffMultiLayerRemapper< ImageType, AlphaImageType >
 stitch multilayer More...
struct  HuginBase::Nona::CalcMaskUnion
 functor to calculate the union of two images. More...
class  HuginBase::Nona::WeightedStitcher< ImageType, AlphaType >
struct  HuginBase::Nona::ReduceToDifferenceFunctor< VALUETYPE >
 Difference reduce functor. More...
class  HuginBase::Nona::ReduceStitcher< ImageType, AlphaType >
 create a panorama using the reduce operation on all overlapping pixels. More...
class  HuginBase::Nona::SimpleStitcher< ImageType, AlphaType >
 A stitcher without seaming, just copies the images over each other. More...
struct  HuginBase::Nona::StackingBlender
 blend images, by simply stacking them, without soft blending or boundary calculation More...
struct  HuginBase::Nona::SeamBlender
 seam blender. More...
struct  HuginBase::Nona::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
void cubeZero_copy (double *a, int *n, double *root)
void squareZero_copy (double *a, int *n, double *root)
double cubeRoot_copy (double x)
double smallestRoot_copy (double *p)
double CalcCorrectionRadius_copy (double *coeff)
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 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
void 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..
template<typename ImageType, typename AlphaType>
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)


Typedef Documentation

typedef std::vector<std::pair<float, unsigned int> > HuginBase::Nona::AlphaVector
 

Definition at line 497 of file Stitcher.h.

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

Function descriptor to be executed by exec_function.

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

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.


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

double CalcCorrectionRadius_copy double *  coeff  )  [static]
 

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

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.

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

Definition at line 857 of file SpaceTransform.cpp.

References vigra_ext::pow().

Referenced by cubeZero_copy().

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

void 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::Nona::SpaceTransform::Init().

void 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::Nona::SpaceTransform::Init().

void 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::Nona::SpaceTransform::Init().

void 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::Nona::SpaceTransform::Init().

void 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::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

void 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::Nona::SpaceTransform::Init().

void 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::Nona::SpaceTransform::Init().

void 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 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

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

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

do everything on a low res version of the masks

Definition at line 46 of file Stitcher.cpp.

References vigra_ext::applyRect(), vigra_ext::ROIImage< RemapImage, AlphaImage >::boundingBox(), HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::calcAlpha(), DEBUG_ASSERT, DEBUG_DEBUG, vigra_ext::destImage(), HuginBase::PanoramaOptions::getHeight(), HuginBase::PanoramaData::getOptions(), vigra_ext::OverlapSizeCounter::getSize(), HuginBase::PanoramaData::getSrcImage(), HuginBase::PanoramaOptions::getWidth(), HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::setPanoImage(), HuginBase::PanoramaOptions::setWidth(), vigra_ext::srcImage(), and vigra_ext::srcMaskRange().

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

Referenced by HuginBase::estimateImageRect().

template<class TRANSFORM>
void 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.

Referenced by HuginBase::estimateOutputROI().

double 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.

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

void 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::Nona::SpaceTransform::Init(), HuginBase::Nona::SpaceTransform::InitInv(), HuginBase::Nona::SpaceTransform::InitInvRadialCorrect(), and HuginBase::Nona::SpaceTransform::InitRadialCorrect().

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

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

void 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.

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

void 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::Nona::SpaceTransform::Init().

void 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 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::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

void 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::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitRadialCorrect().

void 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.

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

void 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.

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

void 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::Nona::SpaceTransform::Init().

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  outputROI,
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(), and HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::setPanoImage().

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

void 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::Nona::SpaceTransform::Init(), HuginBase::Nona::SpaceTransform::InitInv(), and HuginBase::Nona::RemappedPanoImage< RemapImage, AlphaImage >::setPanoImage().

void 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::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

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

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

void 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.

double smallestRoot_copy double *  p  )  [static]
 

Definition at line 866 of file SpaceTransform.cpp.

References cubeZero_copy().

Referenced by CalcCorrectionRadius_copy().

void 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::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv().

void 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.

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

void 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.

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

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

Definition at line 834 of file SpaceTransform.cpp.

Referenced by cubeZero_copy().

void 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::Nona::SpaceTransform::InitInv().

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

template<typename ImageType, typename AlphaType>
void 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::getFormatName(), HuginBase::PanoramaOptions::outputFormat, HuginBase::PanoramaOptions::outputMode, HuginBase::Nona::MultiImageRemapper< ImageType, AlphaImageType >::stitch(), HuginBase::Nona::MultiImageRemapper< ImageType, AlphaType >::stitch(), HuginBase::Nona::WeightedStitcher< ImageType, AlphaType >::stitch(), and HuginBase::Nona::ReduceStitcher< 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::outputEMoRParams, HuginBase::PanoramaOptions::outputMode, HuginBase::PanoramaOptions::outputPixelType, stitchPanoGray_32_float(), stitchPanoGray_8_16(), stitchPanoRGB_32_float(), stitchPanoRGB_8_16(), makefile::string, and UTILS_THROW.

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

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

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(), and celeste::min().

Referenced by estScaleFactorForFullFrame().

void 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.

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

void 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.

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

void 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::Nona::SpaceTransform::Init(), HuginBase::Nona::SpaceTransform::InitInv(), HuginBase::Nona::SpaceTransform::InitInvRadialCorrect(), and HuginBase::Nona::SpaceTransform::InitRadialCorrect().


Generated on Thu Apr 24 01:25:50 2014 for Hugintrunk by  doxygen 1.3.9.1