eLynx SDK v3.3.0
C++ image processing API reference
Classes | Typedefs | Enumerations | Functions | Variables

eLynx::Image Namespace Reference

Deals with pixels, images interfaces and tools classes. More...

Classes

class  AbstractImage
 AbstractImage is the base class for abstract image definition. More...
class  IBayerHandler
class  BayerHandlerImpl
class  CIELut
class  IImageAnalyse
 Interface for image analyse methods. More...
class  IImageEdgeProcessing
 Interface defining edge processing functionnalities. More...
class  IImageFileFormat
 Interface defining an image file format. More...
class  IImageFilePlugin
 Interface defining a specialized image file format plugin. More...
class  IImageFilter
 Interface defining an image filter. More...
class  IImageFilterPlugin
 Interface defining a specialized image filter plugin. More...
class  IImageGeometry
 Interface for image geometry methods. More...
class  IImageGlobalProcessing
 Interface defining global to point image processing functionnalities. More...
class  IImageHandler
 Interface for image handler. More...
class  IImageLocalProcessing
 Interface defining local to point image processing functionnalities. More...
class  IImageMiscProcessing
 Interface defining misceallenous processing functionnalities. More...
class  IImageMorphologicalProcessing
 Interface defining morphological processing functionnalities. More...
class  IImageOperators
 Interface defining image operators functionnalities. More...
class  IImagePointProcessing
 Interface defining point to point image processing functionnalities. More...
class  IImagePSF
 Interface for image PSF (Point Spread Function). More...
class  IImageRasterization
 Interface defining rasterization primites for drawing into an image. More...
class  IImageRestoration
 Interface defining various restoration methods. More...
class  ImageAnalyseImpl
 Defining implementation for image analyse interface methods. More...
class  ImageEdgeProcessingImpl
 Implementation of edge processing interface. More...
class  ImageFileInfo
class  ImageFileManager
 Tool class to manage image file format via plugins. More...
class  ImageFileOptions
class  ImageFilterManager
 Tool class to manage image processing filter via plugins. More...
class  ImageGeometryImpl
 Defining implementation for image geometry interface methods. More...
class  ImageGlobalProcessingImpl
 Implementation of global to point image processing interface. More...
class  ImageHandlerImpl
 Class defining an implementation of image hander interface. More...
class  ChannelHistogram
 Tool class defining a channel (grey) histogram. More...
class  ImageHistogram
 Tool class defining an image histogram with multiple channel histograms. More...
class  ImageImpl
 ImageImpl is the template class that defines abstract image implementation. More...
class  ImageLocalProcessingImpl
 Implementation of local to point image processing interface. More...
class  ImageMiscProcessingImpl
 Implementation of misceallenous image processing interface. More...
class  ImageMorphologicalProcessingImpl
 Implementation of morphological image processing interface. More...
class  ImageOperatorsImpl
 Implementation of image operators interface. More...
class  ImagePointProcessingImpl
 Implementation of point to point image processing interface. More...
class  ImageRasterizationImpl
 Implementation of misceallenous image processing interface. More...
class  ImageRestorationImpl
 Implementation of image restoration interface. More...
class  ImageVariant
 Class defining an image variant. More...
class  IPixelIterator
 Empty interface for IPixelIterator. More...
class  KernelPSF
 PSF (point spread function) implementation based on convolution kernel. More...
struct  SampleTypeTraits
struct  PixelBase
 Defines common methods for all Pixel types. More...
struct  ColorToType
 ColorToType struct allows creation of Color or Non-Color pixel types. More...
struct  GreyToType
 GreyToType struct allows creation of Grey or Non-Grey pixel types. More...
struct  AlphaToType
 AlphaToType struct allows creation of Alpha or Non-Alpha pixel types. More...
class  PixelIterator
 ImageImpl is the template class that defines an iterator over the Pixels in the ImageImpl class. More...
struct  PixelL
struct  PixelLA
struct  PixelComplex
struct  PixelRGB
struct  PixelHLS
struct  PixelXYZ
struct  PixelLuv
struct  PixelLab
struct  PixelLch
struct  PixelHLab
struct  PixelRGBA
struct  LuminanceCell

Typedefs

typedef std::vector
< Math::ECompassDirection
OrientationtMap
typedef ColorToType< true > ColorType
typedef ColorToType< false > NonColorType
typedef GreyToType< true > GreyType
typedef GreyToType< false > NonGreyType
typedef AlphaToType< true > AlphaType
typedef AlphaToType< false > NonAlphaType
Pixel specializations
typedef PixelL< uint8 > PixelLub
typedef PixelL< uint16 > PixelLus
typedef PixelL< int32 > PixelLi
typedef PixelL< int64 > PixelLl
typedef PixelL< float > PixelLf
typedef PixelL< double > PixelLd
typedef PixelLA< uint8 > PixelLAub
typedef PixelLA< uint16 > PixelLAus
typedef PixelLA< int32 > PixelLAi
typedef PixelLA< int64 > PixelLAl
typedef PixelLA< float > PixelLAf
typedef PixelLA< double > PixelLAd
typedef PixelRGB< uint8 > PixelRGBub
typedef PixelRGB< uint16 > PixelRGBus
typedef PixelRGB< int32 > PixelRGBi
typedef PixelRGB< int64 > PixelRGBl
typedef PixelRGB< float > PixelRGBf
typedef PixelRGB< double > PixelRGBd
typedef PixelRGBA< uint8 > PixelRGBAub
typedef PixelRGBA< uint16 > PixelRGBAus
typedef PixelRGBA< int32 > PixelRGBAi
typedef PixelRGBA< int64 > PixelRGBAl
typedef PixelRGBA< float > PixelRGBAf
typedef PixelRGBA< double > PixelRGBAd
typedef PixelComplex< int32 > PixelComplexi
typedef PixelComplex< float > PixelComplexf
typedef PixelComplex< double > PixelComplexd
typedef PixelHLS< float > PixelHLSf
typedef PixelHLS< double > PixelHLSd
typedef PixelXYZ< float > PixelXYZf
typedef PixelXYZ< double > PixelXYZd
typedef PixelLab< float > PixelLabf
typedef PixelLab< double > PixelLabd
typedef PixelLuv< float > PixelLuvf
typedef PixelLuv< double > PixelLuvd
typedef PixelLch< float > PixelLchf
typedef PixelLch< double > PixelLchd
typedef PixelHLab< float > PixelHLabf
typedef PixelHLab< double > PixelHLabd

Enumerations

enum  EBayerMatrix {
  BM_None, BM_GRBG, BM_GBRG, BM_RGGB,
  BM_BGGR
}
 

Bayer matrix definition.

More...
enum  EBayerToColorConversion {
  BCC_Grey, BCC_Bin2x2, BCC_Raw, BCC_Nearest,
  BCC_Bilinear, BCC_MalvarHeCutler, BCC_Bicubic, BCC_Cok,
  BCC_Freeman, BCC_Adaptive, BCC_LarochePrescott, BCC_Hamilton,
  BCC_HamiltonAdams, BCC_Adams, BCC_WangLinXue, BCC_Kimmel,
  BCC_LukinKubasov, BCC_ChuanLin, BCC_WemmiaoLu, BCC_PRI,
  BCC_PMI, BCC_VNG, BCC_AHD, BCC_ChangTan,
  BCC_Max, BCC_Default = BCC_Adaptive
}
 

Methods to convert color field array encoded with Bayer matrix to color.

More...
enum  EBayerToGreyConversion { BGC_AsIs, BGC_Max, BGC_Default = BGC_AsIs }
 

Methods to convert color field array encoded with Bayer matrix to Grey.


enum  ETristimulus {
  TV_A_2, TV_C_2, TV_D50_2, TV_D55_2,
  TV_D65_2, TV_D75_2, TV_F2_2, TV_F7_2,
  TV_F11_2, TV_A_10, TV_C_10, TV_TD50_10,
  TV_D55_10, TV_D65_10, TV_D75_10, TV_F2_10,
  TV_F7_10, TV_F11_10, TV_Default = TV_D65_10
}
 

Tristimulus value.


enum  EEdgeDetector {
  ED_PixelDifference, ED_Basic, ED_Roberts, ED_Sobel,
  ED_Prewitt, ED_FreiChen, ED_Max, ED_Default = ED_FreiChen
}
enum  EEdgeGradient {
  EG_North, EG_South, EG_East, EG_West,
  EG_NorthEast, EG_NorthWest, EG_SouthEast, EG_SouthWest,
  EG_Vertical, EG_Horizontal, EG_DiagonalNWSE, EG_DiagonalSWNE,
  EG_Fast, EG_FastDiagonal, EG_Accurate, EG_AccurateDiagonal,
  EG_Max2, EG_Max2Diagonal, EG_Max4
}
enum  EBinningMethod {
  BM_Mean, BM_Median, BM_Sum, BM_Min,
  BM_Max
}
 

Binning interpolation methods.

More...
enum  EFlipPlane { FP_Horizontal, FP_Vertical, FP_Both, FP_None }
enum  ERightRotation { RR_0, RR_90Left, RR_180, RR_90Right }
enum  { RF_Expand = 0x01, RF_Interpolation = 0x02, RF_Antialiasing = 0x04, RF_Default = RF_Expand | RF_Interpolation | RF_Antialiasing }
enum  EGradientMethod { GM_Linear, GM_Quadratic }
 

Gradient removal methods.


enum  EColorEmphasis {
  CE_R = 0x0, CE_G = 0x1, CE_B = 0x2, CE_L = 0x3,
  CE_RGB = CE_R + (CE_G<<2) + (CE_B<<4), CE_BGR = CE_B + (CE_G<<2) + (CE_R<<4), CE_GGG = CE_G + (CE_G<<2) + (CE_G<<4), CE_LLL = CE_L + (CE_L<<2) + (CE_L<<4),
  CE_BRR = CE_B + (CE_R<<2) + (CE_B<<4), CE_BBR = CE_B + (CE_B<<2) + (CE_R<<4), CE_Default = CE_RGB
}
 

Color emphasis for digital development.


enum  EChannelSubstitution { CSM_Lab, CSM_LRGB, CSM_HLS, CSM_HSB }
 

Channel Substitution Method.


enum  EMorphologicalFilterType {
  MFT_Min, MFT_Erode = MFT_Min, MFT_Max, MFT_Dilate = MFT_Max,
  MFT_Median, MFT_Open, MFT_Close, MFT_TopHat
}
enum  EImageOperator {
  IOP_Set, IOP_Neg, IOP_Abs, IOP_Add,
  IOP_Sub, IOP_Mul, IOP_Div, IOP_Dif,
  IOP_Min, IOP_Max, IOP_Mean, IOP_Median,
  IOP_AddClamp, IOP_SubClamp, IOP_SubAbsClamp, IOP_MulClamp,
  IOP_Thresh
}
 

Image operators with constant scalar.


enum  EImageListOperator {
  ILO_Add, ILO_Mul, ILO_Min, ILO_Max,
  ILO_Mean, ILO_Median, ILO_Entropy, ILO_MeanClip,
  ILO_MedianClip, ILO_WeightedClip
}
 

Image list operators.


enum  ERestorationMethod { RM_FAST_INPAINT, RM_FAST_MARCHING, RM_EXEMPLAR_BASED }
 

Restoration Method.


enum  EIntaintPixelType {
  IPT_UNKNOWN = 0x00, IPT_KNOWN = 0x01, IPT_BOUNDARY = 0x02, IPT_INPAINTED = 0x04,
  IPT_SEEN = 0x08
}
 

Pixel's types with respect to the inpaint region.


enum  EBorderFill { BF_Black, BF_White, BF_Nearest, BF_Cycle }
 

How to handle pixels that have no neighbors with local to point processing?
There is no absolutely right way to handle this problem.

