Stitcher.h File Reference

Contains various routines used for stitching panoramas. More...

#include <vigra/windows.h>
#include <sstream>
#include <iomanip>
#include <vector>
#include <utility>
#include <cctype>
#include <algorithm>
#include <vigra/stdimage.hxx>
#include <vigra/rgbvalue.hxx>
#include <vigra/tiff.hxx>
#include <vigra/impex.hxx>
#include <vigra_ext/impexalpha.hxx>
#include <vigra_ext/blend.h>
#include <vigra_ext/NearestFeatureTransform.h>
#include <vigra_ext/tiffUtils.h>
#include <vigra_ext/ImageTransforms.h>
#include <panodata/PanoramaData.h>
#include <algorithms/nona/ComputeImageROI.h>
#include <nona/RemappedPanoImage.h>
#include <nona/ImageRemapper.h>

Include dependency graph for Stitcher.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  HuginBase
namespace  HuginBase::Nona

Classes

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

Defines

#define STITCHER_CALC_DIST_IMG   0

Typedefs

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

Functions

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)


Detailed Description

Contains various routines used for stitching panoramas.

Author:
Pablo d'Angelo <pablo.dangelo@web.de>
$Id$

This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU General Public License along with this software; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Definition in file Stitcher.h.


Define Documentation

#define STITCHER_CALC_DIST_IMG   0
 

Definition at line 57 of file Stitcher.h.


Typedef Documentation

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

Definition at line 497 of file Stitcher.h.


Function Documentation

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

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


Generated on Sat Sep 20 01:25:42 2014 for Hugintrunk by  doxygen 1.3.9.1