Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Enumerations | Functions
ImageTransformsGPU.h File Reference

Contains functions to transform whole images. More...

#include <fstream>
#include <iostream>
#include <iomanip>
#include <hugin_shared.h>
#include <vigra/basicimage.hxx>
#include <vigra_ext/ROIImage.h>
#include <vigra_ext/Interpolators.h>
#include <vigra/accessor.hxx>
#include <vigra_ext/FunctorAccessor.h>
#include <hugin_math/hugin_math.h>
#include <hugin_utils/utils.h>
#include <appbase/ProgressDisplay.h>
Include dependency graph for ImageTransformsGPU.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vigra_ext::Error_GpuNumericTraits_not_specialized_for_this_case
 
struct  vigra_ext::GpuNumericTraits< A >
 

Namespaces

 vigra_ext
 

Macros

#define DEFINE_GPUNUMERICTRAITS(IMAGECOMPONENT, GLFORMAT, GLFORMATRGB, GLTRANSFER, GLTRANSFERRGB, GLTYPE)
 

Enumerations

enum  {
  vigra_ext::XGL_BYTE =0, vigra_ext::XGL_UNSIGNED_BYTE, vigra_ext::XGL_SHORT, vigra_ext::XGL_UNSIGNED_SHORT,
  vigra_ext::XGL_INT, vigra_ext::XGL_UNSIGNED_INT, vigra_ext::XGL_FLOAT, vigra_ext::XGL_RGBA8,
  vigra_ext::XGL_RGBA16, vigra_ext::XGL_RGBA32F, vigra_ext::XGL_LUMINANCE8_ALPHA8, vigra_ext::XGL_LUMINANCE16_ALPHA16,
  vigra_ext::XGL_LUMINANCE_ALPHA32F, vigra_ext::XGL_RGB8, vigra_ext::XGL_RGB16, vigra_ext::XGL_RGB32F,
  vigra_ext::XGL_LUMINANCE8, vigra_ext::XGL_LUMINANCE16, vigra_ext::XGL_LUMINANCE32F, vigra_ext::XGL_LUMINANCE,
  vigra_ext::XGL_RGB, vigra_ext::XGL_LUMINANCE_ALPHA, vigra_ext::XGL_RGBA
}
 

Functions

void vigra_ext::SetGPUDebugMessages (const bool doPrint)
 
bool vigra_ext::transformImageGPUIntern (const std::string &coordXformGLSL, const std::string &interpolatorGLSL, const int interpolatorSize, const std::string &photometricGLSL, const vector< double > &invLut, const vector< double > &destLut, const vigra::Diff2D srcSize, const void *const srcBuffer, const int srcGLInternalFormat, const int srcGLTransferFormat, const int srcGLFormat, const int srcGLType, const void *const srcAlphaBuffer, const int srcAlphaGLType, const vigra::Diff2D destUL, const vigra::Diff2D destSize, void *const destBuffer, const int destGLInternalFormat, const int destGLTransferFormat, const int destGLFormat, const int destGLType, void *const destAlphaBuffer, const int destAlphaGLType, const bool warparound)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (vigra::Int8, XGL_LUMINANCE8_ALPHA8, XGL_RGBA8, XGL_LUMINANCE8, XGL_RGB8, XGL_BYTE)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (vigra::UInt8, XGL_LUMINANCE8_ALPHA8, XGL_RGBA8, XGL_LUMINANCE8, XGL_RGB8, XGL_UNSIGNED_BYTE)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (vigra::Int16, XGL_LUMINANCE16_ALPHA16, XGL_RGBA16, XGL_LUMINANCE16, XGL_RGB16, XGL_SHORT)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (vigra::UInt16, XGL_LUMINANCE16_ALPHA16, XGL_RGBA16, XGL_LUMINANCE16, XGL_RGB16, XGL_UNSIGNED_SHORT)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (vigra::Int32, XGL_LUMINANCE_ALPHA32F, XGL_RGBA32F, XGL_LUMINANCE32F, XGL_RGB32F, XGL_INT)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (vigra::UInt32, XGL_LUMINANCE_ALPHA32F, XGL_RGBA32F, XGL_LUMINANCE32F, XGL_RGB32F, XGL_UNSIGNED_INT)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (float, XGL_LUMINANCE_ALPHA32F, XGL_RGBA32F, XGL_LUMINANCE32F, XGL_RGB32F, XGL_FLOAT)
 
 vigra_ext::DEFINE_GPUNUMERICTRAITS (double, XGL_LUMINANCE_ALPHA32F, XGL_RGBA32F, XGL_LUMINANCE32F, XGL_RGB32F, XGL_FLOAT)
 
template<class SrcImageIterator , class SrcAccessor , class DestImageIterator , class DestAccessor , class TRANSFORM , class PixelTransform , class AlphaImageIterator , class AlphaAccessor , class Interpolator >
void vigra_ext::transformImageGPUIntern (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > src, vigra::triple< DestImageIterator, DestImageIterator, DestAccessor > dest, std::pair< AlphaImageIterator, AlphaAccessor > alpha, TRANSFORM &transform, PixelTransform &pixelTransform, vigra::Diff2D destUL, Interpolator interp, bool warparound, AppBase::ProgressDisplay *progress)
 Transform an image into the panorama. More...
 
template<class SrcImageIterator , class SrcAccessor , class SrcAlphaIterator , class SrcAlphaAccessor , class DestImageIterator , class DestAccessor , class TRANSFORM , class PixelTransform , class AlphaImageIterator , class AlphaAccessor , class Interpolator >
void vigra_ext::transformImageAlphaGPUIntern (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > src, std::pair< SrcAlphaIterator, SrcAlphaAccessor > srcAlpha, vigra::triple< DestImageIterator, DestImageIterator, DestAccessor > dest, std::pair< AlphaImageIterator, AlphaAccessor > alpha, TRANSFORM &transform, PixelTransform &pixelTransform, vigra::Diff2D destUL, Interpolator interp, bool warparound, AppBase::ProgressDisplay *progress)
 transform input images with alpha channel More...
 
template<class SrcImageIterator , class SrcAccessor , class DestImageIterator , class DestAccessor , class AlphaImageIterator , class AlphaAccessor , class TRANSFORM , class PixelTransform >
void vigra_ext::transformImageGPU (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > src, vigra::triple< DestImageIterator, DestImageIterator, DestAccessor > dest, std::pair< AlphaImageIterator, AlphaAccessor > alpha, vigra::Diff2D destUL, TRANSFORM &transform, PixelTransform &pixelTransform, bool warparound, Interpolator interpol, AppBase::ProgressDisplay *progress)
 Transform an image into the panorama. More...
 
template<class SrcImageIterator , class SrcAccessor , class SrcAlphaIterator , class SrcAlphaAccessor , class DestImageIterator , class DestAccessor , class AlphaImageIterator , class AlphaAccessor , class TRANSFORM , class PixelTransform >
void vigra_ext::transformImageAlphaGPU (vigra::triple< SrcImageIterator, SrcImageIterator, SrcAccessor > src, std::pair< SrcAlphaIterator, SrcAlphaAccessor > srcAlpha, vigra::triple< DestImageIterator, DestImageIterator, DestAccessor > dest, std::pair< AlphaImageIterator, AlphaAccessor > alpha, vigra::Diff2D destUL, TRANSFORM &transform, PixelTransform &pixelTransform, bool warparound, Interpolator interpol, AppBase::ProgressDisplay *progress)
 Transform image, and respect a possible alpha channel. More...
 

Detailed Description

Contains functions to transform whole images.

Uses PTools::Transform for the calculations

Author
Andrew Mihal

$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, see http://www.gnu.org/licenses/.

Definition in file ImageTransformsGPU.h.

Macro Definition Documentation

#define DEFINE_GPUNUMERICTRAITS (   IMAGECOMPONENT,
  GLFORMAT,
  GLFORMATRGB,
  GLTRANSFER,
  GLTRANSFERRGB,
  GLTYPE 
)

Definition at line 94 of file ImageTransformsGPU.h.