More...
enum  EImageFactoryType {
  IFT_Empty, IFT_Checker, IFT_Gradient, IFT_Moivre,
  IFT_Noise, IFT_Perlin, IFT_Liquid, IFT_Square,
  IFT_Circle, IFT_Gaussian, IFT_LensFlare, IFT_Butterworth,
  IFT_Plate, IFT_GradientWheel, IFT_Cellular, IFT_Galaxy,
  IFT_ColorWheel, IFT_Hearts, IFT_Blend, IFT_Bands,
  IFT_Plasma, IFT_Julia, IFT_MAX, IFT_Default = IFT_Plate
}
enum  {
  II_Maker = 1<<0, II_Model = 1<<1, II_ISO = 1<<2, II_WhiteBalance = 1<<3,
  II_Shutter = 1<<4, II_Aperture = 1<<5, II_FocalLength = 1<<6, II_TimeStamp = 1<<7,
  II_Dimension = 1<<8, II_Bias = 1<<9, II_Bayer = 1<<10, II_resolution = 1<<11,
  II_PixelType = 1<<12, II_Preview = 1<<13, II_Content = 1<<14
}
enum  EImageContent {
  IC_Unknown = 0, IC_Photo, IC_Bias, IC_Dark,
  IC_FlatField, IC_Light, IC_Luminance, IC_Red,
  IC_Green, IC_Blue, IC_Halpha, IC_Hbeta,
  IC_OIII, IC_SII
}
enum  { HistogramSamples = 512 }
enum  { PC_MAX = 4 }
 

Maximum of channel per pixels.


enum  EPixelMode { PM_Grey, PM_Color, PM_Complex, PM_Undefined }
 

Main kind of pixel mode.


enum  EColorSpace {
  CS_RGB, CS_HLS, CS_CIE_XYZ, CS_CIE_Luv,
  CS_CIE_Lab, CS_CIE_Lch, CS_Hunter_Lab, CS_Undefined
}
 

Color space for more informations follow links:

More...
enum  EPixelType {
  PT_L, PT_LA, PT_Complex, PT_RGB,
  PT_RGBA, PT_HLS, PT_XYZ, PT_Luv,
  PT_Lab, PT_Lch, PT_HLab, PT_Undefined
}
 

Pixel type definitions.

More...
enum  EPixelFormat {
  PF_Lub, PF_Lus, PF_Li, PF_Lf,
  PF_Ld, PF_LAub, PF_LAus, PF_LAi,
  PF_LAf, PF_LAd, PF_RGBub, PF_RGBus,
  PF_RGBi, PF_RGBf, PF_RGBd, PF_RGBAub,
  PF_RGBAus, PF_RGBAi, PF_RGBAf, PF_RGBAd,
  PF_CPLXi, PF_CPLXf, PF_CPLXd, PF_HLSf,
  PF_HLSd, PF_XYZf, PF_XYZd, PF_Luvf,
  PF_Luvd, PF_Labf, PF_Labd, PF_Lchf,
  PF_Lchd, PF_HLabf, PF_HLabd, PF_Undefined
}
 

Pixel format definitions.

More...
enum  EColorToGreyConversion {
  CGC_Green, CGC_Mean, CGC_Desaturate, CGC_CCIR_601,
  CGC_CCIR_709, CGC_ITU, CGC_Max, CGC_Default = CGC_CCIR_709
}
 

Methods to convert color to grey.

More...
enum  EGreyToColorConversion { GCC_Palettized, GCC_FalseColor, GCC_Max, GCC_Default = GCC_Palettized }
 

Methods to convert grey to color.


enum  EGreyToComplexConversion { GCC_AsReal, GCC_AsImaginary, GCC_FFT }
 

Methods to convert grey to complex.

More...
enum  EComplexToGreyConversion {
  CGC_Real, CGC_Imaginary, CGC_Magnitude, CGC_LogMagnitude,
  CGC_Phase, CGC_IFFT
}
 

Methods to convert complex to gray.

More...

Functions

