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 ¶ms) |
| 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 ¶ms) |
| void | inv_radial (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | resize (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | horiz (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | vert (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | radial (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | persp_sphere (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | persp_rect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | rect_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | pano_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | erect_pano (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | transpano_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | erect_transpano (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | sphere_tp_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | rect_sphere_tp (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | sphere_tp_rect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | sphere_tp_pano (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | pano_sphere_tp (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | erect_rect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | erect_sphere_tp (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| void | mercator_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| convert from erect to mercator | |
| void | erect_mercator (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| convert from mercator to erect | |
| void | transmercator_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| convert from erect to transverse mercator | |
| void | erect_transmercator (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| convert from erect to transverse mercator | |
| void | sinusoidal_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| convert from erect to sinusoidal | |
| void | erect_sinusoidal (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| convert from sinusoidal to erect | |
| void | stereographic_erect (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| convert from erect to stereographic | |
| void | erect_stereographic (double x_dest, double y_dest, double *x_src, double *y_src, const _FuncParams ¶ms) |
| 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 ¶ms) |
| 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) |
|
|
Definition at line 497 of file Stitcher.h. |
|
|
Function descriptor to be executed by exec_function.
Referenced by HuginBase::Nona::SpaceTransform::AddTransform(). |
|
|
Transformation function type.
Definition at line 67 of file SpaceTransform.h. |
|
||||||||||||||||||||||||||||||||||||||||||||
|
load a flatfield image and apply the correction
Definition at line 255 of file ImageRemapper.h. References vigra_ext::flatfieldVigCorrection(). |
|
|
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(). |
|
||||||||||||||||||||
|
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. |
|
|
Definition at line 857 of file SpaceTransform.cpp. References vigra_ext::pow(). Referenced by cubeZero_copy(). |
|
||||||||||||||||
|
Definition at line 813 of file SpaceTransform.cpp. References cubeRoot_copy(), PI, and squareZero_copy(). Referenced by smallestRoot_copy(). |
|
||||||||||||||||||||||||
|
convert from mercator to erect
Definition at line 524 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::Init(). |
|
||||||||||||||||||||||||
|
Definition at line 334 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::Init(). |
|
||||||||||||||||||||||||
|
Definition at line 488 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::Init(). |
|
||||||||||||||||||||||||
|
convert from sinusoidal to erect
Definition at line 563 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::Init(). |
|
||||||||||||||||||||||||
|
Definition at line 496 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::Init(), and HuginBase::Nona::SpaceTransform::InitInv(). |
|
||||||||||||||||||||||||
|
convert from stereographic to erect
Definition at line 585 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::Init(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
Definition at line 350 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. |
|
||||||||||||||||
|
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(). |
|
||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||||||||||
|
Referenced by HuginBase::estimateImageRect(). |
|
||||||||||||||||||||||||
|
calculate the outline of the image
Referenced by HuginBase::estimateOutputROI(). |
|
||||||||||||||||
|
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.
Definition at line 969 of file SpaceTransform.cpp. |
|
|
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(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
Definition at line 326 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::InitInv(). |
|
||||||||||||||||||||||||
|
Definition at line 457 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::Init(). |
|
||||||||||||||||||||||||
|
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. |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
Definition at line 303 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance, and PI. Referenced by HuginBase::Nona::SpaceTransform::InitInv(). |
|
||||||||||||||||||||||||
|
Definition at line 412 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance, and PI. Referenced by HuginBase::Nona::SpaceTransform::Init(). |
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
convert from erect to sinusoidal
Definition at line 554 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. |
|
|
Definition at line 866 of file SpaceTransform.cpp. References cubeZero_copy(). Referenced by CalcCorrectionRadius_copy(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
Definition at line 444 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::InitInv(). |
|
||||||||||||||||||||||||
|
Definition at line 430 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::InitInv(). |
|
||||||||||||||||
|
Definition at line 834 of file SpaceTransform.cpp. Referenced by cubeZero_copy(). |
|
||||||||||||||||||||||||
|
convert from erect to stereographic
Definition at line 572 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::InitInv(). |
|
||||||||||||||||||||||||||||
|
Definition at line 31 of file Stitcher1.cpp. References UTILS_THROW. Referenced by stitchPanorama(). |
|
||||||||||||||||||||||||||||
|
Definition at line 31 of file Stitcher2.cpp. References UTILS_THROW. Referenced by stitchPanorama(). |
|
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
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(), nonaApp::OnInit(), and HuginBase::NonaFileOutputStitcher::runStitcher(). |
|
||||||||||||||||||||||||||||
|
Definition at line 38 of file Stitcher4.cpp. References UTILS_THROW. Referenced by stitchPanorama(). |
|
||||||||||||||||||||||||||||
|
Definition at line 31 of file Stitcher3.cpp. References UTILS_THROW. Referenced by stitchPanorama(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
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(). |
|
||||||||||||||||||||||||
|
Definition at line 342 of file SpaceTransform.cpp. References HuginBase::Nona::_FuncParams::distance. Referenced by HuginBase::Nona::SpaceTransform::InitInv(). |
|
||||||||||||||||||||||||
|
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(). |
1.3.9.1