Stitcher.cpp File Reference

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

#include "Stitcher.h"
#include <vigra/stdimage.hxx>

Include dependency graph for Stitcher.cpp:

Include dependency graph

Go to the source code of this file.


namespace  HuginBase
namespace  HuginBase::Nona


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

Detailed Description

Contains various routines used for stitching panoramas.

Pablo d'Angelo <>

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

Function Documentation

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

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, HuginBase::Nona::stitchPanoGray_32_float(), HuginBase::Nona::stitchPanoGray_8_16(), HuginBase::Nona::stitchPanoRGB_32_float(), HuginBase::Nona::stitchPanoRGB_8_16(), makefile::string, and UTILS_THROW.

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

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