Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Namespaces | Defines | Functions
Img.h File Reference
#include <ICLUtils/SmartPtr.h>
#include <ICLUtils/Exception.h>
#include <ICLCore/ImgBase.h>
#include <ICLCore/ImgIterator.h>
#include <ICLCore/Channel.h>
#include <ICLCore/PixelRef.h>
#include <ICLMath/DynMatrix.h>
#include <cmath>
#include <algorithm>

Go to the source code of this file.

Classes

class  icl::core::Img< Type >
 The Img class implements the ImgBase Image interface with type specific functionalities \. More...
struct  icl::core::ImgBasePtrPtr< T >
 utility class that helps for an implicit conversion between Img<T>* to ImgBase** More...

Namespaces

namespace  icl
 

The ICL-namespace.


namespace  icl::core

Defines

#define CHECK_VALUES(src, srcC, srcOffs, srcSize, dst, dstC, dstOffs, dstSize)

Functions

template<class T >
ImgBasePtrPtr< T > icl::core::bpp (Img< T > *image)
 utility function to cast an Img<T> implicitly into an ImgBase **
template<class T >
ImgBasePtrPtr< T > icl::core::bpp (Img< T > &image)
 utility function to cast an Img<T>* implicitly into an ImgBase **
template<class T >
static T icl::core::p2o (T *ptr)
 Conversion function to transform a pointer into an object.
template<class ImgType >
const ImgType * icl::core::combineImages (const std::vector< const ImgType * > &vec)
 Combine several images using shallow copy.
template<class ImgType >
ImgType * icl::core::combineImages (const std::vector< ImgType * > &vec)
 Combine several images using shallow copy. Non-const version.
template<class T >
void icl::core::deepCopyChannel (const Img< T > *src, int srcC, Img< T > *dst, int dstC)
 Copies the channel from one image to another.
template<class S , class D >
void icl::core::convertChannel (const Img< S > *src, int srcC, Img< D > *dst, int dstC)
 copies/converts the data from one image to another image (IPP-OPTIMIZED)
template<class T >
void icl::core::clearChannelROI (Img< T > *im, int c, T clearVal, const utils::Point &offs, const utils::Size &size)
 sets an arbitrary image ROI to a given value
template<class T >
void icl::core::deepCopyChannelROI (const Img< T > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcSize, Img< T > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstSize)

type conversion of channel ROIs

copies/converts the ROI data from one image to the ROI of another image (IPP-OPTIMIZED)

template<class S , class D >
void icl::core::convertChannelROI (const Img< S > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcROISize, Img< D > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstROISize)

scaling of channel ROIs

scales an image channels ROI into another images ROI (with implicit type conversion) (IPP-OPTIMIZED)

template<class T >
ICLCore_API void icl::core::scaledCopyChannelROI (const Img< T > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcSize, Img< T > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstSize, scalemode eScaleMode)
template<class T >
ICLCore_API void icl::core::flippedCopyChannelROI (axis eAxis, const Img< T > *src, int srcC, const utils::Point &srcOffs, const utils::Size &srcSize, Img< T > *dst, int dstC, const utils::Point &dstOffs, const utils::Size &dstSize)
 mirror copy ROI data from one image to the ROI of another image (IPP-OPTIMIZED)
ICLCore_API void icl::core::flippedCopy (axis eAxis, const ImgBase *poSrc, ImgBase **ppoDst=0)
 mirror copy of an image from source to destination image (1:1 copy)
ICLCore_API void icl::core::flippedCopyROI (axis eAxis, const ImgBase *poSrc, ImgBase **ppoDst=0)
 mirror copy of an images ROI into a destination images ROI

Define Documentation

#define CHECK_VALUES (   src,
  srcC,
  srcOffs,
  srcSize,
  dst,
  dstC,
  dstOffs,
  dstSize 
)
Value:
FUNCTION_LOG("");                                                   \
    ICLASSERT_RETURN( src && dst );                                     \
    ICLASSERT_RETURN( srcSize == dstSize );                             \
    ICLASSERT_RETURN( src->validChannel(srcC) );                        \
    ICLASSERT_RETURN( dst->validChannel(dstC) );                        \
    ICLASSERT_RETURN( srcOffs.x >= 0 && srcOffs.y >= 0 && dstOffs.x >= 0 && dstOffs.y >= 0); \
    ICLASSERT_RETURN( srcOffs.x+srcSize.width <= src->getWidth() && srcOffs.y+srcSize.height <= src->getHeight() ); \
    ICLASSERT_RETURN( dstOffs.x+dstSize.width <= dst->getWidth() && dstOffs.y+dstSize.height <= dst->getHeight() );
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines