eLynx SDK
v3.3.0 C++ image processing API reference |
Class defining an image variant. More...
#include <ImageVariant.h>
Public Member Functions | |
Constructors, destructor and assignment | |
ImageVariant () | |
Default construtor make is an invalid image. | |
ImageVariant (EPixelFormat iPixelFormat, uint32 iWidth, uint32 iHeight) | |
Construction of image with dimension and pixel format, image map pixels is uninitialized for performance reason. | |
ImageVariant (const ImageVariant &iImage) | |
Copy construction of an image. | |
ImageVariant (const ImageVariant &iImage, EResolution iResolution, bool ibScaled=true) | |
Copy construction of an image and change resolution. | |
ImageVariant (const ImageVariant &iImage, uint32 iChannel, bool ibScaled=true) | |
Construction of an image with a plane of another Image ISO resolution. | |
ImageVariant (const AbstractImage &iImage) | |
Copy construction of AbstractImage image. | |
ImageVariant (const ImageVariant &iImage1, const ImageVariant &iImage2, bool ibComplex=false) | |
Construction merging two images. | |
ImageVariant (const ImageVariant &iImage1, const ImageVariant &iImage2, const ImageVariant &iImage3, EColorSpace iColorSpace=CS_RGB) | |
Construction merging three images. | |
ImageVariant (const ImageVariant &iImage1, const ImageVariant &iImage2, const ImageVariant &iImage3, const ImageVariant &iImage4) | |
Construction of an RGBA image merging four images. | |
ImageVariant (const char *iprFilename, ImageFileInfo *oprInfo=NULL, ProgressNotifier &iNotifier=ProgressNotifier_NULL) | |
Construction from a filename. | |
const ImageVariant & | operator= (const ImageVariant &iImage) |
Assignment from ImageVariant. | |
const ImageVariant & | operator= (const AbstractImage &iImage) |
Assignment from AbstractImage, aggregation copy of image implementation. | |
bool | operator== (const ImageVariant &iOther) const |
Image comparison operator ==. | |
bool | operator!= (const ImageVariant &iOther) const |
Image comparison operator !=. | |
virtual | ~ImageVariant () |
virtual destructor to handle inheritance. | |
void | Release () |
Self destruction. | |
Pixel informations | |
EPixelMode | GetPixelMode () const |
Retrieve the pixel mode. | |
EPixelType | GetPixelType () const |
Retrieve the pixel type. | |
EColorSpace | GetColorSpace () const |
Retrieve the pixel color space. | |
EPixelFormat | GetPixelFormat () const |
Retrieve pixel format. | |
EResolution | GetResolution () const |
Retrieve the image component resolution. | |
uint32 | GetChannelCount () const |
Retrieve the number of channel. | |
uint32 | GetBitsPerPixel () const |
Retrieve the number of bits per pixel. | |
uint32 | sizeofPixel () const |
Retrieve the number of bytes per pixel. | |
bool | IsMasking (uint32 iChannelMask) const |
Retrieve if selected channel mask contains a channel of image. | |
bool | IsColor () const |
Retrieve if image is a color type. | |
bool | IsGrey () const |
Retrieve if image is a grey type. | |
bool | IsComplex () const |
Retrieve if image is a complex type. | |
bool | HasAlpha () const |
Retrieve if image has an alpha channel. | |
bool | IsL () const |
Retrieve if image has a luminance channel only. | |
bool | IsLA () const |
Retrieve if image has a luminance and an alpha channels. | |
bool | IsRGB () const |
Retrieve if image is of RGB format. | |
bool | IsRGBA () const |
Retrieve if image is of RGBA format. | |
bool | IsHLS () const |
Retrieve if image is of HLS format. | |
bool | IsXYZ () const |
Retrieve if image is of CIE XYZ format. | |
bool | IsLuv () const |
Retrieve if image is of CIE Luv format. | |
bool | IsLab () const |
Retrieve if image is of CIE Lab format. | |
bool | IsLch () const |
Retrieve if image is of CIE Lch format. | |
bool | IsHLab () const |
Retrieve if image is of Hunter Lab format. | |
bool | IsUInt8 () const |
Retrieve if image has RT_UINT8 resolution (8 bits unsigned). | |
bool | IsUInt16 () const |
Retrieve if image has RT_UINT16 resolution (16 bits unsigned). | |
bool | IsInt32 () const |
Retrieve if image has RT_INT32 resolution (32 bits signed). | |
bool | IsFloat () const |
Retrieve if image has RT_Float resolution (32 bits floating point). | |
bool | IsDouble () const |
Retrieve if image has RT_Double resolution (64 bits floating point). | |
bool | IsLub () const |
Retrieve if image has PF_Lub pixel format. | |
bool | IsLus () const |
Retrieve if image has PF_Lus pixel format. | |
bool | IsLi () const |
Retrieve if image has PF_Li pixel format. | |
bool | IsLf () const |
Retrieve if image has PF_Lf pixel format. | |
bool | IsLd () const |
Retrieve if image has PF_Ld pixel format. | |
bool | IsLAub () const |
Retrieve if image has PF_LAub pixel format. | |
bool | IsLAus () const |
Retrieve if image has PF_LAus pixel format. | |
bool | IsLAi () const |
Retrieve if image has PF_LAi pixel format. | |
bool | IsLAf () const |
Retrieve if image has PF_LAf pixel format. | |
bool | IsLAd () const |
Retrieve if image has PF_LAd pixel format. | |
bool | IsComplexi () const |
Retrieve if image has PF_CPLXi pixel format. | |
bool | IsComplexf () const |
Retrieve if image has PF_CPLXf pixel format. | |
bool | IsComplexd () const |
Retrieve if image has PF_CPLXd pixel format. | |
bool | IsRGBub () const |
Retrieve if image has PF_RGBub pixel format. | |
bool | IsRGBus () const |
Retrieve if image has PF_RGBus pixel format. | |
bool | IsRGBi () const |
Retrieve if image has PF_RGBi pixel format. | |
bool | IsRGBf () const |
Retrieve if image has PF_RGBf pixel format. | |
bool | IsRGBd () const |
Retrieve if image has PF_RGBd pixel format. | |
bool | IsRGBAub () const |
Retrieve if image has PF_RGBAub pixel format. | |
bool | IsRGBAus () const |
Retrieve if image has PF_RGBAus pixel format. | |
bool | IsRGBAi () const |
Retrieve if image has PF_RGBAi pixel format. | |
bool | IsRGBAf () const |
Retrieve if image has PF_RGBAi pixel format. | |
bool | IsRGBAd () const |
Retrieve if image has PF_RGBAd pixel format. | |
bool | IsHLSf () const |
Retrieve if image has PF_HLSf pixel format. | |
bool | IsHLSd () const |
Retrieve if image has PF_HLSd pixel format. | |
bool | IsXYZf () const |
Retrieve if image has PF_XYZf pixel format. | |
bool | IsXYZd () const |
Retrieve if image has PF_XYZd pixel format. | |
bool | IsLuvf () const |
Retrieve if image has PF_Luvf pixel format. | |
bool | IsLuvd () const |
Retrieve if image has PF_Luvd pixel format. | |
bool | IsLabf () const |
Retrieve if image has PF_Labf pixel format. | |
bool | IsLabd () const |
Retrieve if image has PF_Labd pixel format. | |
bool | IsLchf () const |
Retrieve if image has PF_Lchf pixel format. | |
bool | IsLchd () const |
Retrieve if image has PF_Lchd pixel format. | |
bool | IsHLabf () const |
Retrieve if image has PF_HLabf pixel format. | |
bool | IsHLabd () const |
Retrieve if image has PF_HLabd pixel format. | |
Image information | |
bool | IsValid () const |
Check image validity. | |
uint32 | GetWidth () const |
Retrieve the image width in pixels. | |
uint32 | GetHeight () const |
Retrieve the image height in pixels. | |
uint32 | sizeofWidth () const |
Retrieve the number of bytes per line. | |
uint32 | GetPixelCount () const |
Compute the number of pixel for whole image. | |
uint32 | GetSampleCount () const |
Retrieve the number of samples for whole map. | |
uint32 | sizeofMap () const |
Retrieve the number of bytes for whole map. | |
Implementation access | |
boost::shared_ptr< AbstractImage > | GetImpl () |
Retrieve pointeur to implemented abstract image. | |
boost::shared_ptr< const AbstractImage > | GetImpl () const |
Retrieve const pointeur to implemented abstract image. | |
void | Invalidate (bool ibRelease=true) |
Invalidate image. | |
void | Assign (boost::shared_ptr< AbstractImage > &ipsAbstractImpl) |
Aggregation transfert of implemented abstract image. | |
File methods | |
bool | 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. | |
bool | Load (const char *iprFilename, ImageFileInfo *oprInfo=NULL, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Load an ImageVariant from a filename. | |
bool | CanSave (const char *iprFilename) const |
Check is the image can be saved using file format given by extension in filename. | |
bool | Save (const char *iprFilename, ProgressNotifier &iNotifier=ProgressNotifier_NULL, const ImageFileOptions *iprOptions=NULL) const |
Save image to file. | |
Conversion methods | |
bool | ChangeResolution (EResolution iResolution, bool ibScaled=true) |
Change the image resolution when possible. | |
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 | GetPlane (const ImageVariant &iImage, uint32 iPlane, bool ibScaled=true) |
Build an image from a plane of another image. | |
bool | GetPlane (uint32 iPlane, ImageVariant &oPlane, bool ibScaled=true) const |
Build a grey image from a plane of this. | |
bool | SetPlane (uint32 iPlane, const ImageVariant &iImage, bool ibResized=true, bool ibScaled=false) |
Build a grey image from a plane of this. | |
bool | SwapPlanes (uint32 iPlane1, uint32 iPlane2) |
Swap two planes into an image. | |
bool | RemoveAlpha (bool ibBlendAlpha=false) |
bool | AddAlpha (const ImageVariant &iAlpha) |
Geometry methods | |
bool | Flip (EFlipPlane iFlipPlane, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Perform symmetry of an image. | |
bool | FlipVertical (ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Perform vertical symmetry of an image. | |
bool | FlipHorizontal (ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Perform horizontal symmetry of an image. | |
bool | Rotate (ERightRotation iRotation, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Fast rotate image with basic 90° angles. | |
bool | Rotate180 (ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Fast rotate image of 180°. | |
bool | Rotate90Left (ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Fast rotate image of 90° left. | |
bool | Rotate90Right (ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Fast rotate image of 90° right. | |
bool | Rotate (double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Rotate an image with finest degree angles. | |
bool | Crop (uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Crop image. | |
bool | 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. | |
bool | Resize (uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Resize image. | |
bool | Resample (uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter=Math::RF_Mitchell, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Resample image using filter. | |
bool | AutoCrop () |
Automatic crop of the image. | |
bool | Zoom (uint32 iZoom, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Zoom image. | |
bool | Bin2x2 (EBinningMethod iMethod=BM_Mean, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Apply binning 2x2 to an image. | |
bool | Bin3x3 (EBinningMethod iMethod=BM_Mean, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Apply binning 3x3 to an image. | |
bool | Shift (int32 iHorizontal, int32 iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Shift an image with complete pixel size. | |
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) |
GetSubImage get an sub-area from an external image. | |
bool | Insert (const ImageVariant &iImage, int32 iX, int32 iY, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Insert an sub-image at selected position. | |
boost::shared_ptr< ImageVariant > | CreateThumbnailImage (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, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Change brightness on selected channels, based on the RGB color model. | |
bool | AdjustContrast (double iContrast, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Change contrast on selected channels, based on the RGB color model. | |
bool | AdjustGamma (double iGamma, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Gamma correction on selected channels, based on the RGB color model. | |
bool | AdjustBCG (double iBrightness, double iContrast, double iGamma, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Change brightness + contrast + gamma correction, based on the RGB color model. | |
bool | Balance (double iRed, double iGreen, double iBlue, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
The Color Balance allows you to adjust the overall mixture of the colors, based on the RGB color model. | |
bool | Colorize (double iHue, double iSaturation, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Colorize an image setting a hue and a saturation. | |
bool | AdjustHueSaturation (double iHue, double iSaturation, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Adjust an image hue and a saturation. | |
bool | Desaturate (double iFactor, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Adjust the Saturation by a multiplier factor, based on the HLS color model. | |
bool | AdjustShadowHighlight (double iShadow=0.0, double iHighlight=1.0, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Shadow and highlight adjustment on selected channels. | |
bool | AdjustMidtone (double iMidtone, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Midtone curve on selected channels. | |
bool | AdjustSigmoid (double iAlpha, double iBeta, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Adjust Sigmoid curvon selected channels. | |
bool | 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. | |
bool | 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. | |
bool | Blend (const ImageVariant &iImage, double iScalar, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Blend with another image by a scalar in range [0..1]. | |
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) |
Convolve with a kernel. | |
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) |
Convolve with a kernel. | |
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) |
Convolve with a kernel. | |
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) |
Convolve with two separable kernels [Wx1] x [1xH]. | |
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) |
Box blur filter, this is the blur filter with best performance with int64 kernel. | |
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) |
Gaussian filter smooths the current image by convolving a Gaussian kernel(iWidth,iHeight) with selected iVariance. | |
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) |
Gaussian blur filter smooths the current image by convolving squared Gaussian kernel with selected iVariance. | |
bool | 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 . | |
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) |
Apply bilateral filter to an image by means of a nonlinear combination of nearby image values. | |
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) |
Apply smooth blurring filter to the current image. | |
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) |
Mean filter smooths the current image by replacing each pixel with the neighborhood mean. | |
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) |
Apply smooth blurring filter to the current image. | |
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) |
Apply smooth blurring filter to the current image. | |
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 | ApplySharpen3x3 (double iAmount=5.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) |
Edge detection using gradient of filter. | |
bool | ApplyMarrHildreth (EBorderFill iBorder=BF_Nearest, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Marr-Hildreth filter detects edges. | |
bool | ApplyRoberts (bool ibFast=true, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Roberts Cross 2x2 edge detection. | |
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) |
Canny edge detection. | |
bool | ApplyZeroCrossing (double iRadius, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Zero Crossing edge detection. | |
bool | ApplySegmentation (double iStep, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Image Segmentation by morphological watersheds. | |
Misceallenous filters | |
bool | ApplyRotationalGradient (double iXc, double iYc, double iRadialShift, double iRotationalShift, bool ibInterpolation=true, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
LARSON-SEKANINA filter filter. | |
bool | 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.) | |
bool | Debloom (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Debloom an image. | |
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) |
Morphological filter with squared or circular kernel. | |
bool | 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. | |
bool | 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. | |
bool | 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. | |
bool | 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. | |
bool | 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. | |
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) |
Median filter reduces salt and pepper noise replacing each pixel with the median of the neighboring pixel. | |
bool | ApplyAdaptiveMedian (uint32 iWMax=7, uint32 iIteration=1, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Adaptive Median filter on square window. | |
Global to point processing methods | |
bool | Normalize (uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
Normalize an image. | |
bool | AutoBalance (ProgressNotifier &iNotifier=ProgressNotifier_NULL) |
bool | AutoBrightness (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 |
Get the image Bayer matrix. | |
bool | SetBayerMatrix (EBayerMatrix iBayer) |
Set a Bayer matrix to the image. | |
bool | IsBayer () const |
Get if image is encoded using color field array (CFA), ie with a Bayer matrix. | |
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) |
Implementation of Fast Digital Image Inpainting article. | |
bool | 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. | |
bool | 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. | |
Image analyse | |
bool | ComputeMin (double &oMin, bool ibNormalized) const |
Compute min value of image samples. | |
bool | ComputeMin (double(&oMin)[PC_MAX], bool ibNormalized) const |
Compute min values per channels of image samples. | |
bool | ComputeMax (double &oMax, bool ibNormalized) const |
Compute max value of image samples. | |
bool | ComputeMax (double(&oMax)[PC_MAX], bool ibNormalized) const |
Compute max value per channels of image samples. | |
bool | ComputeMinMax (double &oMin, double &oMax, bool ibNormalized=true) const |
Compute min and max values of image samples in one pass. | |
bool | 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. | |
bool | ComputeMean (double &oMean, bool ibNormalized=true) const |
Compute the mean value of image samples. | |
bool | ComputeMean (double(&oMean)[PC_MAX], bool ibNormalized=true) const |
Compute the mean value per channels of image samples. | |
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< IPixelIterator > | Begin () |
Returns an iterator pointing to the beginning of the Pixel map. | |
boost::shared_ptr< IPixelIterator > | Begin () const |
Returns an const iterator pointing to the beginning of the Pixel map. | |
boost::shared_ptr< IPixelIterator > | End () |
Returns an iterator pointing to the end of the Pixel map. | |
boost::shared_ptr< IPixelIterator > | End () const |
Returns an const iterator pointing to the end of the Pixel map. | |
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 |
An aggregation of an abstract image implementation. | |
EBayerMatrix | _Bayer |
The Bayer matrix to deal with raw image file from CCD. |
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.
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:
ImageVariant image1(pf, w,h), image2(pf, w,h);
bool bSame = (image1 == image2);
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.
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.
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 ImageVariant & | iImage, |
uint32 | iChannel, | ||
bool | ibScaled = true |
||
) |
Construction of an image with a plane of another Image ISO resolution.
iImage | source image. |
iChannel | The channel to retrieve from 0 to 3 (for RGBA). |
ibScaled | true for scale to full range, false for simple cast. |
eLynx::Image::ImageVariant::ImageVariant | ( | const AbstractImage & | iImage ) |
Copy construction of AbstractImage image.
iImage | image to copy. |
eLynx::Image::ImageVariant::ImageVariant | ( | const ImageVariant & | iImage1, |
const ImageVariant & | iImage2, | ||
bool | ibComplex = false |
||
) |
Construction merging two images.
Supported formats:
Note: Images must have the same resolution and the same size otherwise it builds an invalid image.
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:
Notes:
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:
Note: Images must have the same resolution and the same size otherwise it builds an invalid image.
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.
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.
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.
![]() AddBorder(10,20,30,40,true) | ![]() Original | ![]() AddBorder(40,30,20,10,false) |
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. |
bool eLynx::Image::ImageVariant::AdjustBCG | ( | double | iBrightness, |
double | iContrast, | ||
double | iGamma, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Change brightness + contrast + gamma correction, based on the RGB color model.
Optimizations: multicore, look up table.
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. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::AdjustBrightness | ( | double | iBrightness, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Change brightness on selected channels, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() less brightness(-0.3) | ![]() ![]() original | ![]() ![]() more brightness(+0.3) |
iBrightness | brightness coefficient in range -1.0, +1.0. 0.0 is the neutral value. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::AdjustContrast | ( | double | iContrast, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Change contrast on selected channels, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() less contrast(-0.4) | ![]() ![]() original | ![]() ![]() more contrast(+0.4) |
iContrast | contrast coefficient in range -1.0, +1.0. 0.0 is the neutral value. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::AdjustGamma | ( | double | iGamma, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Gamma correction on selected channels, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() gamma(0.5) | ![]() ![]() original | ![]() ![]() gamma(3.0) |
iGamma | gamma value in range 0.001, +4.0. 1.0 is the neutral value. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::AdjustHueSaturation | ( | double | iHue, |
double | iSaturation, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Adjust an image hue and a saturation.
Optimizations: multicore.
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. |
bool eLynx::Image::ImageVariant::AdjustMidtone | ( | double | iMidtone, |
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Midtone curve on selected channels.
Optimizations: multicore, look up table.
![]() ![]() Midtone(0.2) | ![]() ![]() original | ![]() ![]() Midtone(0.7) |
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. |
bool eLynx::Image::ImageVariant::AdjustShadowHighlight | ( | double | iShadow = 0.0 , |
double | iHighlight = 1.0 , |
||
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Shadow and highlight adjustment on selected channels.
Optimizations: multicore, look up table.
iShadow | adjustment in range [0..1]. |
iHighlight | adjustment in range [0..1]. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::AdjustSigmoid | ( | double | iAlpha, |
double | iBeta, | ||
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Adjust Sigmoid curvon selected channels.
Optimizations: multicore, look up table.
![]() ![]() Sigmoid(2.0, 0.25) | ![]() ![]() original | ![]() ![]() Sigmoid(0.5, 0.75) |
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. |
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.
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. |
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 |
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. |
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 |
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. |
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.
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. |
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:
0 | 0 | 1 | 0 | 0 |
0 | 2 | 2 | 2 | 0 |
1 | 2 | 5 | 2 | 1 |
0 | 2 | 2 | 2 | 0 |
0 | 0 | 1 | 0 | 0 |
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. |
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.
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. |
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.
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. |
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 .
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. |
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.
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. |
bool eLynx::Image::ImageVariant::ApplyMarrHildreth | ( | EBorderFill | iBorder = BF_Nearest , |
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Marr-Hildreth filter detects edges.
iBorder | how to fill border. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
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.
square & radius=3 |
circle & radius=3 |
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. |
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.
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. |
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.
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. |
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:
1 | 2 | 3 | 2 | 1 |
2 | 4 | 6 | 4 | 2 |
3 | 6 | 9 | 6 | 3 |
2 | 4 | 6 | 4 | 2 |
1 | 2 | 3 | 2 | 1 |
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. |
bool eLynx::Image::ImageVariant::ApplyRoberts | ( | bool | ibFast = true , |
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Roberts Cross 2x2 edge detection.
ibFast | true to use fast approximation. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
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.
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. |
bool eLynx::Image::ImageVariant::ApplySegmentation | ( | double | iStep, |
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Image Segmentation by morphological watersheds.
See Image Segmentation.
iStep | flood increment. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
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:
1 | 1 | 1 |
1 | 4 | 1 |
1 | 1 | 1 |
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. |
bool eLynx::Image::ImageVariant::ApplyZeroCrossing | ( | double | iRadius, |
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Zero Crossing edge detection.
iRadius | radius of the Laplacian of Gaussian kernel. Recommended 3.0 or greater |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
void eLynx::Image::ImageVariant::Assign | ( | boost::shared_ptr< AbstractImage > & | ipsAbstractImpl ) |
Aggregation transfert of implemented abstract image.
ipsAbstractImpl | the abstract image implementation to be aggregated by this. |
bool eLynx::Image::ImageVariant::AutoCrop | ( | ) |
Automatic crop of the image.
bool eLynx::Image::ImageVariant::Balance | ( | double | iRed, |
double | iGreen, | ||
double | iBlue, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
The Color Balance allows you to adjust the overall mixture of the colors, based on the RGB color model.
Optimizations: multicore, look up table.
![]() ![]() original | ![]() ![]() 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.
iRed | the red factor. |
iGreen | the green factor. |
iBlue | the blue factor. |
iNotifier | a notifier for progression, log and cancel. |
boost::shared_ptr<IPixelIterator> eLynx::Image::ImageVariant::Begin | ( | ) |
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.
bool eLynx::Image::ImageVariant::Bin2x2 | ( | EBinningMethod | iMethod = BM_Mean , |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Apply binning 2x2 to an image.
![]() Original | ![]() Bin(2,BI_AVG) | ![]() Bin(2,BI_SUM) |
iMethod | Binning method. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Bin3x3 | ( | EBinningMethod | iMethod = BM_Mean , |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Apply binning 3x3 to an image.
![]() Original | ![]() Bin(3,BI_AVG) | ![]() Bin(3,BI_SUM) |
iMethod | Binning method. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Blend | ( | const ImageVariant & | iImage, |
double | iScalar, | ||
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Blend with another image by a scalar in range [0..1].
Resulting image is computed as: Notes that iImage should have the same sizes and format as this, otherwise it fails and this is kept unchanged. Optimizations: multicore.
ioImage | first and output image. |
iImage | second image to be blend with the first. |
iScalar | Blending scalar in range [0..1]. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
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.
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. |
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.
iprFilename | The image filename for format. |
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.
iResolution | The requested new resolution:
|
ibScaled | true for scale to full range, false for simple cast. |
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.
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. |
bool eLynx::Image::ImageVariant::Colorize | ( | double | iHue, |
double | iSaturation, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Colorize an image setting a hue and a saturation.
Optimizations: multicore.
![]() ![]() original | ![]() ![]() Colorize(0.10, 0.54) with Sepia tone |
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. |
bool eLynx::Image::ImageVariant::ComputeMax | ( | double & | oMax, |
bool | ibNormalized | ||
) | const |
Compute max value of image samples.
oMax | the output max value of image samples. |
ibNormalized | true to have value normalised in range[0.0, 1.0]. |
bool eLynx::Image::ImageVariant::ComputeMax | ( | double(&) | oMax[PC_MAX], |
bool | ibNormalized | ||
) | const |
Compute max 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]. |
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).
oMean | the output max value of image samples. |
ibNormalized | true to have value normalised in range[0.0, 1.0]. |
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.
oMean | the output max value of image samples. |
ibNormalized | true to have value normalised in range[0.0, 1.0]. |
bool eLynx::Image::ImageVariant::ComputeMin | ( | double(&) | oMin[PC_MAX], |
bool | ibNormalized | ||
) | const |
Compute min values per channels of image samples.
oMin | the output min value per channels of image samples. |
ibNormalized | true to have value normalised in range[0.0, 1.0]. |
bool eLynx::Image::ImageVariant::ComputeMin | ( | double & | oMin, |
bool | ibNormalized | ||
) | const |
Compute min value of image samples.
oMin | the output min value of image samples. |
ibNormalized | true to have value normalised in range[0.0, 1.0]. |
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.
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]. |
bool eLynx::Image::ImageVariant::ComputeMinMax | ( | double & | oMin, |
double & | oMax, | ||
bool | ibNormalized = true |
||
) | const |
Compute min and max values of image samples in one pass.
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]. |
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.
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. |
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.
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. |
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.
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. |
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.
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. |
bool eLynx::Image::ImageVariant::Crop | ( | uint32 | iX, |
uint32 | iY, | ||
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Crop image.
![]() Original | ![]() Crop(40,20, 100,50) |
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. |
bool eLynx::Image::ImageVariant::Debloom | ( | uint32 | iChannelMask = CM_All , |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Debloom an image.
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Desaturate | ( | double | iFactor, |
uint32 | iChannelMask = CM_All , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Adjust the Saturation by a multiplier factor, based on the HLS color model.
Optimizations: multicore.
iFactor | saturation multiplier factor. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
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.
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. |
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.
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. |
boost::shared_ptr<IPixelIterator> eLynx::Image::ImageVariant::End | ( | ) |
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.
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.
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. |
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 |
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. |
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.
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. |
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.
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. |
bool eLynx::Image::ImageVariant::Flip | ( | EFlipPlane | iFlipPlane, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Perform symmetry of an image.
![]() Flip(FP_Horizontal) | ![]() Original | ![]() Flip(FP_Vertical) |
iFlipPlane | flip plane for symetry. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::FlipHorizontal | ( | ProgressNotifier & | iNotifier = ProgressNotifier_NULL ) |
Perform horizontal symmetry of an image.
![]() Original | ![]() FlipHorizontal |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::FlipVertical | ( | ProgressNotifier & | iNotifier = ProgressNotifier_NULL ) |
Perform vertical symmetry of an image.
![]() Original | ![]() FlipVertical |
iNotifier | a notifier for progression, log and cancel. |
EBayerMatrix eLynx::Image::ImageVariant::GetBayerMatrix | ( | ) | const |
Get the image Bayer matrix.
Bayer matrix is only available for image in L format.
uint32 eLynx::Image::ImageVariant::GetBitsPerPixel | ( | ) | const |
Retrieve the number of bits per pixel.
uint32 eLynx::Image::ImageVariant::GetChannelCount | ( | ) | const |
Retrieve the number of channel.
EColorSpace eLynx::Image::ImageVariant::GetColorSpace | ( | ) | const |
Retrieve the pixel color space.
uint32 eLynx::Image::ImageVariant::GetHeight | ( | ) | const |
Retrieve the image height in pixels.
boost::shared_ptr<AbstractImage> eLynx::Image::ImageVariant::GetImpl | ( | ) |
Retrieve pointeur to implemented abstract image.
boost::shared_ptr<const AbstractImage> eLynx::Image::ImageVariant::GetImpl | ( | ) | const |
Retrieve const pointeur to implemented abstract image.
uint32 eLynx::Image::ImageVariant::GetPixelCount | ( | ) | const |
Compute the number of pixel for whole image.
EPixelFormat eLynx::Image::ImageVariant::GetPixelFormat | ( | ) | const |
Retrieve pixel format.
EPixelMode eLynx::Image::ImageVariant::GetPixelMode | ( | ) | const |
Retrieve the pixel mode.
EPixelType eLynx::Image::ImageVariant::GetPixelType | ( | ) | const |
Retrieve the pixel type.
bool eLynx::Image::ImageVariant::GetPlane | ( | uint32 | iPlane, |
ImageVariant & | oPlane, | ||
bool | ibScaled = true |
||
) | const |
Build a grey image from a plane of this.
iPlane | the plane index from 0 to 3. |
oPlane | the grey image filled with the selected plane. |
ibScaled | true for scale to full range, false for simple cast. |
bool eLynx::Image::ImageVariant::GetPlane | ( | const ImageVariant & | iImage, |
uint32 | iPlane, | ||
bool | ibScaled = true |
||
) |
Build an image from a plane of another image.
iImage | the source image to get plane. |
iPlane | the plane index from 0 to 3. |
ibScaled | true for scale to full range, false for simple cast. |
EResolution eLynx::Image::ImageVariant::GetResolution | ( | ) | const |
Retrieve the image component resolution.
uint32 eLynx::Image::ImageVariant::GetSampleCount | ( | ) | const |
Retrieve the number of samples for whole map.
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.
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. |
uint32 eLynx::Image::ImageVariant::GetWidth | ( | ) | const |
Retrieve the image width in pixels.
bool eLynx::Image::ImageVariant::HasAlpha | ( | ) | const |
Retrieve if image has an alpha channel.
bool eLynx::Image::ImageVariant::Insert | ( | const ImageVariant & | iImage, |
int32 | iX, | ||
int32 | iY, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Insert an sub-image at selected position.
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. |
void eLynx::Image::ImageVariant::Invalidate | ( | bool | ibRelease = true ) |
Invalidate image.
After this call method IsValid() return false.
ibRelease | true to release image implementation aggregation, false to reset to NULL. |
bool eLynx::Image::ImageVariant::IsBayer | ( | ) | const |
Get if image is encoded using color field array (CFA), ie with a Bayer matrix.
bool eLynx::Image::ImageVariant::IsColor | ( | ) | const |
Retrieve if image is a color type.
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::IsComplex | ( | ) | const |
Retrieve if image is a complex type.
bool eLynx::Image::ImageVariant::IsComplexd | ( | ) | const |
Retrieve if image has PF_CPLXd pixel format.
bool eLynx::Image::ImageVariant::IsComplexf | ( | ) | const |
Retrieve if image has PF_CPLXf pixel format.
bool eLynx::Image::ImageVariant::IsComplexi | ( | ) | const |
Retrieve if image has PF_CPLXi pixel format.
bool eLynx::Image::ImageVariant::IsDouble | ( | ) | const |
Retrieve if image has RT_Double resolution (64 bits floating point).
bool eLynx::Image::ImageVariant::IsFloat | ( | ) | const |
Retrieve if image has RT_Float resolution (32 bits floating point).
bool eLynx::Image::ImageVariant::IsGrey | ( | ) | const |
Retrieve if image is a grey type.
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::IsHLab | ( | ) | const |
Retrieve if image is of Hunter Lab format.
bool eLynx::Image::ImageVariant::IsHLabd | ( | ) | const |
Retrieve if image has PF_HLabd pixel format.
bool eLynx::Image::ImageVariant::IsHLabf | ( | ) | const |
Retrieve if image has PF_HLabf pixel format.
bool eLynx::Image::ImageVariant::IsHLS | ( | ) | const |
Retrieve if image is of HLS format.
bool eLynx::Image::ImageVariant::IsHLSd | ( | ) | const |
Retrieve if image has PF_HLSd pixel format.
bool eLynx::Image::ImageVariant::IsHLSf | ( | ) | const |
Retrieve if image has PF_HLSf pixel format.
bool eLynx::Image::ImageVariant::IsInt32 | ( | ) | const |
Retrieve if image has RT_INT32 resolution (32 bits signed).
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.
bool eLynx::Image::ImageVariant::IsLA | ( | ) | const |
Retrieve if image has a luminance and an alpha channels.
bool eLynx::Image::ImageVariant::IsLab | ( | ) | const |
Retrieve if image is of CIE Lab format.
bool eLynx::Image::ImageVariant::IsLabd | ( | ) | const |
Retrieve if image has PF_Labd pixel format.
bool eLynx::Image::ImageVariant::IsLabf | ( | ) | const |
Retrieve if image has PF_Labf pixel format.
bool eLynx::Image::ImageVariant::IsLAd | ( | ) | const |
Retrieve if image has PF_LAd pixel format.
bool eLynx::Image::ImageVariant::IsLAf | ( | ) | const |
Retrieve if image has PF_LAf pixel format.
bool eLynx::Image::ImageVariant::IsLAi | ( | ) | const |
Retrieve if image has PF_LAi pixel format.
bool eLynx::Image::ImageVariant::IsLAub | ( | ) | const |
Retrieve if image has PF_LAub pixel format.
bool eLynx::Image::ImageVariant::IsLAus | ( | ) | const |
Retrieve if image has PF_LAus pixel format.
bool eLynx::Image::ImageVariant::IsLch | ( | ) | const |
Retrieve if image is of CIE Lch format.
bool eLynx::Image::ImageVariant::IsLchd | ( | ) | const |
Retrieve if image has PF_Lchd pixel format.
bool eLynx::Image::ImageVariant::IsLchf | ( | ) | const |
Retrieve if image has PF_Lchf pixel format.
bool eLynx::Image::ImageVariant::IsLd | ( | ) | const |
Retrieve if image has PF_Ld pixel format.
bool eLynx::Image::ImageVariant::IsLf | ( | ) | const |
Retrieve if image has PF_Lf pixel format.
bool eLynx::Image::ImageVariant::IsLi | ( | ) | const |
Retrieve if image has PF_Li pixel format.
bool eLynx::Image::ImageVariant::IsLub | ( | ) | const |
Retrieve if image has PF_Lub pixel format.
bool eLynx::Image::ImageVariant::IsLus | ( | ) | const |
Retrieve if image has PF_Lus pixel format.
bool eLynx::Image::ImageVariant::IsLuv | ( | ) | const |
Retrieve if image is of CIE Luv format.
bool eLynx::Image::ImageVariant::IsLuvd | ( | ) | const |
Retrieve if image has PF_Luvd pixel format.
bool eLynx::Image::ImageVariant::IsLuvf | ( | ) | const |
Retrieve if image has PF_Luvf pixel format.
bool eLynx::Image::ImageVariant::IsMasking | ( | uint32 | iChannelMask ) | const |
Retrieve if selected channel mask contains a channel of image.
iChannelMask | The channel mask. |
bool eLynx::Image::ImageVariant::IsRGB | ( | ) | const |
Retrieve if image is of RGB format.
bool eLynx::Image::ImageVariant::IsRGBA | ( | ) | const |
Retrieve if image is of RGBA format.
bool eLynx::Image::ImageVariant::IsRGBAd | ( | ) | const |
Retrieve if image has PF_RGBAd pixel format.
bool eLynx::Image::ImageVariant::IsRGBAf | ( | ) | const |
Retrieve if image has PF_RGBAi pixel format.
bool eLynx::Image::ImageVariant::IsRGBAi | ( | ) | const |
Retrieve if image has PF_RGBAi pixel format.
bool eLynx::Image::ImageVariant::IsRGBAub | ( | ) | const |
Retrieve if image has PF_RGBAub pixel format.
bool eLynx::Image::ImageVariant::IsRGBAus | ( | ) | const |
Retrieve if image has PF_RGBAus pixel format.
bool eLynx::Image::ImageVariant::IsRGBd | ( | ) | const |
Retrieve if image has PF_RGBd pixel format.
bool eLynx::Image::ImageVariant::IsRGBf | ( | ) | const |
Retrieve if image has PF_RGBf pixel format.
bool eLynx::Image::ImageVariant::IsRGBi | ( | ) | const |
Retrieve if image has PF_RGBi pixel format.
bool eLynx::Image::ImageVariant::IsRGBub | ( | ) | const |
Retrieve if image has PF_RGBub pixel format.
bool eLynx::Image::ImageVariant::IsRGBus | ( | ) | const |
Retrieve if image has PF_RGBus pixel format.
bool eLynx::Image::ImageVariant::IsUInt16 | ( | ) | const |
Retrieve if image has RT_UINT16 resolution (16 bits unsigned).
bool eLynx::Image::ImageVariant::IsUInt8 | ( | ) | const |
Retrieve if image has RT_UINT8 resolution (8 bits unsigned).
bool eLynx::Image::ImageVariant::IsValid | ( | ) | const |
Check image validity.
bool eLynx::Image::ImageVariant::IsXYZ | ( | ) | const |
Retrieve if image is of CIE XYZ format.
bool eLynx::Image::ImageVariant::IsXYZd | ( | ) | const |
Retrieve if image has PF_XYZd pixel format.
bool eLynx::Image::ImageVariant::IsXYZf | ( | ) | const |
Retrieve if image has PF_XYZf pixel format.
bool eLynx::Image::ImageVariant::Load | ( | const char * | iprFilename, |
ImageFileInfo * | oprInfo = NULL , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Load an ImageVariant from a filename.
iprFilename | The image filename to load. |
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.
bool eLynx::Image::ImageVariant::Normalize | ( | uint32 | iChannelMask = CM_All , |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Normalize an image.
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
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.
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. |
bool eLynx::Image::ImageVariant::operator!= | ( | const ImageVariant & | iOther ) | const |
const ImageVariant& eLynx::Image::ImageVariant::operator= | ( | const ImageVariant & | iImage ) |
const ImageVariant& eLynx::Image::ImageVariant::operator= | ( | const AbstractImage & | iImage ) |
Assignment from AbstractImage, aggregation copy of image implementation.
iImage | abstract image implementation to assign. |
bool eLynx::Image::ImageVariant::operator== | ( | const ImageVariant & | iOther ) | const |
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.
Optimizations: look up table.
![]() ![]() original | ![]() ![]() Posterize(3) |
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. |
void eLynx::Image::ImageVariant::Release | ( | ) |
Self destruction.
This method is called when object is no longer needed.
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.)
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. |
bool eLynx::Image::ImageVariant::Resample | ( | uint32 | iWidth, |
uint32 | iHeight, | ||
Math::EResampleFilter | iFilter = Math::RF_Mitchell , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Resample image using filter.
![]() Original | ![]() Resample(220,110) with RF_Mitchell |
iWidth | the new width. |
iHeight | the new height. |
iFilter | the filter to use. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Resize | ( | uint32 | iWidth, |
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Resize image.
![]() Original | ![]() Resize(100, 200) |
iWidth | the new width. |
iHeight | the new height. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Rotate | ( | double | iDegrees, |
int32 | iFlags = RF_Default , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Rotate an image with finest degree angles.
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::Rotate | ( | ERightRotation | iRotation, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Fast rotate image with basic 90° angles.
![]() Original | ![]() Rotate(RR_90Right) | ![]() Rotate(RR_180) | ![]() Rotate(RR_90Left) |
iRotation | the rotation 0°, 90°, 180° or 270°. |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Rotate180 | ( | ProgressNotifier & | iNotifier = ProgressNotifier_NULL ) |
Fast rotate image of 180°.
![]() Original | ![]() Rotate(RR_180) |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Rotate90Left | ( | ProgressNotifier & | iNotifier = ProgressNotifier_NULL ) |
Fast rotate image of 90° left.
![]() Original | ![]() Rotate(RR_90Left) |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Rotate90Right | ( | ProgressNotifier & | iNotifier = ProgressNotifier_NULL ) |
Fast rotate image of 90° right.
![]() Original | ![]() Rotate(RR_90Right) |
iNotifier | a notifier for progression, log and cancel. |
bool eLynx::Image::ImageVariant::Save | ( | const char * | iprFilename, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL , |
||
const ImageFileOptions * | iprOptions = NULL |
||
) | const |
Save image to file.
iprFilename | The image filename. |
iNotifier | a notifier for progression, log and cancel. |
iprOptions | Some specific format options. |
Note: See Supported Image File Format plugins before using it.
bool eLynx::Image::ImageVariant::SetBayerMatrix | ( | EBayerMatrix | iBayer ) |
Set a Bayer matrix to the image.
This has sence only if image is in L format.
iBayer | the Bayer matrit to set. |
bool eLynx::Image::ImageVariant::SetPlane | ( | uint32 | iPlane, |
const ImageVariant & | iImage, | ||
bool | ibResized = true , |
||
bool | ibScaled = false |
||
) |
Build a grey image from a plane of this.
iPlane | the plane index from 0 to 3. |
iImage | the image of plane to insert, must be a L image type. |
ibResized | true to resize plane to image size, false for insertion at top left. |
ibScaled | true for scale to full range, false for simple cast. |
bool eLynx::Image::ImageVariant::Shift | ( | int32 | iHorizontal, |
int32 | iVertical, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Shift an image with complete pixel size.
![]() Shift(50,10) | ![]() Original | ![]() Shift(-20,0) |
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. |
uint32 eLynx::Image::ImageVariant::sizeofMap | ( | ) | const |
Retrieve the number of bytes for whole map.
uint32 eLynx::Image::ImageVariant::sizeofPixel | ( | ) | const |
Retrieve the number of bytes per pixel.
uint32 eLynx::Image::ImageVariant::sizeofWidth | ( | ) | const |
Retrieve the number of bytes per line.
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.
Optimizations: multicore, look up table.
![]() ![]() original | ![]() ![]() Solarize(0.6) |
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. |
bool eLynx::Image::ImageVariant::SwapPlanes | ( | uint32 | iPlane1, |
uint32 | iPlane2 | ||
) |
Swap two planes into an image.
iPlane1 | the first plane from 0 to 3. |
iPlane2 | the second plane from 0 to 3. |
bool eLynx::Image::ImageVariant::Zoom | ( | uint32 | iZoom, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) |
Zoom image.
![]() Original | ![]() Zoom(2) |
iZoom | magnifier coefficient. |
iNotifier | a notifier for progression, log and cancel. |
EBayerMatrix eLynx::Image::ImageVariant::_Bayer [protected] |
The Bayer matrix to deal with raw image file from CCD.