template<class Image >
bool elxUseable (const Image *iprImage)
 Check if image pointer and image are valid.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateResized (const AbstractImage &iImage, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
 Generic resized image creation.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateZoomed (const AbstractImage &iImage, uint32 iZoom, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
 Create a zoomed image.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateThumbnailImage (const AbstractImage &iImage, uint32 iWidth, uint32 iHeight, bool ibConverveAspectRatio=true, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
 Generic quick resize.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateChannel (const AbstractImage &iImage, uint32 iChannel)
ExportedByImage bool elxFilterChannel (AbstractImage &ioImage, uint32 iChannelMask)
ExportedByImage EBayerMatrix elxToEBayerMatrix (const char *iprType)
 Returns Bayer type for a given string.
ExportedByImage const char * elxToString (EBayerMatrix iBayer)
ExportedByImage const char * elxToString (EBayerToGreyConversion iMethod)
ExportedByImage const char * elxToString (EBayerToColorConversion iMethod)
ExportedByImage EBayerMatrix elxGetBayerAt (EBayerMatrix iBayer, uint32 iX, uint32 iY)
 Return the Bayer pattern at position (x,y).
ExportedByImage EBayerMatrix elxGetBayerLeft (EBayerMatrix iBayer)
ExportedByImage EBayerMatrix elxGetBayerRight (EBayerMatrix iBayer)
ExportedByImage EBayerMatrix elxGetBayerUp (EBayerMatrix iBayer)
ExportedByImage EBayerMatrix elxGetBayerDown (EBayerMatrix iBayer)
ExportedByImage EBayerMatrix elxFlipHorizontal (EBayerMatrix iBayer, uint32 iWidth)
ExportedByImage EBayerMatrix elxFlipVertical (EBayerMatrix iBayer, uint32 iHeight)
ExportedByImage EBayerMatrix elxFlip (EBayerMatrix iBayer, EFlipPlane iFlipPlane, uint32 iWidth, uint32 iHeight)
ExportedByImage EBayerMatrix elxRotate180 (EBayerMatrix iBayer, uint32 iWidth, uint32 iHeight)
ExportedByImage EBayerMatrix elxRotate90Left (EBayerMatrix iBayer, uint32 iWidth)
ExportedByImage EBayerMatrix elxRotate90Right (EBayerMatrix iBayer, uint32 iHeight)
ExportedByImage EBayerMatrix elxRotate (EBayerMatrix iBayer, ERightRotation iRotation, uint32 iWidth, uint32 iHeight)
ExportedByImage const
IBayerHandler
elxGetBayerHandler (EPixelFormat iPixelFormat)
ExportedByImage const
IBayerHandler
elxGetBayerHandler (const AbstractImage &iImage)
template<typename T , template< typename > class Pixel>
boost::shared_ptr< ImageImpl
< Pixel< typename
ResolutionTypeTraits< T >
::Floating_type > > > 
elxCreateFloatingExpanded (const ImageImpl< Pixel< T > > &iImage, uint32 iBorder)
template<typename T >
ExportedByImage T elxGetHue (double iHue)
template<typename T >
ExportedByImage T elxGetSaturation (double iSaturation)
template<class Pixel >
ExportedByImage void elxColorize (Pixel &ioPixel, typename Pixel::type iHue, typename Pixel::type iSaturation)
template<class Pixel >
ExportedByImage void elxDesaturate (Pixel &ioPixel, double iFactor)
template<class Pixel >
ExportedByImage void elxDesaturate (Pixel &ioPixel, double iFactor, uint32 iChannelMask)
template<class Pixel >
ExportedByImage void elxAdjustHueSaturation (Pixel &ioPixel, double iHue, double iSaturation)
template<typename T >
ExportedByImage void elxRGBToHLS (const PixelRGB< T > &iPixel, T &oHue, T &oLuminance, T &oSaturation)
template<typename T >
ExportedByImage void elxHLSToRGB (T iHue, T iLuminance, T iSaturation, PixelRGB< T > &oPixel)
template<typename T >
ExportedByImage void elxRGBToLab (const PixelRGB< T > &iPixelRGB, PixelLab< typename ResolutionTypeTraits< T >::Floating_type > &oPixelLab)
ExportedByImage const char * elxToString (EEdgeDetector iType)
 Returns the gradient detector type as a description string or a string matching enum spelling (ibKeepSpace = false)
ExportedByImage EEdgeDetector elxToEEdgeDetector (const char *iprType)
 Returns the gradient detector type for a given string.
ExportedByImage const char * elxToString (EEdgeGradient iType)
 Returns the gradient type as a description string.
ExportedByImage EEdgeGradient elxToEEdgeGradient (const char *iprType)
 Returns the gradient type for a given string.
ExportedByImage const char * elxToString (EBinningMethod iBinningMethod)
 Converts EBinningMethod to a discription string.
ExportedByImage EBinningMethod elxToEBinningMethod (const char *iprBinningMethod)
 Converts string to EBinningMethod.
ExportedByImage const char * elxToString (EFlipPlane iFlipPlane)
 Converts EFlipPlane to a discription string.
ExportedByImage EFlipPlane elxToEFlipPlane (const char *iprFlipPlane)
 Converts string to EFlipPlane.
ExportedByImage const char * elxToString (ERightRotation iRightRotation)
 Converts ERightRotation to a discription string.
ExportedByImage ERightRotation elxToERightRotation (const char *iprRightRotation)
 Converts string to ERightRotation.
ExportedByImage const char * elxEGeometryFlagToString (int32 iFlag)
 Converts enum to a discription string.
ExportedByImage int32 elxToEGeometryFlag (const char *iprFlag)
 Converts string to geometry flag.
ExportedByImage const char * elxToString (EBorderFill iBorder)
 Return the border as a string.
ExportedByImage const char * elxToString (EGradientMethod iMethod)
 Return Gradient Removal method as a string.
template<typename T >
void elxRGBToL (EColorToGreyConversion iMethod, T *iprDst, const T *iprSrc, size_t iSize, size_t iChannelsIn=3, size_t iChannelOut=1)
template<class Pixel >
boost::shared_ptr< ImageImpl
< PixelRGB< typename
Pixel::type > > > 
elxCreateImageRGBGrey (const ImageImpl< Pixel > &iImage, uint32 iChannel)
template<typename Pixel >
boost::shared_ptr< ImageImpl
< PixelL< typename Pixel::type > > > 
elxCreateChannel (const ImageImpl< Pixel > &iImage, uint32 iChannel, bool ibScale=true)
template<typename Pixel >
bool elxSetChannel (ImageImpl< Pixel > &ioImage, const ImageImpl< PixelL< typename Pixel::type > > &iPlane, uint32 iChannel)
ExportedByImage
Math::ConvolutionKerneld 
elxGetKernel (EEdgeDetector iDetector, Math::ECompassDirection iDirection)
ExportedByImage
Math::ConvolutionKerneld 
elxGetKernel (EEdgeDetector iDetector, EEdgeGradient iGradient)
ExportedByImage const char * elxToString (EImageFactoryType iType)
ExportedByImage void elxReset (EImageFactoryType iType)
ExportedByImage void elxReset (ParameterList &ioParameters)
ExportedByImage void elxGetParameterList (EImageFactoryType iType, ParameterList &oParameters)
ExportedByImage bool elxImageFactory (ImageVariant &ioImage, EImageFactoryType iType)
template<class Pixel >
bool elxConvolveWithPSF (ImageImpl< Pixel > &ioImage, const IImagePSF &iPSF, uint32 &ioProgress, uint32 iTotalProgress, EBorderFill iBorder, uint32 iChannelMask, ProgressNotifier &iNotifier)
template<class Pixel >
void elxConvolvePixelWithPSF (const ImageImpl< Pixel > &iImage, const IImagePSF &iPSF, uint32 iX, uint32 iY, uint32 iChannelMask, Pixel &oResult)
template<class Pixel >
const ImageImpl< Pixel > & elxDowncast (const AbstractImage &iImage)
 Downcast const abstract image to specialized one.
template<class Pixel >
ImageImpl< Pixel > & elxDowncast (AbstractImage &iImage)
 Downcast abstract image to specialized one.
template<class Pixel >
bool elxOperator (ImageImpl< Pixel > &ioImage, EImageOperator iOperator, typename Pixel::type iValue, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<class Pixel >
bool elxOperator (ImageImpl< Pixel > &ioImage, EImageOperator iOperator, const ImageImpl< Pixel > &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<class Pixel >
boost::shared_ptr< ImageImpl
< Pixel > > 
elxCreateSum (const std::vector< const ImageImpl< Pixel > * > &iImageList, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<class Pixel >
boost::shared_ptr< ImageImpl
< Pixel > > 
elxCreateMul (const std::vector< const ImageImpl< Pixel > * > &iImageList, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<class Pixel >
boost::shared_ptr< ImageImpl
< Pixel > > 
elxCreateMin (const std::vector< const ImageImpl< Pixel > * > &iImageList, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<class Pixel >
boost::shared_ptr< ImageImpl
< Pixel > > 
elxCreateMax (const std::vector< const ImageImpl< Pixel > * > &iImageList, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<class Pixel >
boost::shared_ptr< ImageImpl
< Pixel > > 
elxCreateMedian (const std::vector< const ImageImpl< Pixel > * > &iImageList, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<typename T , template< typename > class Pixel>
ExportedByImage
boost::shared_ptr< ImageLub
elxCreateBinarized (const ImageImpl< Pixel< T > > &iImage, T iThreshold, bool ibNegative, uint32 iChannelMask, ProgressNotifier &iNotifier)
template<typename T >
ExportedByImage
boost::shared_ptr< ImageLub
elxCreateBinarized (const ImageImpl< PixelL< T > > &iImage, T iThreshold, bool ibNegative=false, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
template<typename T >
ExportedByImage
boost::shared_ptr< ImageRGBub
elxCreateBinarized (const ImageImpl< PixelRGB< T > > &iImage, T iThreshold, bool ibNegative=false, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
ExportedByImage bool elxUseable (const ImageVariant *iprImage)
bool elxUseChannel (uint32 iChannel, uint32 iChannelMask)
template<class Pixel >
PixelIterator< Pixel > elxDowncast (boost::shared_ptr< IPixelIterator > ispPixelIter)
 Downcast abstract iterator to specialized one.
template<class Pixel >
PixelIterator< const Pixel > elxConstDowncast (boost::shared_ptr< IPixelIterator > ispPixelIter)
 Downcast const abstract iterator to specialized one.
ExportedByImage EPixelFormat elxToEPixelFormat (const char *iprType)
 Returns pixel format for a given string.
ExportedByImage const char * elxToString (EColorToGreyConversion iMethod)
 Return the string name of color to Grey conversion algorithm.
ExportedByImage const char * elxToString (EGreyToColorConversion iMethod)
 Return the string name of Grey to color conversion algorithm.
Image implementation handlers & services
ExportedByImage const
IImageHandler
elxGetImageHandler (EPixelFormat iPixelFormat)
 Get image handler implementation from pixel format.
ExportedByImage const
IImageHandler
elxGetImageHandler (const AbstractImage &iImage)
 Get image handler implementation from an AbstractImage.
ExportedByImage const
IImageGeometry
elxGetGeometryHandler (EPixelFormat iPixelFormat)
 Get image geometry handler from pixel format.
ExportedByImage const
IImageGeometry
elxGetGeometryHandler (const AbstractImage &iImage)
 Get image geometry handler from an AbstractImage.
ExportedByImage const
IImageAnalyse
elxGetAnalyseHandler (EPixelFormat iPixelFormat)
 Get image analyse handler from pixel format.
ExportedByImage const
IImageAnalyse
elxGetAnalyseHandler (const AbstractImage &iImage)
 Get image analyse handler from an AbstractImage.
ExportedByImage const
IImageOperators
elxGetOperatorsHandler (EPixelFormat)
ExportedByImage const
IImageOperators
elxGetOperatorsHandler (const AbstractImage &)
ExportedByImage const
IImagePointProcessing
elxGetPointToPointHandler (EPixelFormat)
ExportedByImage const
IImagePointProcessing
elxGetPointToPointHandler (const AbstractImage &)
ExportedByImage const
IImageLocalProcessing
elxGetLocalToPointHandler (EPixelFormat)
ExportedByImage const
IImageLocalProcessing
elxGetLocalToPointHandler (const AbstractImage &)
ExportedByImage const
IImageGlobalProcessing
elxGetGlobalToPointHandler (EPixelFormat)
ExportedByImage const
IImageGlobalProcessing
elxGetGlobalToPointHandler (const AbstractImage &)
ExportedByImage const
IImageEdgeProcessing
elxGetEdgeProcessingHandler (EPixelFormat)
ExportedByImage const
IImageEdgeProcessing
elxGetEdgeProcessingHandler (const AbstractImage &)
ExportedByImage const
IImageMorphologicalProcessing
elxGetMorphologicalHandler (EPixelFormat)
ExportedByImage const
IImageMorphologicalProcessing
elxGetMorphologicalHandler (const AbstractImage &)
ExportedByImage const
IImageMiscProcessing
elxGetMiscHandler (EPixelFormat)
ExportedByImage const
IImageMiscProcessing
elxGetMiscHandler (const AbstractImage &)
ExportedByImage const
IImageRasterization
elxGetRasterizationHandler (EPixelFormat)
ExportedByImage const
IImageRasterization
elxGetRasterizationHandler (const AbstractImage &)
ExportedByImage const
IImageRestoration
elxGetRestorationHandler (EPixelFormat)
ExportedByImage const
IImageRestoration
elxGetRestorationHandler (const AbstractImage &)
Generic factories for cloning and conversions
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImage (EPixelFormat iPixelFormat, uint32 iWidth, uint32 iHeight)
 Create an abstract image with pixel format and size.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImage (const AbstractImage &iImage)
 Create a cloned abstract image.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImage (const AbstractImage &iImage, EResolution iResolution, bool ibScaled=true)
 Create an abstract image with same pixel type and an requested resolution.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImage (const AbstractImage &iImage, bool ibBlendAlpha)
 Create an image removing alpha channel, ISO resolution.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImage (const AbstractImage &iImage, EColorSpace iColorSpace, bool ibBlendAlpha=false)
 Create an image with requested color space, ISO resolution.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImage (const AbstractImage &iImage, EPixelFormat iPixelFormat, bool ibScaled=true, bool ibBlendAlpha=false)
 Create an converted image with requested pixel format.
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateGreyImage (const AbstractImage &iImage, EColorToGreyConversion iMethod=CGC_Default, bool ibBlendAlpha=false, bool ibRemoveAlpha=false)
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateColorImage (const AbstractImage &iImage, EColorSpace iColorSpace=CS_RGB, bool ibBlendAlpha=false, bool ibRemoveAlpha=false, EGreyToColorConversion iMethod=GCC_Default)
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateColorImage (const AbstractImage &iImage, EBayerMatrix iBayer, EBayerToColorConversion iMethod=BCC_Default)
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateAlphaImage (const AbstractImage &iImage, bool ibRGB, EColorToGreyConversion iMethod=CGC_Default)
ExportedByImage
boost::shared_ptr< ImageRGBub
elxCreateImageRGBub (const AbstractImage &iImage, const Math::AbstractTransfertFunction *iprFunction=NULL, uint32 iChannelMask=CM_All, bool ibBlendAlpha=false)
ExportedByImage
boost::shared_ptr< ImageRGBub
elxCreateImageRGBub (const AbstractImage &iImage, const Math::AbstractTransfertFunction *iprFunction, EBayerToColorConversion iMethod, EBayerMatrix iBayer, uint32 iChannelMask=CM_All)
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImageRGB (const AbstractImage &iImage, EBayerToColorConversion iMethod, EBayerMatrix iBayer, uint32 iChannelMask=CM_All)
ExportedByImage
boost::shared_ptr
< AbstractImage
elxCreateImageRGBGrey (const AbstractImage &iImage, uint32 iChannel)
Generic image channels spliting
ExportedByImage bool elxSplit (const AbstractImage &iImage, AbstractImage *&opsPlane1, AbstractImage *&opsPlane2)
 Split iImage into 2 planes : opsPlane1 and opsPlane2.
ExportedByImage bool elxSplit (const AbstractImage &iImage, AbstractImage *&opsPlane1, AbstractImage *&opsPlane2, AbstractImage *&opsPlane3)
 Split iImage into 3 planes : opsPlane1, opsPlane2 and opsPlane3.
ExportedByImage bool elxSplit (const AbstractImage &iImage, AbstractImage *&opsPlane1, AbstractImage *&opsPlane2, AbstractImage *&opsPlane3, AbstractImage *&opsPlane4)
 Split iImage into 4 planes : opsPlane1, opsPlane2, opsPlane3 and opsPlane4.
Low level factories with requested resolution
template<typename T >
boost::shared_ptr< AbstractImageelxCreateImage (const ImageImpl< PixelL< T > > &iImage, EResolution iResolution, bool ibScaled)
template<typename T >
boost::shared_ptr< AbstractImageelxCreateImage (const ImageImpl< PixelComplex< T > > &iImage, EResolution iResolution, bool ibScaled)
template<typename T >
boost::shared_ptr< AbstractImageelxCreateImage (const ImageImpl< PixelLA< T > > &iImage, EResolution iResolution, bool ibScaled)
template<typename T >
boost::shared_ptr< AbstractImageelxCreateImage (const ImageImpl< PixelRGB< T > > &iImage, EResolution iResolution, bool ibScaled)
template<typename T >
boost::shared_ptr< AbstractImageelxCreateImage (const ImageImpl< PixelHLS< T > > &iImage, EResolution iResolution, bool ibScaled)
template<typename T >
boost::shared_ptr< AbstractImageelxCreateImage (const ImageImpl< PixelLab< T > > &iImage, EResolution iResolution, bool ibScaled)
template<typename T >
boost::shared_ptr< AbstractImageelxCreateImage (const ImageImpl< PixelRGBA< T > > &iImage, EResolution iResolution, bool ibScaled)
Low level Grey image factories.
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLub > > 
elxCreateImageLub (const ImageImpl< PixelL< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLus > > 
elxCreateImageLus (const ImageImpl< PixelL< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLi > > 
elxCreateImageLi (const ImageImpl< PixelL< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLf > > 
elxCreateImageLf (const ImageImpl< PixelL< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLd > > 
elxCreateImageLd (const ImageImpl< PixelL< T > > &iImage, bool ibScaled=true)
Low level RGB color image factories.
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBub > > 
elxCreateImageRGBub (const ImageImpl< PixelRGB< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBus > > 
elxCreateImageRGBus (const ImageImpl< PixelRGB< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBi > > 
elxCreateImageRGBi (const ImageImpl< PixelRGB< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBf > > 
elxCreateImageRGBf (const ImageImpl< PixelRGB< T > > &iImage, bool ibScaled=true)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBd > > 
elxCreateImageRGBd (const ImageImpl< PixelRGB< T > > &iImage, bool ibScaled=true)
Low level color space conversion factories.
template<typename T , template< typename > class Pixel>
boost::shared_ptr< ImageImpl
< PixelRGB< T > > > 
elxCreateImageRGB (const ImageImpl< Pixel< T > > &)
template<typename T , template< typename > class Pixel>
boost::shared_ptr< ImageImpl
< PixelHLS< T > > > 
elxCreateImageHLS (const ImageImpl< Pixel< T > > &)
template<typename T , template< typename > class Pixel>
boost::shared_ptr< ImageImpl
< PixelLab< T > > > 
elxCreateImageLab (const ImageImpl< Pixel< T > > &)
Low level image factories from planes.
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLA< T > > > 
elxCreateImageLA (const ImageImpl< PixelL< T > > &iImageL, const ImageImpl< PixelL< T > > &iImageA)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelComplex< T > > > 
elxCreateImageComplex (const ImageImpl< PixelL< T > > &iImageRe, const ImageImpl< PixelL< T > > &iImageIm)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGB< T > > > 
elxCreateImageRGB (const ImageImpl< PixelL< T > > &iImageR, const ImageImpl< PixelL< T > > &iImageG, const ImageImpl< PixelL< T > > &iImageB)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGB< T > > > 
elxCreateImageRGB (const ImageImpl< PixelRGBA< T > > &iImage, bool ibBlendAlpha=false)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelHLS< T > > > 
elxCreateImageHLS (const ImageImpl< PixelL< T > > &iImageH, const ImageImpl< PixelL< T > > &iImageL, const ImageImpl< PixelL< T > > &iImageS)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLab< T > > > 
elxCreateImageLab (const ImageImpl< PixelL< T > > &iImageL, const ImageImpl< PixelL< T > > &iImageA, const ImageImpl< PixelL< T > > &iImageB)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBA< T > > > 
elxCreateImageRGBA (const ImageImpl< PixelL< T > > &iImageR, const ImageImpl< PixelL< T > > &iImageG, const ImageImpl< PixelL< T > > &iImageB, const ImageImpl< PixelL< T > > &iImageA)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBA< T > > > 
elxCreateImageRGBA (const ImageImpl< PixelRGB< T > > &iImageRGB, const ImageImpl< PixelL< T > > &iImageA)
Low level image Merge planes services
template<typename T >
bool elxMerge (ImageImpl< PixelLA< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneL, const ImageImpl< PixelL< T > > &iPlaneA)
template<typename T >
bool elxMerge (ImageImpl< PixelComplex< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneRe, const ImageImpl< PixelL< T > > &iPlaneIm)
template<typename T >
bool elxMerge (ImageImpl< PixelRGB< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneR, const ImageImpl< PixelL< T > > &iPlaneG, const ImageImpl< PixelL< T > > &iPlaneB)
template<typename T >
bool elxMerge (ImageImpl< PixelXYZ< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneX, const ImageImpl< PixelL< T > > &iPlaneY, const ImageImpl< PixelL< T > > &iPlaneZ)
template<typename T >
bool elxMerge (ImageImpl< PixelHLS< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneH, const ImageImpl< PixelL< T > > &iPlaneL, const ImageImpl< PixelL< T > > &iPlaneS)
template<typename T >
bool elxMerge (ImageImpl< PixelLab< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneL, const ImageImpl< PixelL< T > > &iPlaneA, const ImageImpl< PixelL< T > > &iPlaneB)
template<typename T >
bool elxMerge (ImageImpl< PixelLuv< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneL, const ImageImpl< PixelL< T > > &iPlaneU, const ImageImpl< PixelL< T > > &iPlaneV)
template<typename T >
bool elxMerge (ImageImpl< PixelRGBA< T > > &ioImage, const ImageImpl< PixelL< T > > &iPlaneR, const ImageImpl< PixelL< T > > &iPlaneG, const ImageImpl< PixelL< T > > &iPlaneB, const ImageImpl< PixelL< T > > &iPlaneA)
template<typename T >
bool elxMerge (ImageImpl< PixelRGBA< T > > &ioImage, const ImageImpl< PixelRGB< T > > &iImageRGB, const ImageImpl< PixelL< T > > &iPlaneA)
template<typename Pixel >
bool elxMerge2 (ImageImpl< Pixel > &ioImage, const ImageImpl< PixelL< typename Pixel::type > > &iPlane1, const ImageImpl< PixelL< typename Pixel::type > > &iPlane2)
template<typename Pixel >
bool elxMerge3 (ImageImpl< Pixel > &ioImage, const ImageImpl< PixelL< typename Pixel::type > > &iPlane1, const ImageImpl< PixelL< typename Pixel::type > > &iPlane2, const ImageImpl< PixelL< typename Pixel::type > > &iPlane3)
template<typename Pixel >
bool elxMerge4 (ImageImpl< Pixel > &ioImage, const ImageImpl< PixelL< typename Pixel::type > > &iPlane1, const ImageImpl< PixelL< typename Pixel::type > > &iPlane2, const ImageImpl< PixelL< typename Pixel::type > > &iPlane3, const ImageImpl< PixelL< typename Pixel::type > > &iPlane4)
Low level image Split planes services
template<typename T >
bool elxSplit (const ImageImpl< PixelLA< T > > &iImage, ImageImpl< PixelL< T > > &oImageL, ImageImpl< PixelL< T > > &oImageA)
template<typename T >
bool elxSplit (const ImageImpl< PixelComplex< T > > &iImage, ImageImpl< PixelL< T > > &oImageIm, ImageImpl< PixelL< T > > &oImageRe)
template<typename T >
bool elxSplit (const ImageImpl< PixelRGB< T > > &iImage, ImageImpl< PixelL< T > > &oImageR, ImageImpl< PixelL< T > > &oImageG, ImageImpl< PixelL< T > > &oImageB)
template<typename T >
bool elxSplit (const ImageImpl< PixelHLS< T > > &iImage, ImageImpl< PixelL< T > > &oImageH, ImageImpl< PixelL< T > > &oImageL, ImageImpl< PixelL< T > > &oImageS)
template<typename T >
bool elxSplit (const ImageImpl< PixelLab< T > > &iImage, ImageImpl< PixelL< T > > &oImageL, ImageImpl< PixelL< T > > &oImageA, ImageImpl< PixelL< T > > &oImageB)
template<typename T >
bool elxSplit (const ImageImpl< PixelRGBA< T > > &iImage, ImageImpl< PixelL< T > > &oImageR, ImageImpl< PixelL< T > > &oImageG, ImageImpl< PixelL< T > > &oImageB, ImageImpl< PixelL< T > > &oImageA)
template<typename T >
bool elxSplit (const ImageImpl< PixelRGBA< T > > &iImage, ImageImpl< PixelRGB< T > > &oImageRGB, ImageImpl< PixelL< T > > &oImageA)
template<typename Pixel >
bool elxSplit2 (const ImageImpl< Pixel > &iImage, ImageImpl< PixelL< typename Pixel::type > > &oImage1, ImageImpl< PixelL< typename Pixel::type > > &oImage2)
template<typename Pixel >
bool elxSplit3 (const ImageImpl< Pixel > &iImage, ImageImpl< PixelL< typename Pixel::type > > &oImage1, ImageImpl< PixelL< typename Pixel::type > > &oImage2, ImageImpl< PixelL< typename Pixel::type > > &oImage3)
template<typename Pixel >
bool elxSplit4 (const ImageImpl< Pixel > &iImage, ImageImpl< PixelL< typename Pixel::type > > &oImage1, ImageImpl< PixelL< typename Pixel::type > > &oImage2, ImageImpl< PixelL< typename Pixel::type > > &oImage3, ImageImpl< PixelL< typename Pixel::type > > &oImage4)
Low level color image factories, ISO resolution.
template<class Pixel >
boost::shared_ptr< ImageImpl
< PixelRGB< typename
Pixel::type > > > 
elxCreateImageRGB (const ImageImpl< Pixel > &iImage)
template<class Pixel >
boost::shared_ptr< ImageImpl
< PixelHLS< typename
Pixel::type > > > 
elxCreateImageHLS (const ImageImpl< Pixel > &iImage)
template<class Pixel >
boost::shared_ptr< ImageImpl
< PixelLab< typename
Pixel::type > > > 
elxCreateImageLab (const ImageImpl< Pixel > &iImage)
Low level Grey image factories
template<class Pixel >
boost::shared_ptr< ImageImpl
< PixelL< typename Pixel::type > > > 
elxCreateImageL (const ImageImpl< Pixel > &iImage)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelL< T > > > 
elxCreateImageL (const ImageImpl< PixelLA< T > > &iImage, bool ibBlendAlpha)
template<class Pixel >
boost::shared_ptr< ImageImpl
< PixelL< typename Pixel::type > > > 
elxCreateImageL (const ImageImpl< Pixel > &iImage, EColorToGreyConversion iMethod=CGC_Default)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelL< T > > > 
elxCreateGreyImage (const ImageImpl< PixelRGB< T > > &iImage, EColorToGreyConversion iMethod=CGC_Default)
 Create converted grey image from RGB image.
template<typename T >
boost::shared_ptr< ImageImpl
< PixelL< T > > > 
elxCreateGreyImage (const ImageImpl< PixelRGBA< T > > &iImage, bool ibBlendAlpha, EColorToGreyConversion iMethod=CGC_Default)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelLA< T > > > 
elxCreateGreyImage (const ImageImpl< PixelRGBA< T > > &iImage, EColorToGreyConversion iMethod=CGC_Default)
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGB< T > > > 
elxCreateImageRGBGrey (const ImageImpl< PixelL< T > > &iImage, EGreyToColorConversion iMethod=GCC_Default)
 Create ImageRGB<T> from 1x ImageL<T>.
template<typename T >
boost::shared_ptr< ImageImpl
< PixelRGBA< T > > > 
elxCreateImageRGBAGrey (const ImageImpl< PixelLA< T > > &iImage, EGreyToColorConversion iMethod=GCC_Default)
 Create ImageRGBA<T> from 1x ImageLA<T>.
Low level complex image factories
template<class Pixel >
boost::shared_ptr< ImageImpl
< PixelL< typename Pixel::type > > > 
elxCreateImageComplex (const ImageImpl< Pixel > &iImage)
Low level image factory
template<typename T >
ImageImpl< PixelL< T > > * elxCreateChecker (uint32 iWidth=256, uint32 iHeight=256, uint32 iN=4)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateNoise (uint32 iWidth=256, uint32 iHeight=256, int32 iSeed=0)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateSquare (uint32 iWidth=256, uint32 iHeight=256, double iCutoff=0.5)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateCircle (uint32 iDiameter)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateCircle (uint32 iWidth, uint32 iHeight, double iCutoff)
template<typename T >
ImageImpl< PixelL< T > > * elxCreatePlate (uint32 iWidth, uint32 iHeight, double iScale)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateGaussian (uint32 iWidth, uint32 iHeight, double iVariance)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateButterworth (uint32 iWidth, uint32 iHeight, double iCutoff, uint32 iRank)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateGradient (uint32 iWidth, uint32 iHeight)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateGradientWheel (uint32 iWidth, uint32 iHeight, double iDegrees=0.0)
template<typename T >
ImageImpl< PixelRGB< T > > * elxCreateBands (uint32 iWidth, uint32 iBandHeight)
template<typename T >
ImageImpl< PixelRGB< T > > * elxCreateBlend (uint32 iWidth, uint32 iHeight, double iBlend=1.0)
template<typename T >
ImageImpl< PixelL< T > > * elxCreateCellular (uint32 iWidth, uint32 iHeight, uint32 iCells=30, double iGamma=1.8, int32 iRandom=0)
template<typename T >
ImageImpl< PixelRGB< T > > * elxCreatePlasma (uint32 iWidth, uint32 iHeight, double iRange=4.0, double iAmplitude=0.45, int32 iRandom=0)
template<typename T >
ImageImpl< PixelRGB< T > > * elxCreateColorWheel (uint32 iWidth, uint32 iHeight)
High level image factory
ExportedByImage bool elxMakeChecker (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iN=4)
ExportedByImage bool elxMakeMoivre (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iScale=1)
ExportedByImage bool elxMakePlate (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, double iScale=2.0)
ExportedByImage bool elxMakeNoise (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, int32 iSeed=0)
ExportedByImage bool elxMakeCircle (ImageVariant &ioImage, EResolution iResolution, uint32 iDiameter)
ExportedByImage bool elxMakePerlin (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iSeek=63, uint32 iPeriod=12413, double iScale=1.0)
ExportedByImage bool elxMakeLiquid (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iIterations=200, int32 iRandom=50, double iPower=0.06)
ExportedByImage bool elxMakeLensFlare (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iType=2, double iFocus=0.01)
ExportedByImage bool elxMakeJulia (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iMaxIterations=200, double iZoom=1.0, double iRotation=0.0)
ExportedByImage bool elxMakeGalaxy (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iArms=3, double iDensity=0.15)
ExportedByImage bool elxMakeBands (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iBandHeight=32)
ExportedByImage bool elxMakeGradient (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256)
ExportedByImage bool elxMakeBlend (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, double iBlend=1.0)
ExportedByImage bool elxMakePlasma (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, double iRange=4.0, double iAmplitude=0.45, int32 iRandom=0)
ExportedByImage bool elxMakeCellular (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, uint32 iCells=30, double iGamma=1.8, int32 iRandom=0)
ExportedByImage bool elxMakeColorWheel (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256)
ExportedByImage bool elxMakeGradientWheel (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, double iRotation=0.0)
low-pass mask filter familly
ExportedByImage bool elxMakeSquare (ImageVariant &ioImage, EResolution iResolution=RT_UINT8, uint32 iWidth=256, uint32 iHeight=256, double iCutoff=0.25)
ExportedByImage bool elxMakeCircle (ImageVariant &ioImage, EResolution iResolution, uint32 iWidth, uint32 iHeight, double iCutoff=0.5)
ExportedByImage bool elxMakeGaussian (ImageVariant &ioImage, EResolution iResolution, uint32 iWidth, uint32 iHeight, double iVariance=1.)
ExportedByImage bool elxMakeButterworth (ImageVariant &ioImage, EResolution iResolution, uint32 iWidth, uint32 iHeight, double iCutoff=0.5, uint32 iRank=1)
ExportedByImage bool elxMakeLabGradient (ImageVariant &ioImage, EResolution iResolution, uint32 iWidth, uint32 iHeight, double iLuminance=100.0)
Pixel clamp
template<class Pixel , typename U >
void elxClampChannel (Pixel &ioPixel, const uint32 iChannel, U iValue)
template<typename In , typename Out , template< typename > class Pixel>
void elxPixelClamp (const PixelBase< Pixel< In > > &iPixelIn, PixelBase< Pixel< Out > > &oPixelOut)
template<typename In , typename Out , template< typename > class Pixel>
void elxPixelClamp (const PixelBase< Pixel< In > > &iPixelIn, PixelBase< Pixel< Out > > &oPixelOut, FloatType)
template<typename In , typename Out , template< typename > class Pixel>
void elxPixelClamp (const PixelBase< Pixel< In > > &iPixelIn, PixelBase< Pixel< Out > > &oPixelOut, uint32 iChannelMask)
template<typename In , typename Out , template< typename > class Pixel>
void elxPixelClamp (const PixelBase< Pixel< In > > &iPixelIn, PixelBase< Pixel< Out > > &oPixelOut, FloatType, uint32 iChannelMask)
Pixel addition operators
template<class Pixel >
Pixel operator+ (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel operator+ (const PixelBase< Pixel > &iPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel operator+ (const typename Pixel::type iValue, const PixelBase< Pixel > &iPixel)
template<class Pixel >
Pixel & operator+= (PixelBase< Pixel > &ioFirst, const Pixel &iSecond)
template<class Pixel >
Pixel & operator+= (PixelBase< Pixel > &ioPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel elxPixelAdd (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelAdd (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
template<class Pixel , typename U >
Pixel elxPixelAdd (const PixelBase< Pixel > &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelAdd (const PixelBase< Pixel > &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelAddClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelAddClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
template<class Pixel , typename U >
Pixel elxPixelAddClamp (const PixelBase< Pixel > &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelAddClamp (const PixelBase< Pixel > &iPixel, const U &iValue, uint32 iChannelMask)
Pixel substraction operators
template<class Pixel >
Pixel operator- (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel operator- (const PixelBase< Pixel > &iPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel operator- (const typename Pixel::type iValue, const PixelBase< Pixel > &iPixel)
template<class Pixel >
Pixel & operator-= (PixelBase< Pixel > &ioFirst, const Pixel &iSecond)
template<class Pixel >
Pixel & operator-= (PixelBase< Pixel > &ioPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel elxPixelSub (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelSub (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
template<class Pixel , typename U >
Pixel elxPixelSub (const PixelBase< Pixel > &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelSub (const PixelBase< Pixel > &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelSubClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelSubClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
template<class Pixel , typename U >
Pixel elxPixelSubClamp (const PixelBase< Pixel > &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelSubClamp (const PixelBase< Pixel > &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelSubAbsClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelSubAbsClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
Pixel multiplication operators
template<class Pixel >
Pixel operator* (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel operator* (const PixelBase< Pixel > &iPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel operator* (const typename Pixel::type iValue, const PixelBase< Pixel > &iPixel)
template<class Pixel >
Pixel & operator*= (PixelBase< Pixel > &ioFirst, const Pixel &iSecond)
template<class Pixel >
Pixel & operator*= (PixelBase< Pixel > &ioPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel elxPixelMul (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelMul (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
template<class Pixel , typename U >
Pixel elxPixelMul (const PixelBase< Pixel > &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelMul (const PixelBase< Pixel > &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelMulClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelMulClamp (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
Pixel division operators
template<class Pixel >
Pixel operator/ (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel operator/ (const PixelBase< Pixel > &iPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel operator/ (const typename Pixel::type iValue, const PixelBase< Pixel > &iPixel)
template<class Pixel >
Pixel & operator/= (PixelBase< Pixel > &ioFirst, const Pixel &iSecond)
template<class Pixel >
Pixel & operator/= (PixelBase< Pixel > &ioPixel, const typename Pixel::type iValue)
template<class Pixel >
Pixel elxPixelDiv (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelDiv (const PixelBase< Pixel > &iFirst, const Pixel &iSecond, uint32 iChannelMask)
template<class Pixel , typename U >
Pixel elxPixelDiv (const PixelBase< Pixel > &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelDiv (const PixelBase< Pixel > &iPixel, const U &iValue, uint32 iChannelMask)
Pixel power, exponential and logarithmic services
template<class Pixel >
Pixel & elxSqrtSelf (PixelBase< Pixel > &ioPixel)
template<typename U , class Pixel >
Pixel & elxPowSelf (PixelBase< Pixel > &ioPixel, const U &iValue)
template<class Pixel >
Pixel & elxPixelPowSelf (PixelBase< Pixel > &ioPixel1, const Pixel &iPixel2)
template<class Pixel >
Pixel & elxPixelExpSelf (PixelBase< Pixel > &ioPixel)
template<class Pixel >
Pixel & elxPixelLogSelf (PixelBase< Pixel > &ioPixel)
template<class Pixel >
Pixel & elxPixelLog10Self (PixelBase< Pixel > &ioPixel)
template<class Pixel >
Pixel & elxPixelSqrtSelf (PixelBase< Pixel > &ioPixel)
template<typename U , class Pixel >
Pixel elxPixelPow (const PixelBase< Pixel > &iPixel, const U &iValue)
template<class Pixel >
Pixel elxPixelPow (const PixelBase< Pixel > &iPixel1, const Pixel &iPixel2)
template<class Pixel >
Pixel elxPixelExp (const PixelBase< Pixel > &iPixel)
template<class Pixel >
Pixel elxPixelLog (const PixelBase< Pixel > &iPixel)
template<class Pixel >
Pixel elxPixelLog10 (const PixelBase< Pixel > &iPixel)
template<class Pixel >
Pixel elxPixelSqrt (const PixelBase< Pixel > &iPixel)
Pixel equality operators
template<class Pixel >
bool operator== (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
bool operator!= (const PixelBase< Pixel > &iFirst, const Pixel &iSecond)
template<class Pixel >
bool elxPixelEqual (const Pixel &iFirst, const Pixel &iSecond, uint32 iChannelMask)
Pixel set
template<class Pixel >
void elxPixelSet (Pixel &ioPixel, double iValue)
template<class Pixel >
void elxPixelSet (Pixel &ioPixel, double iValue, uint32 iChannelMask)
template<class Pixel >
void elxPixelSet (Pixel &ioPixel, const Pixel &iPixel)
template<class Pixel >
void elxPixelSet (Pixel &ioPixel, const Pixel &iPixel, uint32 iChannelMask)
Pixel abs
template<class Pixel >
Pixel elxPixelAbs (const Pixel &iPixel)
template<class Pixel >
Pixel elxPixelAbs (const Pixel &iPixel, uint32 iChannelMask)
template<class Pixel , typename U >
Pixel elxPixelAbsDiff (const Pixel &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelAbsDiff (const Pixel &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelAbsDiff (const Pixel &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelAbsDiff (const Pixel &iFirst, const Pixel &iSecond, uint32 iChannelMask)
Pixel min
template<class Pixel , typename U >
Pixel elxPixelMin (const Pixel &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelMin (const Pixel &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelMin (const Pixel &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelMin (const Pixel &iFirst, const Pixel &iSecond, uint32 iChannelMask)
Pixel max
template<class Pixel , typename U >
Pixel elxPixelMax (const Pixel &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelMax (const Pixel &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelMax (const Pixel &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelMax (const Pixel &iFirst, const Pixel &iSecond, uint32 iChannelMask)
Pixel mean
template<class Pixel , typename U >
Pixel elxPixelMean (const Pixel &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelMean (const Pixel &iPixel, const U &iValue, uint32 iChannelMask)
template<class Pixel >
Pixel elxPixelMean (const Pixel &iFirst, const Pixel &iSecond)
template<class Pixel >
Pixel elxPixelMean (const Pixel &iFirst, const Pixel &iSecond, uint32 iChannelMask)
Pixel blend
template<class Pixel >
Pixel elxPixelBlend (const Pixel &iPixel1, const Pixel &iPixel2, double iScalar)
template<class Pixel >
Pixel elxPixelBlend (const Pixel &iPixel1, const Pixel &iPixel2, double iScalar, uint32 iChannelMask)
Pixel negation

@

template<class Pixel >
void elxPixelNegative (Pixel &ioPixel)
template<class Pixel >
void elxPixelNegative (Pixel &ioPixel, uint32 iChannelMask)
Pixel threshold

@

template<class Pixel , typename U >
Pixel elxPixelThreshold (const Pixel &iPixel, const U &iValue)
template<class Pixel , typename U >
Pixel elxPixelThreshold (const Pixel &iPixel, const U &iValue, uint32 iChannelMask)
Enums to string services
ExportedByImage const char * elxToString (EPixelFormat iFormat)
 Return the pixel format as a string.
ExportedByImage const char * elxToString (EPixelType iPixelType)
 Return the pixel type as a string.
ExportedByImage const char * elxToString (EPixelMode iPixelMode)
 Return the pixel type as a string.
ExportedByImage const char * elxToString (EColorSpace iColorSpace)
 Return the color space as a string.
ExportedByImage const char * elxToString (EPixelFormat iFormat, uint32 iChannelIndex)
 Return the channel name of pixel format.
Services from EPixelFormat
ExportedByImage EResolution elxGetResolution (EPixelFormat iFormat)
 Return the resolution of the pixel format samples.
ExportedByImage EPixelMode elxGetPixelMode (EPixelFormat iFormat)
 Return the pixel mode of the pixel format.
ExportedByImage EPixelType elxGetPixelType (EPixelFormat iFormat)
 Return the pixel type of the pixel format.
ExportedByImage EColorSpace elxGetColorSpace (EPixelFormat iFormat)
 Return the color space of the pixel format.
ExportedByImage uint32 elxGetChannelCount (EPixelFormat iFormat)
 Return the number of channel of the pixel format.
ExportedByImage uint32 elxSizeofPixel (EPixelFormat iFormat)
 Return the sizeof of a pixel given his format.
ExportedByImage EResolution elxBitsPerPixel (EPixelFormat iFormat)
 Return the resolution of the pixel format samples.
ExportedByImage uint32 elxChannelsPerPixel (EPixelFormat iFormat)
 Return the number of channels per pixel.
ExportedByImage uint32 elxBitsPerChannel (EPixelFormat iFormat)
 Return the number of bits per channel.
ExportedByImage bool elxHasAlpha (EPixelFormat iFormat)
 Return if pixel format support alpha channel.
ExportedByImage EPixelFormat elxGetPixelFormat (EPixelFormat iFormat, EResolution iResolution)
 Return the Pixel format exist with a another resolution.
ExportedByImage EPixelFormat elxGetPixelFormat (EPixelMode iPixelMode, EResolution iResolution, EColorSpace iColorSpace=CS_Undefined, bool ibHasAlpha=false)
 Return the pixel format build with association of color space and resolution.
ExportedByImage EPixelFormat elxGetPixelFormat (EPixelType iPixelType, EResolution iResolution)
 Return the pixel format build with association of pixel type and resolution.
ExportedByImage bool elxIsUInt8 (EPixelFormat iFormat)
ExportedByImage bool elxIsUInt16 (EPixelFormat iFormat)
ExportedByImage bool elxIsInt32 (EPixelFormat iFormat)
ExportedByImage bool elxIsFloat (EPixelFormat iFormat)
ExportedByImage bool elxIsDouble (EPixelFormat iFormat)
ExportedByImage bool elxIsColor (EPixelFormat iFormat)
ExportedByImage bool elxIsGrey (EPixelFormat iFormat)
ExportedByImage bool elxIsComplex (EPixelFormat iFormat)
ExportedByImage bool elxIsL (EPixelFormat iFormat)
ExportedByImage bool elxIsLA (EPixelFormat iFormat)
ExportedByImage bool elxIsRGB (EPixelFormat iFormat)
ExportedByImage bool elxIsRGBA (EPixelFormat iFormat)
ExportedByImage bool elxIsHLS (EPixelFormat iFormat)
ExportedByImage bool elxIsXYZ (EPixelFormat iFormat)
ExportedByImage bool elxIsLuv (EPixelFormat iFormat)
ExportedByImage bool elxIsLab (EPixelFormat iFormat)
ExportedByImage bool elxIsLch (EPixelFormat iFormat)
ExportedByImage bool elxIsHLab (EPixelFormat iFormat)
ExportedByImage bool elxIsMasking (EPixelFormat iFormat, uint32 iChannelMask)

Variables

ExportedByImage const double g_TristimulusLut [1+TV_F11_10][3]
ExportedByImage ImageFileManager the_ImageFileManager
ExportedByImage ImageFilterManager the_ImageFilterManager

Image specializations

typedef ImageImpl< PixelLubImageLub
typedef ImageImpl< PixelLusImageLus
typedef ImageImpl< PixelLiImageLi
typedef ImageImpl< PixelLlImageLl
typedef ImageImpl< PixelLfImageLf
typedef ImageImpl< PixelLdImageLd
typedef ImageImpl< PixelLAubImageLAub
typedef ImageImpl< PixelLAusImageLAus
typedef ImageImpl< PixelLAiImageLAi
typedef ImageImpl< PixelLAlImageLAl
typedef ImageImpl< PixelLAfImageLAf
typedef ImageImpl< PixelLAdImageLAd
typedef ImageImpl< PixelRGBubImageRGBub
typedef ImageImpl< PixelRGBusImageRGBus
typedef ImageImpl< PixelRGBiImageRGBi
typedef ImageImpl< PixelRGBlImageRGBl
typedef ImageImpl< PixelRGBfImageRGBf
typedef ImageImpl< PixelRGBdImageRGBd
typedef ImageImpl< PixelRGBAubImageRGBAub
typedef ImageImpl< PixelRGBAusImageRGBAus
typedef ImageImpl< PixelRGBAiImageRGBAi
typedef ImageImpl< PixelRGBAlImageRGBAl
typedef ImageImpl< PixelRGBAfImageRGBAf
typedef ImageImpl< PixelRGBAdImageRGBAd
typedef ImageImpl< PixelComplexiImageComplexi
typedef ImageImpl< PixelComplexfImageComplexf
typedef ImageImpl< PixelComplexdImageComplexd
typedef ImageImpl< PixelHLSfImageHLSf
typedef ImageImpl< PixelHLSdImageHLSd
typedef ImageImpl< PixelLabfImageLabf
typedef ImageImpl< PixelLabdImageLabd
ExportedByImage bool elxIsImageFormat (EPixelFormat iFormat)
 Check if an image implementation is supported with a pixel format.
ExportedByImage bool elxIsImageColorSpace (EColorSpace iColorSpace)
 Check if an image implementation is supported with a color space.

Detailed Description

Deals with pixels, images interfaces and tools classes.


You can have a better understanding of image processing reading theses articles :


Enumeration Type Documentation

anonymous enum
Enumerator:
RF_Interpolation 

image size is expanded to the rotated image size otherwise conserve source image size.

RF_Antialiasing 

interpolation are required for better precision, for speed-up don't use it.

Bayer matrix definition.

A Bayer filter is a color filtering array (CFA) for arranging RGB color. The rgb color model utilizes the additive model in which red, green, and blue light are combined in various ways to create other colors.
In the raw output of Bayer filter cameras is referred to as a Bayer Pattern image. Two thirds of the color data is missing from each pixel. A demosaicing algorithm is used to interpolate the complete red, green, and blue values for each point. Many different algorithms exist.
The term derives from the name of its inventor, Bryce Bayer of Eastman Kodak.

Methods to convert color field array encoded with Bayer matrix to color.


The operation that convert raw encoded file with Bayer filter to RGB space is called demosaicing. It calculates the values of missing pixels:

See articles for implementation details :

Here are some results of conversion methods:

0-Grey.png

BCC_Grey
1-Raw.png

BCC_Raw
2-Nearest.png

BCC_Nearest
3-Linear.png

BCC_Linear
4-Adaptive.png

BCC_Adaptive
5-AHD.png

BCC_AHD
Enumerator:
BCC_Grey 

Left as greyed.

BCC_Bin2x2 

Merge 2x2 pixels to one merging colors.

BCC_Raw 

Raw without interpolation.

BCC_Nearest 

Nearest Neighbor Replication
by Ting Chen, Winter 1999, Stanford University

BCC_Bilinear 

Bilinear Interpolation
by Ting Chen, Winter 1999, Stanford University

BCC_MalvarHeCutler 

High-quality linear interpolation for demosaicing of Bayer-patterned color images
by Henrique S.

Malvar, Li-wei He, and Ross Cutler

BCC_Bicubic 

Exposing Digital Forgeries in Color Filter Array Interpolated Images
by Alin C.

Popescu and Hany Faridy, IEEE Transactions on Signal Processing, vol. 53(10), pp. 3948–3959, 2005.

BCC_Cok 

Smooth Hue Transition Interpolation
by David Cok

BCC_Freeman 

Median filter for reconstructing missing color samples by W.

T. Freeman, 1988, U.S. patent no. 4,724,395.

BCC_Adaptive 

RGB Bayer Color and MicroLenses

BCC_LarochePrescott 

Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradients
Laroche and Prescott implementation's used in the Kodak DCS 200 digital camera system.

BCC_Hamilton 

Adaptive color plane interpolation in single sensor color electronic camera
by Hamilton - U.S.Patent 5,629,734

BCC_HamiltonAdams 

Second-order gradients
by Hamilton and Adams

BCC_Adams 

Design of practical color filter array interpolation algorithms for digital cameras
by James E.

Adams - Proceedings of SPIE Vol.3028 P.117-125

BCC_WangLinXue 

Edge-Adaptive color reconstruction for single-sensor digital camera
by Xiaomeng Wang, Weisi Lin and Ping Xue

BCC_Kimmel 

Image reconstruction from color ccd samples, gradient based, smooth hue transition
by Ron Kimmel, 1999

BCC_LukinKubasov 

High-quality algorithm for Bayer pattern interpolation
by A.Luking and G.Kubasov

BCC_ChuanLin 

Pixel Grouping for Color Filter Array Demosaicing
by Chuan-kai Lin, February 10, 2006

BCC_WemmiaoLu 

Color Filter Array Demosaicking
by Wemmiao Lu

BCC_PRI 

Pattern Recognition Interpolation
by Ting Chen

BCC_PMI 

Color Restoration from Digital Camera Data by Pattern Matching
by Wu,XiaoLin.

et.al. Proceedings of SPIE Vol.3018 P.12-17

BCC_VNG 

Color Filter Array Recovery Using a Threshold-based Variable Number of Gradients
by Ed Chang, Shiufun Cheung and Davis Pan

BCC_AHD 

Adaptive homogeneity-directed demosaicing algorithm (AHD)
by Keigo Hirakawa and Thomas W.

Parks in Cornell

BCC_ChangTan 

Hybrid color filter array demosaicking for effective artifact suppression
by LanLan Chang and Yap-Peng Tan, Journal of Electronic Imaging 15(1), 013003 (Jan–Mar 2006)

BCC_Default 

this is the best conversion choice for a quick overview.

Binning interpolation methods.

Enumerator:
BM_Mean 

average of elements.

BM_Median 

median of elements.

BM_Sum 

sum of elements.

BM_Min 

min of elements.

BM_Max 

max of elements.

How to handle pixels that have no neighbors with local to point processing?
There is no absolutely right way to handle this problem.


Following are some suggestions based on common practices.

Here is the border effects applying 5x5 mean filter on a checker image:

borderBlack.png

BF_Black
borderWhite.png

BF_White
borderNearest.png
BF_Nearest
borderCycle.png

BF_Cycle
Enumerator:
BF_Black 

Assume the image is embedded in a sea of zeros.

BF_White 

Assume the image is embedded in a sea of max value for channel.

BF_Nearest 

Nearest neighbor, pixels just outside the image are the same as their nearest neighbor inside the image.

BF_Cycle 

Consider the extended image to be a tiled version of the original.

Color space for more informations follow links:

Enumerator:
CS_RGB 

RGB stands for Red, Green Blue

CS_HLS 

HLS stands for Hue, Luminance Saturation

CS_CIE_XYZ 

CIE XYZ

CS_CIE_Luv 

CIE L u'v'

CS_CIE_Lab 

CIE L a*b*

CS_CIE_Lch 

CIE L c*h*

CS_Hunter_Lab 

Hunter Lab

CS_Undefined 

Undefined color space.

Methods to convert color to grey.

Enumerator:
CGC_Green 

L = g.

CGC_Mean 

L = (r+g+b)/3.

CGC_Desaturate 

L = (min(r,g,b) + max(r,g,b))/2.

CGC_CCIR_601 

L = 0.2989*r + 0.5866*g + 0.1145*b.

CGC_CCIR_709 

L = 0.2125*r + 0.7154*g + 0.0721*b.

CGC_ITU 

L = 0.222*r + 0.707*g + 0.071*b.

Methods to convert complex to gray.

Enumerator:
CGC_Real 

fill grey image with real part of complex.

CGC_Imaginary 

fill grey image with imaginary part of complex.

CGC_Magnitude 

convert complex image to grey magnitude = sqrt(im^2 + re^2).

CGC_LogMagnitude 

convert complex image to grey log magnitude = log(1 + im^2 + re^2).

CGC_Phase 

convert complex image to grey phase = TODO.

CGC_IFFT 

transform complex using Inverse Fast Fourier Transform.

Enumerator:
ED_PixelDifference 

Simple pixel difference.

ED_Basic 

Separated pixel Difference.

ED_Roberts 

Roberts edge detector.

ED_Sobel 

Sobel edge detector.

ED_Prewitt 

Prewitt edge detector.

ED_FreiChen 

FreiChen edge detector.

ED_Max 

This is not a detector.

Enumerator:
EG_North 

G = GNorth.

EG_South 

G = GSouth.

EG_East 

G = GEast.

EG_West 

G = GWest.

EG_NorthEast 

G = GNorthEast.

EG_NorthWest 

G = GNorthWest.

EG_SouthEast 

G = GSouthEast.

EG_SouthWest 

G = GSouthWest.

EG_Vertical 

G = |GNorth| = |GSouth| = |Gy|.

EG_Horizontal 

G = |GEast| = |GWest| = |Gx|.

EG_DiagonalNWSE 

G = |GSouthEast| = |GNorthWest| = |Gyx|.

EG_DiagonalSWNE 

G = |GNorthEast| = |GSouthWest| = |Gxy|.

EG_Fast 

G = |Gx| + |Gy|.

EG_FastDiagonal 

G = |Gxy| + |Gyx|.

EG_Accurate 

G = sqrt(Gx² + Gy²)

EG_AccurateDiagonal 

G = sqrt(Gxy² + Gyx²)

EG_Max2 

G = max(|Gx|, |Gy|)

EG_Max2Diagonal 

G = max(|Gxy|, |Gyx|)

EG_Max4 

G = max(|Gx|, |Gy|, |Gxy|, |Gyx|)

Enumerator:
FP_Horizontal 

Horizontal symmetry.

FP_Vertical 

Vertical symmetry.

FP_Both 

Rotation by 180°.

FP_None 

Unchanged.

Methods to convert grey to complex.

Enumerator:
GCC_AsReal 

copy grey as real part of complex set imaginary part to zero.

GCC_AsImaginary 

copy grey as imaginary part of complex set real part to zero.

GCC_FFT 

transform grey to complex using Fast Fourier Transform (sizes are adjust to power of 2).

Enumerator:
MFT_Min 

Min or erosion filter.

MFT_Erode 

Min or erosion filter.

MFT_Max 

Max or dilation filter.

MFT_Dilate 

Max or dilation filter.

MFT_Median 

median filter.

MFT_Open 

Open is dilation followed by erosion filter.

MFT_Close 

Close is erosion followed by dilation filter.

MFT_TopHat 

difference between the eroded and dilated image.

Pixel format definitions.

Enumerator:
PF_Lub 

luminance unsigned byte 1 x uint8 sizeof() = 1

PF_Lus 

luminance unsigned short 1 x uint16 sizeof() = 2

PF_Li 

luminance int 1 x int32 sizeof() = 4

PF_Lf 

luminance float 1 x float sizeof() = 4

PF_Ld 

luminance double 1 x double sizeof() = 8

PF_LAub 

luminance+alpha unsigned byte 2 x uint8 sizeof() = 2

PF_LAus 

luminance+alpha unsigned short 2 x uint16 sizeof() = 4

PF_LAi 

luminance+alpha int 2 x int32 sizeof() = 8

PF_LAf 

luminance+alpha float 2 x float sizeof() = 8

PF_LAd 

luminance+alpha double 2 x double sizeof() = 16

PF_RGBub 

r,g,b unsigned byte 3 x uint8 sizeof() = 3

PF_RGBus 

r,g,b unsigned short 3 x uint16 sizeof() = 6

PF_RGBi 

r,g,b int 3 x int32 sizeof() = 12

PF_RGBf 

r,g,b float 3 x float sizeof() = 12

PF_RGBd 

r,g,b double 3 x double sizeof() = 24

PF_RGBAub 

r,g,b,a unsigned byte 4 x uint8 sizeof() = 4

PF_RGBAus 

r,g,b,a unsigned short 4 x uint16 sizeof() = 8

PF_RGBAi 

r,g,b,a int 4 x int32 sizeof() = 16

PF_RGBAf 

r,g,b,a float 4 x float sizeof() = 16

PF_RGBAd 

r,g,b,a double 4 x double sizeof() = 32

PF_CPLXi 

for FFT/IFFT usage

complex int 2 x int32 sizeof() = 8

PF_CPLXf 

complex float 2 x float sizeof() = 8

PF_CPLXd 

complex double 2 x double sizeof() = 16

PF_HLSf 

h,l,s float 3 x float sizeof() = 12

PF_HLSd 

h,l,s double 3 x double sizeof() = 24

PF_XYZf 

x,y,z float 3 x float sizeof() = 12

PF_XYZd 

x,y,z double 3 x double sizeof() = 24

PF_Luvf 

l,u,v float 3 x float sizeof() = 12

PF_Luvd 

l,u,v double 3 x double sizeof() = 24

PF_Labf 

l,a,b float 3 x float sizeof() = 12

PF_Labd 

l,a,b double 3 x double sizeof() = 24

PF_Lchf 

l,c,h float 3 x float sizeof() = 12

PF_Lchd 

l,c,h double 3 x double sizeof() = 24

PF_HLabf 

l,a,b float 3 x float sizeof() = 12

PF_HLabd 

l,a,b double 3 x double sizeof() = 24

PF_Undefined 

Undefined pixel format.

Pixel type definitions.

Enumerator:
PT_L 

Grey.

PT_LA 

Grey with alpha.

PT_Complex 

Complex (a real and an imaginary)

PT_RGB 

Red, green and blue.

PT_RGBA 

Red, green and blue with alpha.

PT_HLS 

Hue, luminance and saturation.

PT_XYZ 

CIE XYZ.

PT_Luv 

CIE Luv.

PT_Lab 

CIE Lab.

PT_Lch 

CIE Lch.

PT_HLab 

Hunter Lab.

PT_Undefined 

Undefined pixel type.

Enumerator:
RR_0 

No rotation.

RR_90Left 

Left rotation by 90°.

RR_180 

Rotation by 180°.

RR_90Right 

Right rotation by 90°.


Function Documentation

ExportedByImage uint32 eLynx::Image::elxBitsPerChannel ( EPixelFormat  iFormat )

Return the number of bits per channel.

Parameters:
iFormatThe requested pixel format.
Returns:
The number of bits per channel.
ExportedByImage EResolution eLynx::Image::elxBitsPerPixel ( EPixelFormat  iFormat )

Return the resolution of the pixel format samples.

Parameters:
iFormatThe requested pixel format.
Returns:
The resolution of pixel format samples.
ExportedByImage uint32 eLynx::Image::elxChannelsPerPixel ( EPixelFormat  iFormat )

Return the number of channels per pixel.

Parameters:
iFormatThe requested pixel format.
Returns:
The number of channels per pixel.
template<class Pixel >
PixelIterator<const Pixel> eLynx::Image::elxConstDowncast ( boost::shared_ptr< IPixelIterator >  ispPixelIter )

Downcast const abstract iterator to specialized one.

Abstract iterator must have the same pixel format as the expected return otherwise exception will be thrown.

Parameters:
ispPixelIterThe const abstract iterator to downcast.
Returns:
The downcasted version of pixel iterator.
template<typename T >
boost::shared_ptr< ImageImpl< PixelL<T> > > eLynx::Image::elxCreateGreyImage ( const ImageImpl< PixelRGB< T > > &  iImage,
EColorToGreyConversion  iMethod = CGC_Default 
)

Create converted grey image from RGB image.

Parameters:
iImageThe source image.
iMethodThe conversion method to convert RGB color to Grey.
Returns:
The created grey image.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateImage ( EPixelFormat  iPixelFormat,
uint32  iWidth,
uint32  iHeight 
)

Create an abstract image with pixel format and size.

Parameters:
iPixelFormatThe image pixel implementation.
iWidthwidth of new image.
iHeightheight of new image.
Returns:
A AbstractImage * the new created image.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateImage ( const AbstractImage &  iImage )

Create a cloned abstract image.

Keep dimensions, map and pixel format.

Parameters:
iImageThe image to clone.
Returns:
A AbstractImage * clone of source image.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateImage ( const AbstractImage &  iImage,
EResolution  iResolution,
bool  ibScaled = true 
)

Create an abstract image with same pixel type and an requested resolution.

Keep dimensions, pixel type, transform map with new resolution.

Parameters:
iImageThe source image.
iResolutionThe requested resolution, could be the same as source image (cloning).
ibScaledtrue for scale to full range, false for simple cast.
Returns:
A AbstractImage * could be NULL if creation failed.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateImage ( const AbstractImage &  iImage,
bool  ibBlendAlpha 
)

Create an image removing alpha channel, ISO resolution.

Keep dimensions, resolution.

Parameters:
iImageThe source image.
ibBlendAlphaTrue if blend alpha channel into other channels.
Returns:
A AbstractImage * could be NULL if creation failed.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateImage ( const AbstractImage &  iImage,
EColorSpace  iColorSpace,
bool  ibBlendAlpha = false 
)

Create an image with requested color space, ISO resolution.

Keep dimensions, resolution.

Parameters:
iImageThe source image.
iColorSpaceThe requested color space, could be the same as source image (cloning).
ibBlendAlphaTrue if blend alpha channel into other channels.
Returns:
A AbstractImage * could be NULL if creation failed.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateImage ( const AbstractImage &  iImage,
EPixelFormat  iPixelFormat,
bool  ibScaled = true,
bool  ibBlendAlpha = false 
)

Create an converted image with requested pixel format.

Parameters:
iImageThe source image.
iPixelFormatThe requested pixel format, could be the same as source image (cloning).
ibScaledin case resolution is changed, true for scale to full range, false for simple cast.
ibBlendAlphaTrue if blend alpha channel into other channels.
Returns:
A AbstractImage * could be NULL if creation failed.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateResized ( const AbstractImage &  iImage,
uint32  iWidth,
uint32  iHeight,
ProgressNotifier &  iNotifier = ProgressNotifier_NULL 
)

Generic resized image creation.

Parameters:
iImageThe source image.
iWidthwidth of sub image in pixels.
iHeightheight of sub image in pixels.
iNotifiera notifier for progression, log and cancel.
Returns:
A AbstractImage * could be NULL if creation failed.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateThumbnailImage ( const AbstractImage &  iImage,
uint32  iWidth,
uint32  iHeight,
bool  ibConverveAspectRatio = true,
ProgressNotifier &  iNotifier = ProgressNotifier_NULL 
)

Generic quick resize.

Parameters:
iImageThe source image.
iWidthThe width of thumbnail.
iHeightThe height of thumbnail.
ibConverveAspectRatiotrue to keep image aspect ratio, false otherwise.
iNotifiera notifier for progression, log and cancel.
Returns:
The created thumbnail image.
ExportedByImage boost::shared_ptr<AbstractImage> eLynx::Image::elxCreateZoomed ( const AbstractImage &  iImage,
uint32  iZoom,
ProgressNotifier &  iNotifier = ProgressNotifier_NULL 
)

Create a zoomed image.

Parameters:
iImagesource image.
iZoommagnifier coefficient.
iNotifiera notifier for progression, log and cancel.
Returns:
The created zoomed image.
template<class Pixel >
PixelIterator<Pixel> eLynx::Image::elxDowncast ( boost::shared_ptr< IPixelIterator >  ispPixelIter )

Downcast abstract iterator to specialized one.

Abstract iterator must have the same pixel format as the expected return otherwise exception will be thrown.

Parameters:
ispPixelIterThe abstract iterator to downcast.
Returns:
The downcasted version of pixel iterator.
template<class Pixel >
const ImageImpl<Pixel>& eLynx::Image::elxDowncast ( const AbstractImage &  iImage )

Downcast const abstract image to specialized one.

Abstract image must have the same pixel format as the expected return.

Parameters:
iImageThe const abstract image to downcast.
Returns:
The downcasted version of abstract image, NULL is type not match.
template<class Pixel >
ImageImpl<Pixel>& eLynx::Image::elxDowncast ( AbstractImage &  iImage )

Downcast abstract image to specialized one.

Abstract image must have the same pixel format as the expected return.

Parameters:
iImageThe abstract image to downcast.
Returns:
The downcasted version of abstract image, NULL is type not match.
ExportedByImage const char* eLynx::Image::elxEGeometryFlagToString ( int32  iFlag )

Converts enum to a discription string.

Parameters:
iFlagThe requested flag.
Returns:
The result string.
ExportedByImage const IImageAnalyse& eLynx::Image::elxGetAnalyseHandler ( EPixelFormat  iPixelFormat )

Get image analyse handler from pixel format.

Parameters:
iPixelFormatthe pixel format.
Returns:
Implementation of IImageAnalyse for the given pixel format implementation.
ExportedByImage const IImageAnalyse& eLynx::Image::elxGetAnalyseHandler ( const AbstractImage &  iImage )

Get image analyse handler from an AbstractImage.

Parameters:
iImagethe abstract image.
Returns:
Implementation of IImageAnalyse for the given abstract image implementation.
ExportedByImage EBayerMatrix eLynx::Image::elxGetBayerAt ( EBayerMatrix  iBayer,
uint32  iX,
uint32  iY 
)

Return the Bayer pattern at position (x,y).

Parameters:
iBayer,:The image Bayer matrix pattern.
iX,:The x position.
iY,:The y position.
Returns:
The Bayer pattern at requested position.
ExportedByImage uint32 eLynx::Image::elxGetChannelCount ( EPixelFormat  iFormat )

Return the number of channel of the pixel format.

Parameters:
iFormatThe requested pixel format.
Returns:
The number of component of pixel format.
ExportedByImage EColorSpace eLynx::Image::elxGetColorSpace ( EPixelFormat  iFormat )

Return the color space of the pixel format.

Parameters:
iFormatThe requested pixel format.
Returns:
The color space of pixel format.
ExportedByImage const IImageGeometry& eLynx::Image::elxGetGeometryHandler ( const AbstractImage &  iImage )

Get image geometry handler from an AbstractImage.

Parameters:
iImagethe abstract image.
Returns:
Implementation of IImageGeometry for the given abstract image implementation.
ExportedByImage const IImageGeometry& eLynx::Image::elxGetGeometryHandler ( EPixelFormat  iPixelFormat )

Get image geometry handler from pixel format.

Parameters:
iPixelFormatthe pixel format.
Returns:
Implementation of IImageGeometry for the given pixel format implementation.
ExportedByImage const IImageHandler& eLynx::Image::elxGetImageHandler ( EPixelFormat  iPixelFormat )

Get image handler implementation from pixel format.

Parameters:
iPixelFormatthe pixel format.
Returns:
Implementation of IImageHandler for the given pixel format implementation.
ExportedByImage const IImageHandler& eLynx::Image::elxGetImageHandler ( const AbstractImage &  iImage )

Get image handler implementation from an AbstractImage.

Parameters:
iImagethe abstract image.
Returns:
Implementation of IImageHandler for the given abstract image implementation.
ExportedByImage EPixelFormat eLynx::Image::elxGetPixelFormat ( EPixelFormat  iFormat,
EResolution  iResolution 
)

Return the Pixel format exist with a another resolution.

Parameters:
iFormatThe input pixel format.
iResolutionThe requested resolution.
Returns:
The new pixel format, RT_Undefined if failed or from PF_Undefined.
ExportedByImage EPixelFormat eLynx::Image::elxGetPixelFormat ( EPixelMode  iPixelMode,
EResolution  iResolution,
EColorSpace  iColorSpace = CS_Undefined,
bool  ibHasAlpha = false 
)

Return the pixel format build with association of color space and resolution.

Parameters:
iPixelModeThe pixel mode.
iResolutionThe resolution of pixel samples.
iColorSpaceThe color space.
ibHasAlphatrue for pixel format PixelLA<T> and PixelRGBA<T>, false otherwise.
Returns:
The pixel format from association.
ExportedByImage EPixelFormat eLynx::Image::elxGetPixelFormat ( EPixelType  iPixelType,
EResolution  iResolution 
)

Return the pixel format build with association of pixel type and resolution.

Parameters:
iPixelTypeThe pixel type.
iResolutionThe resolution of pixel samples.
Returns:
The pixel format from association.
ExportedByImage EPixelMode eLynx::Image::elxGetPixelMode ( EPixelFormat  iFormat )

Return the pixel mode of the pixel format.

Parameters:
iFormatThe requested pixel format.
Returns:
The pixel mode of pixel format.
ExportedByImage EPixelType eLynx::Image::elxGetPixelType ( EPixelFormat  iFormat )

Return the pixel type of the pixel format.

Parameters:
iFormatThe requested pixel format.
Returns:
The pixel type of pixel format.
ExportedByImage EResolution eLynx::Image::elxGetResolution ( EPixelFormat  iFormat )

Return the resolution of the pixel format samples.

Parameters:
iFormatThe requested pixel format.
Returns:
The resolution of pixel format samples.
ExportedByImage bool eLynx::Image::elxHasAlpha ( EPixelFormat  iFormat )

Return if pixel format support alpha channel.

Parameters:
iFormatThe requested pixel format.
Returns:
true for pixel type PT_LA and PT_RGBA, false otherwise.
ExportedByImage bool eLynx::Image::elxIsImageColorSpace ( EColorSpace  iColorSpace )

Check if an image implementation is supported with a color space.

It depends on compilation flags.

Parameters:
iColorSpacethe color space to test.
Returns:
true if this pixel format is supported by a image implementation, false otherwise.
ExportedByImage bool eLynx::Image::elxIsImageFormat ( EPixelFormat  iFormat )

Check if an image implementation is supported with a pixel format.

It depends on compilation flags.

Parameters:
iFormatthe pixel format to test.
Returns:
true if this pixel format is supported by a image implementation, false otherwise.
ExportedByImage uint32 eLynx::Image::elxSizeofPixel ( EPixelFormat  iFormat )

Return the sizeof of a pixel given his format.

Parameters:
iFormatThe requested pixel format.
Returns:
The sizeof of the pixel format.
ExportedByImage bool eLynx::Image::elxSplit ( const AbstractImage &  iImage,
AbstractImage *&  opsPlane1,
AbstractImage *&  opsPlane2 
)

Split iImage into 2 planes : opsPlane1 and opsPlane2.

Valid input are :

  • ImageLA<T> ouput is ImageL<T> as L and ImageL<T> as Alpha,
  • ImageComplex<T> ouput is ImageL<T> as Real and ImageL<T> as Imaginary,
  • ImageRGBA<T> ouput is ImageRGB<T> as RGB and ImageL<T> as Alpha
    Parameters:
    iImagethe image to split,
    opsPlane1the 1st splited image,
    opsPlane2the 2nd splited image.
    Returns:
    true if split succeeded false otherwise.
ExportedByImage bool eLynx::Image::elxSplit ( const AbstractImage &  iImage,
AbstractImage *&  opsPlane1,
AbstractImage *&  opsPlane2,
AbstractImage *&  opsPlane3,
AbstractImage *&  opsPlane4 
)

Split iImage into 4 planes : opsPlane1, opsPlane2, opsPlane3 and opsPlane4.

Valid input are :

  • ImageRGBA<T> ouput is ImageL<T> as R, ImageL<T> as G, ImageL<T> as B and ImageL<T> as A.
    Parameters:
    iImagethe image to split,
    opsPlane1the 1st splited plane,
    opsPlane2the 2nd splited plane.
    opsPlane3the 3rd splited plane.
    opsPlane4the 4th splited plane.
    Returns:
    true if split succeeded false otherwise.
ExportedByImage bool eLynx::Image::elxSplit ( const AbstractImage &  iImage,
AbstractImage *&  opsPlane1,
AbstractImage *&  opsPlane2,
AbstractImage *&  opsPlane3 
)

Split iImage into 3 planes : opsPlane1, opsPlane2 and opsPlane3.

Valid input are :

  • ImageRGB<T> ouput is ImageL<T> R, ImageL<T> G and ImageL<T> B,
  • ImageHLS<T> ouput is ImageL<T> H, ImageL<T> L and ImageL<T> S,
  • ImageXYZ<T> ouput is ImageL<T> X, ImageL<T> Y and ImageL<T> Z,
  • ImageLuv<T> ouput is ImageL<T> L, ImageL<T> u and ImageL<T> v,
  • ImageLab<T> ouput is ImageL<T> L, ImageL<T> a and ImageL<T> b,
  • ImageLch<T> ouput is ImageL<T> L, ImageL<T> c and ImageL<T> h,
  • ImageHLab<T> ouput is ImageL<T> L, ImageL<T> a and ImageL<T> b.
    Parameters:
    iImagethe image to split,
    opsPlane1the 1st splited plane,
    opsPlane2the 2nd splited plane.
    opsPlane3the 3rd splited plane.
    Returns:
    true if split succeeded false otherwise.
ExportedByImage EBayerMatrix eLynx::Image::elxToEBayerMatrix ( const char *  iprType )

Returns Bayer type for a given string.

Parameters:
iprTypeThe requested bayer type as a string.
Returns:
pixel type.
ExportedByImage EBinningMethod eLynx::Image::elxToEBinningMethod ( const char *  iprBinningMethod )

Converts string to EBinningMethod.

Parameters:
iprBinningMethodThe binning type as a string.
Returns:
binning type.
ExportedByImage EEdgeDetector eLynx::Image::elxToEEdgeDetector ( const char *  iprType )

Returns the gradient detector type for a given string.

Parameters:
iprTypeThe requested detector type as a string.
Returns:
detector type.
ExportedByImage EEdgeGradient eLynx::Image::elxToEEdgeGradient ( const char *  iprType )

Returns the gradient type for a given string.

Parameters:
iprTypeThe requested gradient type as a string.
Returns:
The gradient type.
ExportedByImage EFlipPlane eLynx::Image::elxToEFlipPlane ( const char *  iprFlipPlane )

Converts string to EFlipPlane.

Parameters:
iprFlipPlaneThe binning type as a string.
Returns:
binning type.
ExportedByImage int32 eLynx::Image::elxToEGeometryFlag ( const char *  iprFlag )

Converts string to geometry flag.

Parameters:
iprFlagThe flag as a string.
Returns:
flag.
ExportedByImage EPixelFormat eLynx::Image::elxToEPixelFormat ( const char *  iprType )

Returns pixel format for a given string.

Parameters:
iprTypeThe requested pixel format as a string.
Returns:
pixel format.
ExportedByImage ERightRotation eLynx::Image::elxToERightRotation ( const char *  iprRightRotation )

Converts string to ERightRotation.

Parameters:
iprRightRotationThe rotation type as a string.
Returns:
rotation type.
ExportedByImage const char* eLynx::Image::elxToString ( EFlipPlane  iFlipPlane )

Converts EFlipPlane to a discription string.

Parameters:
iFlipPlaneThe requested flip type.
Returns:
The result string.
ExportedByImage const char* eLynx::Image::elxToString ( EPixelMode  iPixelMode )

Return the pixel type as a string.

Parameters:
iPixelModeThe requested pixel type.
Returns:
The string name of pixel type.
ExportedByImage const char* eLynx::Image::elxToString ( EEdgeDetector  iType )

Returns the gradient detector type as a description string or a string matching enum spelling (ibKeepSpace = false)

Parameters:
iTypeThe requested detector type.
Returns:
The string name of detector type.
ExportedByImage const char* eLynx::Image::elxToString ( EBinningMethod  iBinningMethod )

Converts EBinningMethod to a discription string.

Parameters:
iBinningMethodThe requested binning type.
Returns:
The string representing binning type.
ExportedByImage const char* eLynx::Image::elxToString ( EEdgeGradient  iType )

Returns the gradient type as a description string.

Parameters:
iTypeThe requested gradient type.
Returns:
The string name of gradient type.
ExportedByImage const char* eLynx::Image::elxToString ( EColorSpace  iColorSpace )

Return the color space as a string.

Parameters:
iColorSpaceThe requested color space.
Returns:
The string name of color space.
ExportedByImage const char* eLynx::Image::elxToString ( EGreyToColorConversion  iMethod )

Return the string name of Grey to color conversion algorithm.

Parameters:
iMethod,:The requested algorithm.
Returns:
The string name of the conversion algorithm.
ExportedByImage const char* eLynx::Image::elxToString ( EPixelFormat  iFormat )

Return the pixel format as a string.

Parameters:
iFormatThe requested pixel format.
Returns:
The string name of pixel format.
ExportedByImage const char* eLynx::Image::elxToString ( EPixelType  iPixelType )

Return the pixel type as a string.

Parameters:
iPixelTypeThe requested pixel type.
Returns:
The string name of pixel type.
ExportedByImage const char* eLynx::Image::elxToString ( ERightRotation  iRightRotation )

Converts ERightRotation to a discription string.

Parameters:
iRightRotationThe requested rotation type.
Returns:
The result string.
ExportedByImage const char* eLynx::Image::elxToString ( EPixelFormat  iFormat,
uint32  iChannelIndex 
)

Return the channel name of pixel format.

Parameters:
iFormatThe requested pixel format.
iChannelIndexThe channel index between in range [0..3].
Returns:
The string name of channel.
ExportedByImage const char* eLynx::Image::elxToString ( EGradientMethod  iMethod )

Return Gradient Removal method as a string.

Parameters:
iMethodThe requested method.
Returns:
The string name of method.
ExportedByImage const char* eLynx::Image::elxToString ( EColorToGreyConversion  iMethod )

Return the string name of color to Grey conversion algorithm.

Parameters:
iMethod,:The requested algorithm.
Returns:
The string name of the conversion algorithm.
ExportedByImage const char* eLynx::Image::elxToString ( EBorderFill  iBorder )

Return the border as a string.

Parameters:
iBorderThe requested border pattern.
Returns:
The string name of border pattern.
template<class Image >
bool eLynx::Image::elxUseable ( const Image *  iprImage )

Check if image pointer and image are valid.

Parameters:
iprImagepointer on image to check.
Returns:
true is image can be used, false otherwise.

Generated on Thu Dec 9 2010 by doxygen 1.7.2