eLynx SDK v3.0.1
C++ image processing API reference

eLynx::Image::ImageVariant Class Reference

#include <ImageVariant.h>

List of all members.


Public Member Functions

Constructors, destructor and assignment
 ImageVariant ()
 ImageVariant (EPixelFormat iPixelFormat, uint32 iWidth, uint32 iHeight)
 ImageVariant (const ImageVariant &iImage)
 ImageVariant (const ImageVariant &iImage, EResolution iResolution, bool ibScaled=true)
 ImageVariant (const AbstractImage &iImage)
 ImageVariant (const ImageVariant &iImage1, const ImageVariant &iImage2, bool ibComplex=false)
 ImageVariant (const ImageVariant &iImage1, const ImageVariant &iImage2, const ImageVariant &iImage3, EColorSpace iColorSpace=CS_RGB)
 ImageVariant (const ImageVariant &iImage1, const ImageVariant &iImage2, const ImageVariant &iImage3, const ImageVariant &iImage4)
 ImageVariant (const char *iprFilename, ImageFileInfo *oprInfo=NULL, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
const ImageVariantoperator= (const ImageVariant &iImage)
const ImageVariantoperator= (const AbstractImage &iImage)
bool operator== (const ImageVariant &iOther) const
bool operator!= (const ImageVariant &iOther) const
virtual ~ImageVariant ()
void Release ()
Pixel informations
EPixelMode GetPixelMode () const
EPixelType GetPixelType () const
EColorSpace GetColorSpace () const
EPixelFormat GetPixelFormat () const
EResolution GetResolution () const
uint32 GetChannelCount () const
uint32 GetBitsPerPixel () const
uint32 sizeofPixel () const
bool IsMasking (uint32 iChannelMask) const
bool IsColor () const
bool IsGrey () const
bool IsComplex () const
bool HasAlpha () const
bool IsL () const
bool IsLA () const
bool IsRGB () const
bool IsRGBA () const
bool IsHLS () const
bool IsXYZ () const
bool IsLuv () const
bool IsLab () const
bool IsLch () const
bool IsHLab () const
bool IsUInt8 () const
bool IsUInt16 () const
bool IsInt32 () const
bool IsFloat () const
bool IsDouble () const
bool IsLub () const
bool IsLus () const
bool IsLi () const
bool IsLf () const
bool IsLd () const
bool IsLAub () const
bool IsLAus () const
bool IsLAi () const
bool IsLAf () const
bool IsLAd () const
bool IsComplexi () const
bool IsComplexf () const
bool IsComplexd () const
bool IsRGBub () const
bool IsRGBus () const
bool IsRGBi () const
bool IsRGBf () const
bool IsRGBd () const
bool IsRGBAub () const
bool IsRGBAus () const
bool IsRGBAi () const
bool IsRGBAf () const
bool IsRGBAd () const
bool IsHLSf () const
bool IsHLSd () const
bool IsXYZf () const
bool IsXYZd () const
bool IsLuvf () const
bool IsLuvd () const
bool IsLabf () const
bool IsLabd () const
bool IsLchf () const
bool IsLchd () const
bool IsHLabf () const
bool IsHLabd () const
Image information
bool IsValid () const
uint32 GetWidth () const
uint32 GetHeight () const
uint32 sizeofWidth () const
uint32 GetPixelCount () const
uint32 GetSampleCount () const
uint32 sizeofMap () const
Implementation access
boost::shared_ptr< AbstractImageGetImpl ()
boost::shared_ptr< const
AbstractImage
GetImpl () const
void Invalidate (bool ibRelease=true)
void Assign (boost::shared_ptr< AbstractImage > &ipsAbstractImpl)
File methods
bool CanLoad (const char *iprFilename, ImageFileInfo *oprInfo=NULL, bool ibPreview=false) const
bool Load (const char *iprFilename, ImageFileInfo *oprInfo=NULL, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool CanSave (const char *iprFilename) const
bool Save (const char *iprFilename, ProgressNotifier &iNotifier=ProgressNotifier_NULL, const ImageFileOptions *iprOptions=NULL) const
Conversion methods
bool ChangeResolution (EResolution iResolution, bool ibScaled=true)
bool ChangeColorSpace (EColorSpace iColorSpace, bool ibBlendAlpha=false)
bool ChangePixelFormat (EPixelFormat iPixelFormat, bool ibScaled=true, bool ibBlendAlpha=false)
bool ChangeToGrey (EColorToGreyConversion iMethod=CGC_Default, bool ibRemoveAlpha=false, bool ibBlendAlpha=false)
bool ChangeToBayer (EBayerMatrix iBayer=BM_GRBG, bool ibBlendAlpha=false, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ChangeToColor (EGreyToColorConversion iMethod=GCC_Default, bool ibRemoveAlpha=false, bool ibBlendAlpha=false)
bool ChangeToColor (EBayerToColorConversion iMethod, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ChangeToUByteFullDynamic ()
bool GetChannelAsRGBGrey (const ImageVariant &iImage, uint32 iChannel)
bool Split (ImageVariant &, ImageVariant &)
bool Split (ImageVariant &, ImageVariant &, ImageVariant &)
bool Split (ImageVariant &, ImageVariant &, ImageVariant &, ImageVariant &)
bool RemoveAlpha (bool ibBlendAlpha=false)
Geometry methods
bool Flip (EFlipPlane iFlipPlane, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool FlipVertical (ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool FlipHorizontal (ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Rotate (ERightRotation iRotation, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Rotate180 (ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Rotate90Left (ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Rotate90Right (ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Rotate (double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Crop (uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AddBorder (uint32 iLeft=0, uint32 iRight=0, uint32 iTop=0, uint32 iBottom=0, bool ibBlack=true, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Resize (uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Resample (uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter=Math::RF_Mitchell, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Zoom (uint32 iZoom, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Bin2x2 (EBinningMethod iMethod=BM_Mean, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Bin3x3 (EBinningMethod iMethod=BM_Mean, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Shift (int32 iHorizontal, int32 iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Shift (double iHorizontal, double iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool GetSubImage (const ImageVariant &iImage, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Insert (const ImageVariant &iImage, int32 iX, int32 iY, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
boost::shared_ptr< ImageVariantCreateThumbnailImage (uint32 iWidth, uint32 iHeight, bool ibConverveAspectRatio=true, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
bool GetThumbnail (const ImageVariant &iImage, uint32 iWidth, uint32 iHeight, bool ibConverveAspectRatio=true, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Operators with constant
bool Operator (EImageOperator iOperator, double iValue, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Neg (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Abs (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Add (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Sub (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Mul (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Div (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Dif (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Min (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Max (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Mean (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AddClamp (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool SubClamp (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool MulClamp (double iScale, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Operators with another image
bool Operator (EImageOperator iOperator, const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Add (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Sub (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Mul (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Div (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Min (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Max (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Mean (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AddClamp (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool SubClamp (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool MulClamp (const ImageVariant &iImage, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Operators with another image using an image mask
bool Operator (EImageOperator iOperator, const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Add (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Sub (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Mul (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Div (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Min (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Max (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Mean (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AddClamp (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool SubClamp (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool MulClamp (const ImageVariant &iImage, const ImageLub &iImageMask, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Operators with image list
bool Build (EImageListOperator iOperator, const std::vector< const ImageVariant * > &iImageList, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool BuildClipped (EImageListOperator iOperator, const std::vector< const ImageVariant * > &iImageList, uint32 iIteration, double iKappa, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool BuildWeightedEntropy (const std::vector< const ImageVariant * > &iImageList, uint32 iW, uint32 iH, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Point to point processing methods
bool AdjustBrightness (double iBrightness, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AdjustContrast (double iContrast, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AdjustGamma (double iGamma, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AdjustBCG (double iBrightness, double iContrast, double iGamma, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AdjustMidtone (double iMidtone, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AdjustSigmoid (double iAlpha, double iBeta, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Balance (double iChannel0, double iChannel1, double iChannel2, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Posterize (uint32 iLevels, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Solarize (double iValue, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Colorize (double iHue, double iSaturation, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Desaturate (double iFactor, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AdjustHueSaturation (double iHue, double iSaturation, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Blend (const ImageVariant &iImage, double iScalar, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Binarize (double iThreshold, bool ibNegative=false, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Convolution based filters
bool Convolve (const Math::ConvolutionKerneld &iKernel, bool ibAbsolute=false, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Convolve (const Math::ConvolutionKerneld &iKernel, double iThresholdMin, double iThresholdMax, bool ibAbsolute=false, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Convolve (const Math::ConvolutionKerneld &iKernel, double iThresholdMin, double iThresholdMax, double iBlend=1.0, bool ibAbsolute=false, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Convolve (const Math::ConvolutionKerneld &iKernel1, const Math::ConvolutionKerneld &iKernel2, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyBoxBlur (uint32 iWidth=5, uint32 iHeight=5, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplySelectiveBlur (double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyFastGaussianBlur (double iRadius=3.0, EBorderFill iBorder=BF_Nearest, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyGaussian (uint32 iWidth, uint32 iHeight, double iVariance, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyGaussian (double iRadius, double iVariance, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyGaussian (double iRadius, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyLoG (double iRadius=3.0, double iVariance=0.5, EBorderFill iBorder=BF_Nearest, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyBilateral (double iRadius=1.5, double iVarianceSpatial=2.0, double iVarianceRange=20.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplySmooth (double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyMean (double iRadius, bool ibCircular=true, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyCone (double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyPyramidal (double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyLowpass (double iAlpha, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyLaplacian3x3 (double iAlpha=0.0, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyLaplacian (double iRadius=0.0, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyEmboss (double iDegree=0.0, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplySharpen (double iRadius=3.0, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplySharpenMore (double iAlpha=1.0, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplySharpenSmooth (double iAlpha=0.0, double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplySharpenSoft (double iThresholdMin=0.0, double iThresholdMax=1.0, double iBlend=1.0, EBorderFill iBorder=BF_Nearest, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyUnsharpMask (double iRadius=2.0, double iAmount1=0.5, double iAmount2=0.5, EBorderFill iBorder=BF_Nearest, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Edge Detector filters
virtual bool ApplyGradient (EEdgeDetector iDetector, EEdgeGradient iGradient=EG_Fast, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyMarrHildreth (EBorderFill iBorder=BF_Nearest, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyRoberts (bool ibFast=true, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyCanny (EEdgeDetector iDetector, EEdgeGradient iGradient, double iRadius=1.5, double iThresholdLo=0.0, double iThresholdHi=1.0, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyZeroCrossingEdgeDetector (double iRadius, double iVariance, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplySegmentation (double iStep, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Misceallenous filters
bool ApplyRotationalGradient (double iXc, double iYc, double iRadialShift, double iRotationalShift, bool ibInterpolation=true, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool RemoveGradient (ImageVariant &oBackground, const Math::Point2iList &iPoints, EGradientMethod iMethod=GM_Linear, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Debloom (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyDigitalDevelopment (double iBackground, double iCrossOver, double iScale, double iVariance=1.5, EColorEmphasis iEmphasis=CE_Default, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Morphological filters
bool ApplyMorphological (EMorphologicalFilterType iType, uint32 iWidth=3, bool ibCircular=true, bool ibLuminance=true, uint32 iIteration=1, double iBlend=1.0, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Despeckle (uint32 iWidth=3, bool ibCircular=true, bool ibLuminance=true, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Erode (uint32 iWidth=3, bool ibCircular=true, bool ibLuminance=true, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Dilate (uint32 iWidth=3, bool ibCircular=true, bool ibLuminance=true, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Open (uint32 iWidth=3, bool ibCircular=true, bool ibLuminance=true, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool Close (uint32 iWidth=3, bool ibCircular=true, bool ibLuminance=true, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool TopHat (uint32 iWidth=3, bool ibCircular=true, bool ibLuminance=true, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyMedian (uint32 iWidth=3, uint32 iIteration=1, bool ibCircular=true, bool ibLuminance=true, double iBlend=1.0, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyAdaptiveMedian (uint32 iWMax=7, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Global to point processing methods
bool Normalize (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AutoBalance (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool AutoBrightness (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool DeconvolveRL (const IImagePSF &iPSF, uint32 iIteration=1, EBorderFill iBorder=BF_Nearest, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool DeconvolveRL (double iRadius, double iSigma=2.0, uint32 iIteration=1, EBorderFill iBorder=BF_Nearest, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyFFT (const ImageVariant &iFilter, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ApplyFFTLowPass (double iCutoff=0.5, uint32 iRank=2, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Bayer matrix methods
EBayerMatrix GetBayerMatrix () const
bool SetBayerMatrix (EBayerMatrix iBayer)
bool IsBayer () const
bool Affine (double iScaleR, double iOffsetR, double iScaleG, double iOffsetG, double iScaleB, double iOffsetB)
Image restoration methods
bool FastInpaint (const ImageVariant &iBinaryMask, bool iUseRegion, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool FastMarchingInpaint (const ImageVariant &iBinaryMask, uint32 iSize, bool iUseRegion, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
bool ExemplarBasedInpaint (const ImageVariant &iBinaryMask, const Math::AOBBox2i &iSearchArea, uint32 iPatchSize, bool iUseRegion, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
Image analyse
bool ComputeMin (double &oMin, bool ibNormalized) const
bool ComputeMin (double(&oMin)[PC_MAX], bool ibNormalized) const
bool ComputeMax (double &oMax, bool ibNormalized) const
bool ComputeMax (double(&oMax)[PC_MAX], bool ibNormalized) const
bool ComputeMinMax (double &oMin, double &oMax, bool ibNormalized=true) const
bool ComputeMinMax (double(&oMin)[PC_MAX], double(&oMax)[PC_MAX], bool ibNormalized) const
bool ComputeMean (double &oMean, bool ibNormalized=true) const
bool ComputeMean (double(&oMean)[PC_MAX], bool ibNormalized=true) const
bool ComputeMedian (double &oMedian, bool ibNormalized=true) const
bool ComputeMedian (double(&oMedian)[PC_MAX], bool ibNormalized=true) const
bool ComputeStandardDeviation (double &oDeviation, bool ibNormalized=false) const
bool ComputeStandardDeviation (double &oDeviation, double &oMean, bool ibNormalized=false) const
bool ComputeStandardDeviation (double(&oDeviation)[PC_MAX], bool ibNormalized=false) const
bool ComputeStandardDeviation (double(&oDeviation)[PC_MAX], double(&oMean)[PC_MAX], bool ibNormalized=false) const
bool ComputeVariance (double &oVariance) const
bool ComputeVariance (double(&oVariance)[PC_MAX]) const
bool ComputeEnergy (double &oEnergy) const
bool ComputeEnergy (double(&oEnergy)[PC_MAX]) const
bool ComputeEntropy (double &oEntropy) const
bool ComputeEntropy (double(&oEntropy)[PC_MAX]) const
bool ComputeHistogram (ImageHistogram &oHistogram) const
bool ComputeMean (double &oMeanR, double &oMeanG, double &oMeanB, bool ibNormalized=false) const
bool ComputeStandardDeviation (double &oStdDevR, double &oStdDevG, double &oStdDevB, bool ibNormalized=false) const
bool ComputeStandardDeviation (double &oMeanR, double &oMeanG, double &oMeanB, double &oStdDevR, double &oStdDevG, double &oStdDevB, bool ibNormalized=false) const
Pixel iterators
boost::shared_ptr< IPixelIteratorBegin ()
boost::shared_ptr< IPixelIteratorBegin () const
boost::shared_ptr< IPixelIteratorEnd ()
boost::shared_ptr< IPixelIteratorEnd () const
Image rasterization
bool Clear (uint32 iChannelMask=CM_All)
bool Plot (int32 iX, int32 iY, uint32 iChannelMask=CM_All)
bool DrawHLine (int32 iY, int32 iX1, int32 iX2, uint32 iChannelMask=CM_All)
bool DrawLine (int32 iX1, int32 iY1, int32 iX2, int32 iY2, bool ibAntialiasing=false, uint32 iChannelMask=CM_All)
bool DrawRectangle (int32 iX1, int32 iY1, int32 iX2, int32 iY2, bool ibSolid=false, uint32 iChannelMask=CM_All)
bool DrawEllipse (int32 iX, int32 iY, uint32 iRadiusX, uint32 iRadiusY, bool ibSolid=false, uint32 iChannelMask=CM_All)
bool DrawCircle (int32 iX, int32 iY, uint32 iRadius, bool ibSolid=false, uint32 iChannelMask=CM_All)
bool DrawTriangle (int32 iX0, int32 iY0, int32 iX1, int32 iY1, int32 iX2, int32 iY2, bool ibSolid=false, uint32 iChannelMask=CM_All)
bool Fill (int32 iX, int32 iY, uint32 iChannelMask=CM_All)
bool GetFilledBBox (int32 iX, int32 iY, Math::AOBBox2i &oBBox) const

Protected Attributes

boost::shared_ptr< AbstractImage_spAbstractImpl
EBayerMatrix _Bayer

Detailed Description

Class defining an image variant. It uses the bridge pattern to hide the implementation of the AbstractImage class from clients. Pixel format is known at run-time. It can change during image life cycle. It's also an wrapper for all AbstractImage services.

Definition at line 49 of file ImageVariant.h.


Constructor & Destructor Documentation

eLynx::Image::ImageVariant::ImageVariant (  ) 

Default construtor make is an invalid image. This means that pixel format is PF_Undefined, width=0, height=0, _Bayer=BM_None, and GetImpl() is NULL.

eLynx::Image::ImageVariant::ImageVariant ( EPixelFormat  iPixelFormat,
uint32  iWidth,
uint32  iHeight 
)

Construction of image with dimension and pixel format, image map pixels is uninitialized for performance reason.

Note:

  • If iWidth or iHeight are 0, it builds an invalid image.
  • With this code, don't expect that bSame is true as pixels map are uninitialized:

    ImageVariant image1(pf, w,h), image2(pf, w,h);
    bool bSame = (image1 == image2);

Parameters:
iPixelFormat pixel format of new image.
iWidth width of new image.
iHeight height of new image.

eLynx::Image::ImageVariant::ImageVariant ( const ImageVariant iImage  ) 

Copy construction of an image.

Parameters:
iImage image to copy.

eLynx::Image::ImageVariant::ImageVariant ( const ImageVariant iImage,
EResolution  iResolution,
bool  ibScaled = true 
)

Copy construction of an image and change resolution.

Note: When elxGetPixelFormat(iImage.GetPixelFormat(), iResolution) returns PF_Undefined, it builds an invalid image.

Parameters:
iImage image to copy.
iResolution The requested resolution, could be the same as source image (cloning).
ibScaled true for scale to full range, false for simple cast.

eLynx::Image::ImageVariant::ImageVariant ( const AbstractImage iImage  ) 

Copy construction of AbstractImage image.

Parameters:
iImage image to copy.

eLynx::Image::ImageVariant::ImageVariant ( const ImageVariant iImage1,
const ImageVariant iImage2,
bool  ibComplex = false 
)

Construction merging two images. Supported formats:

  • L<T> + A<T> to LA<T>, ibComplex = false
  • Re<T> + Im<T> to CPLX<T>, ibComplex = false and resolution is i,f or d;
  • RGB<T> + A<T> or A<T> + RGB<T> to RGBA<T>

Note: Images must have the same resolution and the same size otherwise it builds an invalid image.

Parameters:
iImage1 image1.
iImage2 image2.
ibComplex true if result is a complex image, false otherwise.

eLynx::Image::ImageVariant::ImageVariant ( const ImageVariant iImage1,
const ImageVariant iImage2,
const ImageVariant iImage3,
EColorSpace  iColorSpace = CS_RGB 
)

Construction merging three images. New image has the type of the iColorSpace combine with the resolution of the images. Supported formats:

  • R<T> + G<T> + B<T> to RGB<T> with iColorSpace = CS_RGB
  • H<T> + L<T> + S<T> to HLS<T> with iColorSpace = CS_HLS
  • X<T> + Y<T> + Z<T> to XYZ<T> with iColorSpace = CS_CIE_XYZ
  • L<T> + U<T> + B<T> to Luv<T> with iColorSpace = CS_CIE_Luv
  • L<T> + A<T> + B<T> to Lab<T> with iColorSpace = CS_CIE_Lab
  • L<T> + C<T> + H<T> to Lch<T> with iColorSpace = CS_CIE_Lch
  • L<T> + A<T> + B<T> to HLab<T> with iColorSpace = CS_Hunter_Lab

Notes:

  • Images must be grey and have the same resolution and the same size otherwise it builds an invalid image.
  • If iColorSpace = CS_Undefined it builds an invalid image.

Parameters:
iImage1 image1 grey image for plane1.
iImage2 image2 grey image for plane2.
iImage3 image3 grey image for plane3.
iColorSpace the color space.

eLynx::Image::ImageVariant::ImageVariant ( const ImageVariant iImage1,
const ImageVariant iImage2,
const ImageVariant iImage3,
const ImageVariant iImage4 
)

Construction of an RGBA image merging four images. Supported format:

  • R<T> + G<T> + B<T> + A<T> to RGBA<T>

Note: Images must have the same resolution and the same size otherwise it builds an invalid image.

Parameters:
iImage1 image1 grey image for plane1.
iImage2 image2 grey image for plane2.
iImage3 image3 grey image for plane3.
iImage4 image4 grey image for plane4.

eLynx::Image::ImageVariant::ImageVariant ( const char *  iprFilename,
ImageFileInfo oprInfo = NULL,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Construction from a filename.

Parameters:
iprFilename filename to construct image from.
oprInfo Informations that could be retrieved from file.
iNotifier a notifier for progression, log and cancel.
Note: See Supported Image File Format plugins before using it.

virtual eLynx::Image::ImageVariant::~ImageVariant (  )  [virtual]

virtual destructor to handle inheritance.


Member Function Documentation

const ImageVariant& eLynx::Image::ImageVariant::operator= ( const ImageVariant iImage  ) 

Assignment from ImageVariant.

Parameters:
iImage to assign.
Returns:
this object.

const ImageVariant& eLynx::Image::ImageVariant::operator= ( const AbstractImage iImage  ) 

Assignment from AbstractImage, aggregation copy of image implementation.

Parameters:
iImage abstract image implementation to assign.
Returns:
this object.

bool eLynx::Image::ImageVariant::operator== ( const ImageVariant iOther  )  const

Image comparison operator ==.

Parameters:
iOther Image to compare to this.
Returns:
true is this and iOther are identical, false otherwise.

bool eLynx::Image::ImageVariant::operator!= ( const ImageVariant iOther  )  const

Image comparison operator !=.

Parameters:
iOther Image to compare to this.
Returns:
true is this and iOther are different, false otherwise.

void eLynx::Image::ImageVariant::Release (  ) 

Self destruction. This method is called when object is no longer needed.

EPixelMode eLynx::Image::ImageVariant::GetPixelMode (  )  const

Retrieve the pixel mode.

Returns:
The pixel mode, EPixelMode.

EPixelType eLynx::Image::ImageVariant::GetPixelType (  )  const

Retrieve the pixel type.

Returns:
The pixel type, EPixelType.

EColorSpace eLynx::Image::ImageVariant::GetColorSpace (  )  const

Retrieve the pixel color space.

Returns:
The color space is based on the pixel format and the Bayer matrix value:
  • CS_Undefined for PF_Lub, PF_Lus, PF_Li, PF_Lf and PF_Ld with Bayer matrix set to BM_None
  • CS_RGB for PF_Lub, PF_Lus, PF_Li, PF_Lf and PF_Ld with Bayer matrix NOT set to BM_None
  • CS_Undefined for PF_LAub, PF_LAus, PF_LAi, PF_LAf and PF_LAd
  • CS_Undefined for PF_CPLXi, PF_CPLXf and PF_CPLXd
  • CS_RGB for PF_RGBub, PF_RGBus, PF_RGBi, PF_RGBf and PF_RGBd
  • CS_RGB for PF_RGBAub, PF_RGBAus, PF_RGBAi, PF_RGBAf and PF_RGBAd
  • CS_HLS for PF_HLSf and PF_HLSd
  • CS_CIE_XYZ for PF_XYZf and PF_XYZd
  • CS_CIE_Luv for PF_Luvf and PF_Luvd
  • CS_CIE_Lab for PF_Labf and PF_Labd
  • CS_CIE_Lch for PF_Lchf and PF_Lchd
  • CS_Hunter_Lab for PF_HLabf and PF_HLabd

EPixelFormat eLynx::Image::ImageVariant::GetPixelFormat (  )  const

Retrieve pixel format.

Returns:
The pixel format of the image, see EPixelFormat.

EResolution eLynx::Image::ImageVariant::GetResolution (  )  const

Retrieve the image component resolution.

Returns:
The image component resolution is based on the pixel format:
  • RT_Undefined for PF_Undefined
  • RT_UINT8 for PF_Lub, PF_LAub, PF_RGBub and PF_RGBAub
  • RT_UINT16 for PF_Lus, PF_LAus, PF_RGBus and PF_RGBAus
  • RT_INT32 for PF_Li, PF_LAi, PF_RGBi, PF_RGBAi and PF_CPLXi
  • RT_Float for PF_Lf, PF_LAf, PF_RGBf, PF_RGBAf, PF_CPLXf, PF_HLSf, PF_XYZf, PF_Luvf, PF_Labf, PF_Lchf and HLabf
  • RT_Double for PF_Ld, PF_LAd, PF_RGBd, PF_RGBAd, PF_CPLXd, PF_HLSd, PF_XYZd, PF_Luvd, PF_Labd, PF_Lchd and HLabd

uint32 eLynx::Image::ImageVariant::GetChannelCount (  )  const

Retrieve the number of channel.

Returns:
The number of channel is based on the pixel format:
  • 0 for PF_Undefined
  • 1 for PF_Lub, PF_Lus, PF_Li, PF_Lf and PF_Ld
  • 2 for PF_LAub, PF_LAus, PF_LAi, PF_LAf, PF_LAd, PF_CPLXi, PF_CPLXf and PF_CPLXd
  • 3 for PF_RGBub, PF_RGBus, PF_RGBi, PF_RGBf, PF_RGBd, PF_HLSf, PF_HLSd, PF_XYZf, PF_XYZd, PF_Luvf, PF_Luvd, PF_Labf, PF_Labd, PF_Lchf, PF_Lchd, PF_HLabf and PF_HLabd
  • 4 for PF_RGBAub, PF_RGBAus, PF_RGBAi, PF_RGBAf and PF_RGBAd

uint32 eLynx::Image::ImageVariant::GetBitsPerPixel (  )  const

Retrieve the number of bits per pixel.

Returns:
The number of bits per pixel. It's the number of channel x the channel resolu

uint32 eLynx::Image::ImageVariant::sizeofPixel (  )  const

Retrieve the number of bytes per pixel.

Returns:
The number of bytes per pixel.

bool eLynx::Image::ImageVariant::IsMasking ( uint32  iChannelMask  )  const

Retrieve if selected channel mask contains a channel of image.

Parameters:
iChannelMask The channel mask.
Returns:
true if at least one channel of the image is activated in mask, false otherwise.

bool eLynx::Image::ImageVariant::IsColor (  )  const

Retrieve if image is a color type.

Returns:
true for RGB, RGBA, HLS, CIE XYZ, CIE Lub, CIE Lab, CIE Lch and Hunter Lab images, false otherwise.
Note: Grey image L with a Bayer matrix NOT egal to BM_None is considered as a RGB image so return true.

bool eLynx::Image::ImageVariant::IsGrey (  )  const

Retrieve if image is a grey type.

Returns:
true for L and LA images, false otherwise.
Note: Grey image L with a Bayer matrix NOT egal to BM_None is considered as a RGB image so return false.

bool eLynx::Image::ImageVariant::IsComplex (  )  const

Retrieve if image is a complex type.

Returns:
true for images with pixel format PF_CPLXi, PF_CPLXf or PF_CPLXd, false otherwise.

bool eLynx::Image::ImageVariant::HasAlpha (  )  const

Retrieve if image has an alpha channel.

Returns:
true for LA and RGBA images, false otherwise.

bool eLynx::Image::ImageVariant::IsL (  )  const

Retrieve if image has a luminance channel only.

Note: Grey image L with a Bayer matrix not egal to BM_None is considered as a RGB image and return true.

Returns:
true for L images, false otherwise.

bool eLynx::Image::ImageVariant::IsLA (  )  const

Retrieve if image has a luminance and an alpha channels.

Returns:
true for LA images, false otherwise.

bool eLynx::Image::ImageVariant::IsRGB (  )  const

Retrieve if image is of RGB format.

Returns:
true for RGB images, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBA (  )  const

Retrieve if image is of RGBA format.

Returns:
true for RGBA images, false otherwise.

bool eLynx::Image::ImageVariant::IsHLS (  )  const

Retrieve if image is of HLS format.

Returns:
true for HLS images, false otherwise.

bool eLynx::Image::ImageVariant::IsXYZ (  )  const

Retrieve if image is of CIE XYZ format.

Returns:
true for XYZ images, false otherwise.

bool eLynx::Image::ImageVariant::IsLuv (  )  const

Retrieve if image is of CIE Luv format.

Returns:
true for Luv images, false otherwise.

bool eLynx::Image::ImageVariant::IsLab (  )  const

Retrieve if image is of CIE Lab format.

Returns:
true for Lab images, false otherwise.

bool eLynx::Image::ImageVariant::IsLch (  )  const

Retrieve if image is of CIE Lch format.

Returns:
true for Lch images, false otherwise.

bool eLynx::Image::ImageVariant::IsHLab (  )  const

Retrieve if image is of Hunter Lab format.

Returns:
true for HLab images, false otherwise.

bool eLynx::Image::ImageVariant::IsUInt8 (  )  const

Retrieve if image has RT_UINT8 resolution (8 bits unsigned).

Returns:
true for RT_UINT8 resolution images, false otherwise.

bool eLynx::Image::ImageVariant::IsUInt16 (  )  const

Retrieve if image has RT_UINT16 resolution (16 bits unsigned).

Returns:
true for RT_UINT16 resolution images, false otherwise.

bool eLynx::Image::ImageVariant::IsInt32 (  )  const

Retrieve if image has RT_INT32 resolution (32 bits signed).

Returns:
true for RT_INT32 resolution images, false otherwise.

bool eLynx::Image::ImageVariant::IsFloat (  )  const

Retrieve if image has RT_Float resolution (32 bits floating point).

Returns:
true for RT_Float resolution images, false otherwise.

bool eLynx::Image::ImageVariant::IsDouble (  )  const

Retrieve if image has RT_Double resolution (64 bits floating point).

Returns:
true for RT_Double resolution images, false otherwise.

bool eLynx::Image::ImageVariant::IsLub (  )  const

Retrieve if image has PF_Lub pixel format.

Returns:
true for images with PF_Lub pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLus (  )  const

Retrieve if image has PF_Lus pixel format.

Returns:
true for images with PF_Lus pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLi (  )  const

Retrieve if image has PF_Li pixel format.

Returns:
true for images with PF_Li pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLf (  )  const

Retrieve if image has PF_Lf pixel format.

Returns:
true for images with PF_Lf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLd (  )  const

Retrieve if image has PF_Ld pixel format.

Returns:
true for images with PF_Ld pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLAub (  )  const

Retrieve if image has PF_LAub pixel format.

Returns:
true for images with PF_LAub pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLAus (  )  const

Retrieve if image has PF_LAus pixel format.

Returns:
true for images with PF_LAus pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLAi (  )  const

Retrieve if image has PF_LAi pixel format.

Returns:
true for images with PF_LAi pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLAf (  )  const

Retrieve if image has PF_LAf pixel format.

Returns:
true for images with PF_LAf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLAd (  )  const

Retrieve if image has PF_LAd pixel format.

Returns:
true for images with PF_LAd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsComplexi (  )  const

Retrieve if image has PF_CPLXi pixel format.

Returns:
true for images with PF_CPLXi pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsComplexf (  )  const

Retrieve if image has PF_CPLXf pixel format.

Returns:
true for images with PF_CPLXf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsComplexd (  )  const

Retrieve if image has PF_CPLXd pixel format.

Returns:
true for images with PF_CPLXd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBub (  )  const

Retrieve if image has PF_RGBub pixel format.

Returns:
true for images with PF_RGBub pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBus (  )  const

Retrieve if image has PF_RGBus pixel format.

Returns:
true for images with PF_RGBus pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBi (  )  const

Retrieve if image has PF_RGBi pixel format.

Returns:
true for images with PF_RGBi pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBf (  )  const

Retrieve if image has PF_RGBf pixel format.

Returns:
true for images with PF_RGBf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBd (  )  const

Retrieve if image has PF_RGBd pixel format.

Returns:
true for images with PF_RGBd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBAub (  )  const

Retrieve if image has PF_RGBAub pixel format.

Returns:
true for images with PF_RGBAub pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBAus (  )  const

Retrieve if image has PF_RGBAus pixel format.

Returns:
true for images with PF_RGBAus pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBAi (  )  const

Retrieve if image has PF_RGBAi pixel format.

Returns:
true for images with PF_RGBAi pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBAf (  )  const

Retrieve if image has PF_RGBAi pixel format.

Returns:
true for images with PF_RGBAi pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsRGBAd (  )  const

Retrieve if image has PF_RGBAd pixel format.

Returns:
true for images with PF_RGBAd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsHLSf (  )  const

Retrieve if image has PF_HLSf pixel format.

Returns:
true for images with PF_HLSf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsHLSd (  )  const

Retrieve if image has PF_HLSd pixel format.

Returns:
true for images with PF_HLSd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsXYZf (  )  const

Retrieve if image has PF_XYZf pixel format.

Returns:
true for images with PF_XYZf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsXYZd (  )  const

Retrieve if image has PF_XYZd pixel format.

Returns:
true for images with PF_XYZd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLuvf (  )  const

Retrieve if image has PF_Luvf pixel format.

Returns:
true for images with PF_Luvf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLuvd (  )  const

Retrieve if image has PF_Luvd pixel format.

Returns:
true for images with PF_Luvd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLabf (  )  const

Retrieve if image has PF_Labf pixel format.

Returns:
true for images with PF_Labf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLabd (  )  const

Retrieve if image has PF_Labd pixel format.

Returns:
true for images with PF_Labd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLchf (  )  const

Retrieve if image has PF_Lchf pixel format.

Returns:
true for images with PF_Lchf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsLchd (  )  const

Retrieve if image has PF_Lchd pixel format.

Returns:
true for images with PF_Lchd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsHLabf (  )  const

Retrieve if image has PF_HLabf pixel format.

Returns:
true for images with PF_HLabf pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsHLabd (  )  const

Retrieve if image has PF_HLabd pixel format.

Returns:
true for images with PF_HLabd pixel format, false otherwise.

bool eLynx::Image::ImageVariant::IsValid (  )  const

Check image validity.

Returns:
true image is valid, false otherwise.

uint32 eLynx::Image::ImageVariant::GetWidth (  )  const

Retrieve the image width in pixels.

Returns:
The image width in pixels.

uint32 eLynx::Image::ImageVariant::GetHeight (  )  const

Retrieve the image height in pixels.

Returns:
The image height in pixels.

uint32 eLynx::Image::ImageVariant::sizeofWidth (  )  const

Retrieve the number of bytes per line.

Returns:
The number of bytes per line.

uint32 eLynx::Image::ImageVariant::GetPixelCount (  )  const

Compute the number of pixel for whole image.

Returns:
The number of pixels in image.

uint32 eLynx::Image::ImageVariant::GetSampleCount (  )  const

Retrieve the number of samples for whole map.

Returns:
The the number of samples for whole map.

uint32 eLynx::Image::ImageVariant::sizeofMap (  )  const

Retrieve the number of bytes for whole map.

Returns:
The number of bytes for whole map.

boost::shared_ptr<AbstractImage> eLynx::Image::ImageVariant::GetImpl (  ) 

Retrieve pointeur to implemented abstract image.

Returns:
The read/write reference pointer the to specialized image.

boost::shared_ptr<const AbstractImage> eLynx::Image::ImageVariant::GetImpl (  )  const

Retrieve const pointeur to implemented abstract image.

Returns:
The read reference pointer to the specialized image.

void eLynx::Image::ImageVariant::Invalidate ( bool  ibRelease = true  ) 

Invalidate image. After this call method IsValid() return false.

Parameters:
ibRelease true to release image implementation aggregation, false to reset to NULL.

void eLynx::Image::ImageVariant::Assign ( boost::shared_ptr< AbstractImage > &  ipsAbstractImpl  ) 

Aggregation transfert of implemented abstract image.

Parameters:
ipsAbstractImpl the abstract image implementation to be aggregated by this.

bool eLynx::Image::ImageVariant::CanLoad ( const char *  iprFilename,
ImageFileInfo oprInfo = NULL,
bool  ibPreview = false 
) const

Check is the file is supported by the manager for loading and get file informations.

Parameters:
iprFilename The filename of the file to check.
oprInfo Informations that could be retrieved from file.
ibPreview Set to true if preview is requested in informations.
Returns:
true if file can be loaded, false otherwise.
Note: See Supported Image File Format plugins before using it.

bool eLynx::Image::ImageVariant::Load ( const char *  iprFilename,
ImageFileInfo oprInfo = NULL,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Load an ImageVariant from a filename.

Parameters:
iprFilename The image filename to load.
oprInfo Informations that could be retrieved from file.
iNotifier a notifier for progression, log and cancel.
Returns:
true if image has been loaded, false otherwise.
Note: See Supported Image File Format plugins before using it.

bool eLynx::Image::ImageVariant::CanSave ( const char *  iprFilename  )  const

Check is the image can be saved using file format given by extension in filename.

Parameters:
iprFilename The image filename for format.
Returns:
true if image can be exported, false otherwise.
Note: See Supported Image File Format plugins before using it.

bool eLynx::Image::ImageVariant::Save ( const char *  iprFilename,
ProgressNotifier iNotifier = ProgressNotifier_NULL,
const ImageFileOptions iprOptions = NULL 
) const

Save image to file.

Parameters:
iprFilename The image filename.
iNotifier a notifier for progression, log and cancel.
iprOptions Some specific format options.
Returns:
true if image has been exported, false otherwise.
Note: See Supported Image File Format plugins before using it.

bool eLynx::Image::ImageVariant::ChangeResolution ( EResolution  iResolution,
bool  ibScaled = true 
)

Change the image resolution when possible.

Returns:
true if image resolution as been changed.
  • RT_Undefined for PF_Undefined
  • RT_UINT8 for PF_L*, PF_LA*, PF_RGB* and PF_RGBA*
  • RT_UINT16 for PF_L*, PF_LA*, PF_RGB* and PF_RGBA*
  • RT_INT32 for PF_L*, PF_LA*, PF_RGB*, PF_RGBA* and PF_CPLX*
  • RT_Float for all
  • RT_Double for all
  • Other resolutions aren't supported.

bool eLynx::Image::ImageVariant::ChangeColorSpace ( EColorSpace  iColorSpace,
bool  ibBlendAlpha = false 
)

bool eLynx::Image::ImageVariant::ChangePixelFormat ( EPixelFormat  iPixelFormat,
bool  ibScaled = true,
bool  ibBlendAlpha = false 
)

bool eLynx::Image::ImageVariant::ChangeToGrey ( EColorToGreyConversion  iMethod = CGC_Default,
bool  ibRemoveAlpha = false,
bool  ibBlendAlpha = false 
)

bool eLynx::Image::ImageVariant::ChangeToBayer ( EBayerMatrix  iBayer = BM_GRBG,
bool  ibBlendAlpha = false,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ChangeToColor ( EGreyToColorConversion  iMethod = GCC_Default,
bool  ibRemoveAlpha = false,
bool  ibBlendAlpha = false 
)

bool eLynx::Image::ImageVariant::ChangeToColor ( EBayerToColorConversion  iMethod,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ChangeToUByteFullDynamic (  ) 

bool eLynx::Image::ImageVariant::GetChannelAsRGBGrey ( const ImageVariant iImage,
uint32  iChannel 
)

bool eLynx::Image::ImageVariant::Split ( ImageVariant ,
ImageVariant  
)

bool eLynx::Image::ImageVariant::Split ( ImageVariant ,
ImageVariant ,
ImageVariant  
)

bool eLynx::Image::ImageVariant::Split ( ImageVariant ,
ImageVariant ,
ImageVariant ,
ImageVariant  
)

bool eLynx::Image::ImageVariant::RemoveAlpha ( bool  ibBlendAlpha = false  ) 

bool eLynx::Image::ImageVariant::Flip ( EFlipPlane  iFlipPlane,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Perform symmetry of an image.

color.FlipH.png

Flip(FP_Horizontal)
color.original.png

Original
color.FlipV.png

Flip(FP_Vertical)
Parameters:
iFlipPlane flip plane for symetry.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::FlipVertical ( ProgressNotifier iNotifier = ProgressNotifier_NULL  ) 

Perform vertical symmetry of an image.

color.original.png

Original
color.FlipV.png

FlipVertical
Parameters:
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::FlipHorizontal ( ProgressNotifier iNotifier = ProgressNotifier_NULL  ) 

Perform horizontal symmetry of an image.

color.original.png

Original
color.FlipH.png

FlipHorizontal
Parameters:
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Rotate ( ERightRotation  iRotation,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Fast rotate image with basic 90° angles.

color.original.png

Original
color.Rotate90R.png

Rotate(RR_90Right)
color.Rotate180.png

Rotate(RR_180)
color.Rotate90L.png

Rotate(RR_90Left)
Parameters:
iRotation the rotation 0°, 90°, 180° or 270°.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Rotate180 ( ProgressNotifier iNotifier = ProgressNotifier_NULL  ) 

Fast rotate image of 180°.

color.original.png

Original
color.Rotate180.png

Rotate(RR_180)
Parameters:
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Rotate90Left ( ProgressNotifier iNotifier = ProgressNotifier_NULL  ) 

Fast rotate image of 90° left.

color.original.png

Original
color.Rotate90L.png

Rotate(RR_90Left)
Parameters:
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Rotate90Right ( ProgressNotifier iNotifier = ProgressNotifier_NULL  ) 

Fast rotate image of 90° right.

color.original.png

Original
color.Rotate90R.png

Rotate(RR_90Right)
Parameters:
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Rotate ( double  iDegrees,
int32  iFlags = RF_Default,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Rotate an image with finest degree angles.

Parameters:
iDegrees the rotation angle in degrees.
iFlags a combinaison of RF_Expand, RF_Interpolation and RF_Antialiasing.
iNotifier a notifier for progression and cancel.

bool eLynx::Image::ImageVariant::Crop ( uint32  iX,
uint32  iY,
uint32  iWidth,
uint32  iHeight,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Crop image.

color.original.png

Original
color.Crop.png

Crop(40,20, 100,50)
Parameters:
iX x position of top left point in image.
iY y position of top left point in image.
iWidth width image after crop.
iHeight height image after crop.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::AddBorder ( uint32  iLeft = 0,
uint32  iRight = 0,
uint32  iTop = 0,
uint32  iBottom = 0,
bool  ibBlack = true,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Add border to an image.

color.AddBorderBlack.png

AddBorder(10,20,30,40,true)
color.original.png

Original
color.AddBorderWhite.png

AddBorder(40,30,20,10,false)
Parameters:
iLeft size on border to add on left in pixels.
iRight size on border to add on right in pixels.
iTop size on border to add on top in pixels.
iBottom size on border to add on bottom in pixels.
ibBlack true to have black border, false for white.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Resize ( uint32  iWidth,
uint32  iHeight,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Resize image.

color.original.png

Original
color.Resize.png

Resize(100, 200)
Parameters:
iWidth the new width.
iHeight the new height.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Resample ( uint32  iWidth,
uint32  iHeight,
Math::EResampleFilter  iFilter = Math::RF_Mitchell,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Resample image using filter.

color.original.png

Original
color.Resample_Mitchell.png

Resample(220,110) with RF_Mitchell
Parameters:
iWidth the new width.
iHeight the new height.
iFilter the filter to use.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Zoom ( uint32  iZoom,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Zoom image.

color.original.png

Original
color.Zoom2.png

Zoom(2)
Parameters:
iZoom magnifier coefficient.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Bin2x2 ( EBinningMethod  iMethod = BM_Mean,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Apply binning 2x2 to an image.

color.original.png

Original
color.Bin2x2AVG.png

Bin(2,BI_AVG)
color.Bin2x2SUM.png

Bin(2,BI_SUM)
Parameters:
iMethod Binning method.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Bin3x3 ( EBinningMethod  iMethod = BM_Mean,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Apply binning 3x3 to an image.

color.original.png

Original
color.Bin3x3AVG.png

Bin(3,BI_AVG)
color.Bin3x3SUM.png

Bin(3,BI_SUM)
Parameters:
iMethod Binning method.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Shift ( int32  iHorizontal,
int32  iVertical,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Shift an image with complete pixel size.

color.Shift50_10.png

Shift(50,10)
color.original.png

Original
color.ShiftM20_0.png

Shift(-20,0)
Parameters:
iHorizontal horizontal shift in pixels, >0 means right shift, <0 left shift.
iVertical vertical shift in pixels, >0 means bottom shift, <0 top shift.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Shift ( double  iHorizontal,
double  iVertical,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::GetSubImage ( const ImageVariant iImage,
uint32  iX,
uint32  iY,
uint32  iWidth,
uint32  iHeight,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

GetSubImage get an sub-area from an external image.

Parameters:
iImage source image.
iX x position of top left point of subimage in image.
iY y position of top left point of subimage in image.
iWidth width of sub-image.
iHeight height of sub-image.
iNotifier a notifier for progression and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Insert ( const ImageVariant iImage,
int32  iX,
int32  iY,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Insert an sub-image at selected position.

Parameters:
iImage image to be inserted.
iX x position of top left point in image.
iY y position of top left point in image.
iNotifier a notifier for progression and cancel.
Returns:
Method running status.

boost::shared_ptr<ImageVariant> eLynx::Image::ImageVariant::CreateThumbnailImage ( uint32  iWidth,
uint32  iHeight,
bool  ibConverveAspectRatio = true,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const

bool eLynx::Image::ImageVariant::GetThumbnail ( const ImageVariant iImage,
uint32  iWidth,
uint32  iHeight,
bool  ibConverveAspectRatio = true,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Operator ( EImageOperator  iOperator,
double  iValue,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Neg ( uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Abs ( uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Add ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Sub ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Mul ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Div ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Dif ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Min ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Max ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Mean ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::AddClamp ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::SubClamp ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::MulClamp ( double  iScale,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Operator ( EImageOperator  iOperator,
const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Add ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Sub ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Mul ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Div ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Min ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Max ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Mean ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::AddClamp ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::SubClamp ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::MulClamp ( const ImageVariant iImage,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Operator ( EImageOperator  iOperator,
const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Add ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Sub ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Mul ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Div ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Min ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Max ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Mean ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::AddClamp ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::SubClamp ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::MulClamp ( const ImageVariant iImage,
const ImageLub iImageMask,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Build ( EImageListOperator  iOperator,
const std::vector< const ImageVariant * > &  iImageList,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::BuildClipped ( EImageListOperator  iOperator,
const std::vector< const ImageVariant * > &  iImageList,
uint32  iIteration,
double  iKappa,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::BuildWeightedEntropy ( const std::vector< const ImageVariant * > &  iImageList,
uint32  iW,
uint32  iH,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::AdjustBrightness ( double  iBrightness,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Change brightness on selected channels

color.AdjustBrightnessLess.png

ramps.AdjustBrightnessLess.png

less brightness(-0.3)
color.original.png

ramps.original.png

original
color.AdjustBrightnessMore.png

ramps.AdjustBrightnessMore.png

more brightness(+0.3)
Parameters:
iBrightness brightness coefficient in range -1.0, +1.0. 0.0 is neutral value.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::AdjustContrast ( double  iContrast,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Change contrast on selected channels

color.AdjustContrastLess.png

ramps.AdjustContrastLess.png

less contrast(-0.4)
color.original.png

ramps.original.png

original
color.AdjustContrastMore.png

ramps.AdjustContrastMore.png

more contrast(+0.4)
Parameters:
iContrast contrast coefficient in range -1.0, +1.0. 0.0 is neutral value.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::AdjustGamma ( double  iGamma,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Gamma correction on selected channels

color.AdjustGammaLess.png

ramps.AdjustGammaLess.png

gamma(0.5)
color.original.png

ramps.original.png

original
color.AdjustGammaMore.png

ramps.AdjustGammaMore.png

gamma(3.0)
Parameters:
iGamma gamma value in range 0.001, +4.0. 1.0 is neutral value.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::AdjustBCG ( double  iBrightness,
double  iContrast,
double  iGamma,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Change brightness + contrast + gamma correction on selected channels

Parameters:
iBrightness brightness coefficient in range -1.0, +1.0. 0.0 is neutral value.
iContrast contrast coefficient in range -1.0, +1.0. 0.0 is neutral value.
iGamma gamma value in range 0.001, +4.0. 1.0 is neutral value.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::AdjustMidtone ( double  iMidtone,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Midtone correction on selected channels

color.AdjustMidtoneLess.png

ramps.AdjustMidtoneLess.png

Midtone(0.2)
color.original.png

ramps.original.png

original
color.AdjustMidtoneMore.png

ramps.AdjustMidtoneMore.png

Midtone(0.7)
Parameters:
iMidtone value in range 0.001, 0.999. 0.5 is neutral value.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::AdjustSigmoid ( double  iAlpha,
double  iBeta,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Adjust Sigmoid on selected channels

color.AdjustSigmoid1.png

ramps.AdjustSigmoid1.png

Sigmoid(2.0, 0.25)
color.original.png

ramps.original.png

original
color.AdjustSigmoid2.png

ramps.AdjustSigmoid2.png

Sigmoid(0.5, 0.75)
Parameters:
iAlpha scale factor in range [0.0, 10.0], 1.0 is neutral value.
iBeta offset in range [0.0, 1.0], 0.5 is neutral value.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Balance ( double  iChannel0,
double  iChannel1,
double  iChannel2,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

The Color Balance allows you to adjust the overall mixture of the colors.

color.original.png

ramps.original.png

original
color.Balance.png

ramps.Balance.png

Balance(0.8, 1.1, 0.5)
In example with RGB image: red channel is scaled by 0.8, green by 1.1 and blue by 0.5.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Posterize ( uint32  iLevels,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

The Posterize effect lets you adjust the number of brightness levels of the image.

color.original.png

ramps.original.png

original
color.Posterize.png

ramps.Posterize.png

Posterize(3)
Parameters:
iLevels numbers of levels for all image dynamic range.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Solarize ( double  iValue,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

The Solarize effect blends an image by inverting all color data when intensity value is greater than a threshold.

color.original.png

ramps.original.png

original
color.Solarize.png

ramps.Solarize.png

Solarize(0.6)
Parameters:
iValue level in range [0, 1] when negative occurs.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Colorize ( double  iHue,
double  iSaturation,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Colorize an image setting a hue and saturation.

color.original.png

ramps.original.png

original
color.Colorize.png

ramps.Colorize.png

Colorize(0.10, 0.54) with Sepia tone
Parameters:
iHue Hue in normalised range [0.0, 1.0].
iSaturation Saturation in normalised range [0.0, 1.0].
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Desaturate ( double  iFactor,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::AdjustHueSaturation ( double  iHue,
double  iSaturation,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Adjust an image hue and saturation.

Parameters:
iHue Hue in normalised range [0.0, 1.0].
iSaturation Saturation in normalised range [0.0, 1.0].
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Blend ( const ImageVariant iImage,
double  iScalar,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Binarize ( double  iThreshold,
bool  ibNegative = false,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::Convolve ( const Math::ConvolutionKerneld iKernel,
bool  ibAbsolute = false,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Convolve with a kernel.

Parameters:
iKernel the convolution kernel.
ibAbsolute true to use absolute value of convolution, false otherwise.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Convolve ( const Math::ConvolutionKerneld iKernel,
double  iThresholdMin,
double  iThresholdMax,
bool  ibAbsolute = false,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Convolve with a kernel.

Parameters:
iKernel the convolution kernel.
iThresholdMin channel value less then iThresholdMin is kept unchanged. Default is 0.
iThresholdMax channel value greater then iThresholdMax is kept unchanged. Default is 1.
ibAbsolute true to use absolute value of convolution, false otherwise.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.
Note:

thresholds.png

bool eLynx::Image::ImageVariant::Convolve ( const Math::ConvolutionKerneld iKernel,
double  iThresholdMin,
double  iThresholdMax,
double  iBlend = 1.0,
bool  ibAbsolute = false,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Convolve with a kernel.

Parameters:
iKernel the convolution kernel.
iThresholdMin channel value less then iThresholdMin is keep unchanged.
iThresholdMax channel value greater then iThresholdMax is keep unchanged.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
ibAbsolute true to use absolute value of convolution, false otherwise.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status. Note:
thresholds.png

bool eLynx::Image::ImageVariant::Convolve ( const Math::ConvolutionKerneld iKernel1,
const Math::ConvolutionKerneld iKernel2,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Convolve with two separable kernels [Wx1] x [1xH]. Greatly improve performance compare to convolution with [WxH] filter.

Parameters:
iKernel1 a convolution kernel [Wx1] or [1xH].
iKernel2 a convolution kernel, if iKernel1 is [Wx1] must be [1xH], else [Wx1].
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyBoxBlur ( uint32  iWidth = 5,
uint32  iHeight = 5,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Box blur filter, this is the blur filter with best performance with int64 kernel.
Implementation is based on this article:

[1]Fast Image Convolutions
by Wojciech Jarosz
SIGGRAPH 2001
Parameters:
iWidth kernel width.
iHeight kernel height.
iBorder how to fill border.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplySelectiveBlur ( double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyFastGaussianBlur ( double  iRadius = 3.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyGaussian ( uint32  iWidth,
uint32  iHeight,
double  iVariance,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Gaussian filter smooths the current image by convolving a Gaussian kernel(iWidth,iHeight) with selected iVariance.

Parameters:
iWidth width of Gaussian kernel.
iHeight height of Gaussian kernel.
iVariance variance of Gaussian curve.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyGaussian ( double  iRadius,
double  iVariance,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Gaussian blur filter smooths the current image by convolving squared Gaussian kernel with selected iVariance.

Parameters:
iRadius size of squared Gaussian kernel.
iVariance variance of Gaussian curve.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyGaussian ( double  iRadius,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Gaussian blur filter smooths the current image by convolving squared Gaussian kernel with selected radius, Variance is computes as .

Parameters:
iRadius size of squared Gaussian kernel.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyLoG ( double  iRadius = 3.0,
double  iVariance = 0.5,
EBorderFill  iBorder = BF_Nearest,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyBilateral ( double  iRadius = 1.5,
double  iVarianceSpatial = 2.0,
double  iVarianceRange = 20.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Apply bilateral filter to an image by means of a nonlinear combination of nearby image values.

[1] Bilateral Filtering for Gray and Color Images
by C. Tomasi and R. Manduchi
[2] Fast Bilateral Filtering for the Display of High-Dynamic-Range Images
by Frédo Durand and Julie Dorsey
Laboratory for Computer Science, Massachusetts Institute of Technology
[3] SEPARABLE BILATERAL FILTERING FOR FAST VIDEO PREPROCESSING
by Tuan Q. Pham and Lucas J. van Vliet
Quantitative Imaging Group, Department of Imaging Science and Technology
Delft University of Technology
Parameters:
iRadius size of squared Gaussian kernel, the higher the slower.
iVarianceSpatial variance of Gaussian spatial filter.
iVarianceRange variance of Gaussian range filter.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplySmooth ( double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Apply smooth blurring filter to the current image. Use a convolution processing with the normalized 3x3 smooth kernel:

111
141
111
Parameters:
iThresholdMin channel value less then iThresholdMin is kept unchanged. Default is 0.
iThresholdMax channel value greater then iThresholdMax is kept unchanged. Default is 1.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.
Note:

thresholds.png

bool eLynx::Image::ImageVariant::ApplyMean ( double  iRadius,
bool  ibCircular = true,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Mean filter smooths the current image by replacing each pixel with the neighborhood mean. Use a convolution processing with a normalized kernel of all 1 in a square or a circle of the selected radius and 0 otherwise.

11111
11111
11111
11111
11111

square & radius=3
01110
11111
11111
11111
01110

circle & radius=3

Parameters:
iRadius The size of the neighborhood.
ibCircular use circular (true) or square (false) kernel.
iThresholdMin channel value less then iThresholdMin is kept unchanged. Default is 0.
iThresholdMax channel value greater then iThresholdMax is kept unchanged. Default is 1.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.
Note:

thresholds.png

bool eLynx::Image::ImageVariant::ApplyCone ( double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Apply smooth blurring filter to the current image. Use a convolution processing with the normalized 5x5 cone kernel:

00100
02220
12521
02220
00100

Parameters:
iThresholdMin channel value less then iThresholdMin is kept unchanged. Default is 0.
iThresholdMax channel value greater then iThresholdMax is kept unchanged. Default is 1.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.
Note:

thresholds.png

bool eLynx::Image::ImageVariant::ApplyPyramidal ( double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Apply smooth blurring filter to the current image. Use a convolution processing with the normalized 5x5 pyramidal kernel:

12321
24642
36963
24642
12321

Parameters:
iThresholdMin channel value less then iThresholdMin is kept unchanged. Default is 0.
iThresholdMax channel value greater then iThresholdMax is kept unchanged. Default is 1.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iBorder how to fill border.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.
Note:

thresholds.png

bool eLynx::Image::ImageVariant::ApplyLowpass ( double  iAlpha,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyLaplacian3x3 ( double  iAlpha = 0.0,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyLaplacian ( double  iRadius = 0.0,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyEmboss ( double  iDegree = 0.0,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplySharpen ( double  iRadius = 3.0,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplySharpenMore ( double  iAlpha = 1.0,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplySharpenSmooth ( double  iAlpha = 0.0,
double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplySharpenSoft ( double  iThresholdMin = 0.0,
double  iThresholdMax = 1.0,
double  iBlend = 1.0,
EBorderFill  iBorder = BF_Nearest,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyUnsharpMask ( double  iRadius = 2.0,
double  iAmount1 = 0.5,
double  iAmount2 = 0.5,
EBorderFill  iBorder = BF_Nearest,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

virtual bool eLynx::Image::ImageVariant::ApplyGradient ( EEdgeDetector  iDetector,
EEdgeGradient  iGradient = EG_Fast,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [virtual]

Edge detection using gradient of filter.

Parameters:
iDetector detector type to detect edges.
iGradient gradient to be computed.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyMarrHildreth ( EBorderFill  iBorder = BF_Nearest,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Marr-Hildreth filter detects edges

Parameters:
iBorder how to fill border.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyRoberts ( bool  ibFast = true,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Roberts Cross 2x2 edge detection.

Parameters:
ibFast true to use fast approximation.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyCanny ( EEdgeDetector  iDetector,
EEdgeGradient  iGradient,
double  iRadius = 1.5,
double  iThresholdLo = 0.0,
double  iThresholdHi = 1.0,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Canny edge detection.

Parameters:
iDetector detector type to detect edges.
iGradient gradient to apply. Allowed values are: GDS_Fast, GDS_Accurate, GDS_Max2, GDS_Max4.
iRadius radius of the Gaussian blur filter.
iThresholdLo lower pixel value.
iThresholdHi higher pixel value.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyZeroCrossingEdgeDetector ( double  iRadius,
double  iVariance,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Zero Crossing edge detection.

Parameters:
iRadius radius of the Laplacian of Gaussian kernel. Recommended 3.0 or greater
iVariance of the Gaussian curve.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplySegmentation ( double  iStep,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Image Segmentation by morphological watersheds. See Image Segmentation.

Parameters:
iStep flood increment.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyRotationalGradient ( double  iXc,
double  iYc,
double  iRadialShift,
double  iRotationalShift,
bool  ibInterpolation = true,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

LARSON-SEKANINA filter filter. Based on The Larsen-Secanina Filter.

Parameters:
iXc normalized x center of rotation.
iYc normalized y center of rotation.
iRadialShift radial shift in ALU.
iRotationalShift rotational shift in degrees.
ibInterpolation interpolation required.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::RemoveGradient ( ImageVariant oBackground,
const Math::Point2iList iPoints,
EGradientMethod  iMethod = GM_Linear,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Remove background gradient using Delaunay triangulation method with different precisions (linear, quadratic, etc.)

Parameters:
oBackground synthetic background.
iPoints array of background points.
iMethod method of the interpolation.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Debloom ( uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Debloom an image.

Parameters:
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyDigitalDevelopment ( double  iBackground,
double  iCrossOver,
double  iScale,
double  iVariance = 1.5,
EColorEmphasis  iEmphasis = CE_Default,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyMorphological ( EMorphologicalFilterType  iType,
uint32  iWidth = 3,
bool  ibCircular = true,
bool  ibLuminance = true,
uint32  iIteration = 1,
double  iBlend = 1.0,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Morphological filter with squared or circular kernel.

Parameters:
iType Morphological filter type.
iWidth width of squared local area.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations. Default is 1.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Despeckle ( uint32  iWidth = 3,
bool  ibCircular = true,
bool  ibLuminance = true,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Despeckle filter is a median filter. It reduces noise in the active image by replacing each pixel with the median of the neighboring pixel values.

Parameters:
iWidth width of squared local area.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Erode ( uint32  iWidth = 3,
bool  ibCircular = true,
bool  ibLuminance = true,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Erode filter removes pixels from the edges of black objects. It replaces each pixel in the image with the smallest pixel value in that pixel's neighborhood.

Parameters:
iWidth width of squared local area.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Dilate ( uint32  iWidth = 3,
bool  ibCircular = true,
bool  ibLuminance = true,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Dilate filter adds pixels to the edges of black objects. It replaces each pixel in the image with the largest pixel value in that pixel's neighborhood.

Parameters:
iWidth width of squared local area.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Open ( uint32  iWidth = 3,
bool  ibCircular = true,
bool  ibLuminance = true,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Open filter performs an Erode followed by Dilate filters. This smoothes objects and removes isolated pixels.

Parameters:
iWidth width of squared local area.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Close ( uint32  iWidth = 3,
bool  ibCircular = true,
bool  ibLuminance = true,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Open filter performs an Erode followed by Dilate filters. This smoothes objects and removes isolated pixels.

Parameters:
iWidth width of squared local area.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::TopHat ( uint32  iWidth = 3,
bool  ibCircular = true,
bool  ibLuminance = true,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyMedian ( uint32  iWidth = 3,
uint32  iIteration = 1,
bool  ibCircular = true,
bool  ibLuminance = true,
double  iBlend = 1.0,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Median filter reduces salt and pepper noise replacing each pixel with the median of the neighboring pixel.

Parameters:
iWidth width of squared local area.
iIteration number of iterations. Default is 1.
ibCircular false to use square kernel, true to use circular.
ibLuminance true to sort pixels using by luminance, false to process each channel as grey.
iBlend the blending amount between the original (0.0) and the processed image (1.0). Default is 1.
ex: 0.25 means 25% of original + 75% of processed.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ApplyAdaptiveMedian ( uint32  iWMax = 7,
uint32  iIteration = 1,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Adaptive Median filter on square window. Based on Salt-and-Pepper Noise Removal by Median-type Noise Detectors and Detail-preserving Regularization.

Parameters:
iWMax max size of the median window.
iIteration number of iterations. Default is 1.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::Normalize ( uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Normalize an image.

Parameters:
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::AutoBalance ( uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::AutoBrightness ( uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::DeconvolveRL ( const IImagePSF iPSF,
uint32  iIteration = 1,
EBorderFill  iBorder = BF_Nearest,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::DeconvolveRL ( double  iRadius,
double  iSigma = 2.0,
uint32  iIteration = 1,
EBorderFill  iBorder = BF_Nearest,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyFFT ( const ImageVariant iFilter,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

bool eLynx::Image::ImageVariant::ApplyFFTLowPass ( double  iCutoff = 0.5,
uint32  iRank = 2,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

EBayerMatrix eLynx::Image::ImageVariant::GetBayerMatrix (  )  const

Get the image Bayer matrix. Bayer matrix is only available for image in L format.

Returns:
The Bayer matrix of image. BM_None means not using Color Field Array.

bool eLynx::Image::ImageVariant::SetBayerMatrix ( EBayerMatrix  iBayer  ) 

Set a Bayer matrix to the image. This has sence only if image is in L format.

Parameters:
iBayer the Bayer matrit to set.
Returns:
false if image is in incompatible format, true otherwise.

bool eLynx::Image::ImageVariant::IsBayer (  )  const

Get if image is encoded using color field array (CFA), ie with a Bayer matrix.

Returns:
true is image has Bayer matrix different from BM_None, false otherwise.

bool eLynx::Image::ImageVariant::Affine ( double  iScaleR,
double  iOffsetR,
double  iScaleG,
double  iOffsetG,
double  iScaleB,
double  iOffsetB 
)

bool eLynx::Image::ImageVariant::FastInpaint ( const ImageVariant iBinaryMask,
bool  iUseRegion,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Implementation of Fast Digital Image Inpainting article.

[1]Fast Digital Image Inpainting
September 3, 2001
by Manuel M. Oliveira, Brian Bowen, Richard McKenna and Yu-Sung Chang
Department of Computer Science
State University of New York at Stony Brook

Very simple inpainting algorithm based on the convolution of the small image region to be restored which is equivalent to the isotropic diffusion. The convolution kernel is a weighted average 3x3 kernel with a zero weight at the center.

Parameters:
iBinaryMask image bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels.
iUseRegion flag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::FastMarchingInpaint ( const ImageVariant iBinaryMask,
uint32  iSize,
bool  iUseRegion,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Implementation of An Image Inpainting Technique Based on the Fast Marching Method article.

[1]An Image Inpainting Technique Based on the Fast Marching Method
May 21, 2003
by Alexandru Telea
Eindhoven University of Technology

Simple inpainting algorithm based on the Fast Marching Method (FMM). Pixels are inpainted in the order based on the distance to the know area.

Parameters:
iBinaryMask image bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels .
iSize size of the pixel's neighborhood. Min value is 3.
iUseRegion flag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ExemplarBasedInpaint ( const ImageVariant iBinaryMask,
const Math::AOBBox2i iSearchArea,
uint32  iPatchSize,
bool  iUseRegion,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
)

Implementation of Region Filling and Object Removal by Exemplar-Based Image Inpainting article.
Inpainting algorithm to remove int64 objects from images. The algorithm propagets texture and structure into the inpainting region by filling best-fit patches in the order based on the confidence level.

[1]Region Filling and Object Removal by Exemplar-Based Image Inpainting
SEP 2004
by A. Criminisi*, P. Pérez and K. Toyama
Microsoft Research, Cambridge (UK) and Redmond (US)
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 13, NO. 9
Parameters:
iBinaryMask image bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels.
iSearchArea bounding box to restrict the image area which would be searched for the patches to fill.
iPatchSize size of the patch. Min value is 3.
iUseRegion flag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

bool eLynx::Image::ImageVariant::ComputeMin ( double &  oMin,
bool  ibNormalized 
) const

Compute min value of image samples.

Parameters:
oMin the output min value of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMin ( double(&)  oMin[PC_MAX],
bool  ibNormalized 
) const

Compute min values per channels of image samples.

Parameters:
oMin the output min value per channels of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMax ( double &  oMax,
bool  ibNormalized 
) const

Compute max value of image samples.

Parameters:
oMax the output max value of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMax ( double(&)  oMax[PC_MAX],
bool  ibNormalized 
) const

Compute max value per channels of image samples.

Parameters:
oMax the output max value per channels of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMinMax ( double &  oMin,
double &  oMax,
bool  ibNormalized = true 
) const

Compute min and max values of image samples in one pass.

Parameters:
oMin the output min value of image samples.
oMax the output max value of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMinMax ( double(&)  oMin[PC_MAX],
double(&)  oMax[PC_MAX],
bool  ibNormalized 
) const

Compute min and max values per channels of image samples in one pass.

Parameters:
oMin the output min value per channels of image samples.
oMax the output max value per channels of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMean ( double &  oMean,
bool  ibNormalized = true 
) const

Compute the mean value of image samples.
Mean is: sum of pixel's channels / (number of pixels * number of channel per pixel).

Parameters:
oMean the output max value of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMean ( double(&)  oMean[PC_MAX],
bool  ibNormalized = true 
) const

Compute the mean value per channels of image samples.
Mean is: sum of channel value per pixel / number of pixels.

Parameters:
oMean the output max value of image samples.
ibNormalized true to have value normalised in range[0.0, 1.0].
Returns:
Error status.

bool eLynx::Image::ImageVariant::ComputeMedian ( double &  oMedian,
bool  ibNormalized = true 
) const

bool eLynx::Image::ImageVariant::ComputeMedian ( double(&)  oMedian[PC_MAX],
bool  ibNormalized = true 
) const

bool eLynx::Image::ImageVariant::ComputeStandardDeviation ( double &  oDeviation,
bool  ibNormalized = false 
) const

bool eLynx::Image::ImageVariant::ComputeStandardDeviation ( double &  oDeviation,
double &  oMean,
bool  ibNormalized = false 
) const

bool eLynx::Image::ImageVariant::ComputeStandardDeviation ( double(&)  oDeviation[PC_MAX],
bool  ibNormalized = false 
) const

bool eLynx::Image::ImageVariant::ComputeStandardDeviation ( double(&)  oDeviation[PC_MAX],
double(&)  oMean[PC_MAX],
bool  ibNormalized = false 
) const

bool eLynx::Image::ImageVariant::ComputeVariance ( double &  oVariance  )  const

bool eLynx::Image::ImageVariant::ComputeVariance ( double(&)  oVariance[PC_MAX]  )  const

bool eLynx::Image::ImageVariant::ComputeEnergy ( double &  oEnergy  )  const

bool eLynx::Image::ImageVariant::ComputeEnergy ( double(&)  oEnergy[PC_MAX]  )  const

bool eLynx::Image::ImageVariant::ComputeEntropy ( double &  oEntropy  )  const

bool eLynx::Image::ImageVariant::ComputeEntropy ( double(&)  oEntropy[PC_MAX]  )  const

bool eLynx::Image::ImageVariant::ComputeHistogram ( ImageHistogram oHistogram  )  const

bool eLynx::Image::ImageVariant::ComputeMean ( double &  oMeanR,
double &  oMeanG,
double &  oMeanB,
bool  ibNormalized = false 
) const

bool eLynx::Image::ImageVariant::ComputeStandardDeviation ( double &  oStdDevR,
double &  oStdDevG,
double &  oStdDevB,
bool  ibNormalized = false 
) const

bool eLynx::Image::ImageVariant::ComputeStandardDeviation ( double &  oMeanR,
double &  oMeanG,
double &  oMeanB,
double &  oStdDevR,
double &  oStdDevG,
double &  oStdDevB,
bool  ibNormalized = false 
) const

boost::shared_ptr<IPixelIterator> eLynx::Image::ImageVariant::Begin (  ) 

Returns an iterator pointing to the beginning of the Pixel map

Returns:
an iterator pointing to the beginning of the Pixel map

boost::shared_ptr<IPixelIterator> eLynx::Image::ImageVariant::Begin (  )  const

Returns an const iterator pointing to the beginning of the Pixel map

Returns:
an const iterator pointing to the beginning of the Pixel map

boost::shared_ptr<IPixelIterator> eLynx::Image::ImageVariant::End (  ) 

Returns an iterator pointing to the end of the Pixel map

Returns:
an iterator pointing to the end of the Pixel map

boost::shared_ptr<IPixelIterator> eLynx::Image::ImageVariant::End (  )  const

Returns an const iterator pointing to the end of the Pixel map

Returns:
an const iterator pointing to the end of the Pixel map

bool eLynx::Image::ImageVariant::Clear ( uint32  iChannelMask = CM_All  ) 

bool eLynx::Image::ImageVariant::Plot ( int32  iX,
int32  iY,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::DrawHLine ( int32  iY,
int32  iX1,
int32  iX2,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::DrawLine ( int32  iX1,
int32  iY1,
int32  iX2,
int32  iY2,
bool  ibAntialiasing = false,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::DrawRectangle ( int32  iX1,
int32  iY1,
int32  iX2,
int32  iY2,
bool  ibSolid = false,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::DrawEllipse ( int32  iX,
int32  iY,
uint32  iRadiusX,
uint32  iRadiusY,
bool  ibSolid = false,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::DrawCircle ( int32  iX,
int32  iY,
uint32  iRadius,
bool  ibSolid = false,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::DrawTriangle ( int32  iX0,
int32  iY0,
int32  iX1,
int32  iY1,
int32  iX2,
int32  iY2,
bool  ibSolid = false,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::Fill ( int32  iX,
int32  iY,
uint32  iChannelMask = CM_All 
)

bool eLynx::Image::ImageVariant::GetFilledBBox ( int32  iX,
int32  iY,
Math::AOBBox2i oBBox 
) const


Member Data Documentation

An aggregation of an abstract image implementation

Definition at line 2125 of file ImageVariant.h.

The Bayer matrix to deal with raw image file from CCD.

Definition at line 2130 of file ImageVariant.h.


The documentation for this class was generated from the following file:

Generated on 14 Apr 2009 by doxygen 1.5.8