eLynx SDK
v3.3.0 C++ image processing API reference |
Defining implementation for image geometry interface methods. More...
#include <ImageGeometryImpl.h>
Public Member Functions | |
Generic virtual services | |
virtual bool | Flip (AbstractImage &ioImage, EFlipPlane iFlipPlane, ProgressNotifier &iNotifier) const |
Perform symmetry of an image. | |
virtual bool | Rotate (AbstractImage &ioImage, ERightRotation iRotation, ProgressNotifier &iNotifier) const |
Fast rotate image with right angles. | |
virtual bool | Rotate (AbstractImage &ioImage, double iDegrees, int32 iFlags, ProgressNotifier &iNotifier) const |
Rotate an image with finest degree angles. | |
virtual bool | Crop (AbstractImage &ioImage, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier) const |
Crop image. | |
virtual bool | AutoCrop (AbstractImage &ioImage, ProgressNotifier &iNotifier) const |
Automatic Crop image. | |
virtual bool | Resize (AbstractImage &ioImage, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier) const |
Resize image. | |
virtual bool | Zoom (AbstractImage &ioImage, uint32 iZoom, ProgressNotifier &iNotifier) const |
Zoom image. | |
virtual bool | Bin (AbstractImage &ioImage, uint32 iDim, EBinningMethod iMethod, ProgressNotifier &iNotifier) const |
Apply binning to an image. | |
virtual bool | AddBorder (AbstractImage &ioImage, uint32 iLeft, uint32 iRight, uint32 iTop, uint32 iBottom, bool ibBlack, ProgressNotifier &iNotifier) const |
Add border to an image. | |
virtual bool | Shift (AbstractImage &ioImage, int32 iHorizontal, int32 iVertical, ProgressNotifier &iNotifier) const |
Shift an image with complete pixel size. | |
virtual bool | Shift (AbstractImage &ioImage, double iHorizontal, double iVertical, ProgressNotifier &iNotifier) const |
Shift an image with less than pixels resolution. | |
virtual bool | Insert (AbstractImage &ioImage, const AbstractImage &iInserted, int32 iX, int32 iY, ProgressNotifier &iNotifier) const |
virtual bool | Resample (AbstractImage &ioImage, uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter, ProgressNotifier &iNotifier) const |
Resample image using filter. | |
virtual boost::shared_ptr < AbstractImage > | CreateFlipped (const AbstractImage &iImage, EFlipPlane iFlipPlane, ProgressNotifier &iNotifier) const |
Create a flipped image. | |
virtual boost::shared_ptr < AbstractImage > | CreateRotated (const AbstractImage &iImage, ERightRotation iRotation, ProgressNotifier &iNotifier) const |
Create a 90° multiple rotated image. | |
virtual boost::shared_ptr < AbstractImage > | CreateRotated (const AbstractImage &iImage, double iDegrees, int32 iFlags, ProgressNotifier &iNotifier) const |
Create a rotated image with finest degree angles. | |
virtual boost::shared_ptr < AbstractImage > | CreateSubImage (const AbstractImage &iImage, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier) const |
CreateSubImage. | |
virtual boost::shared_ptr < AbstractImage > | CreateResized (const AbstractImage &iImage, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier) const |
Create a resized image with dimension (iWidth, iHeight) using nearest point algo. | |
virtual boost::shared_ptr < AbstractImage > | CreateZoomed (const AbstractImage &iImage, uint32 iZoom, ProgressNotifier &iNotifier) const |
Create a zoomed image. | |
virtual boost::shared_ptr < AbstractImage > | CreateBinned (const AbstractImage &iImage, uint32 iDim, EBinningMethod iMethod, ProgressNotifier &iNotifier) const |
Create binning image. | |
virtual boost::shared_ptr < AbstractImage > | CreateEnlarged (const AbstractImage &iImage, uint32 iLeft, uint32 iRight, uint32 iTop, uint32 iBottom, bool ibBlack, ProgressNotifier &iNotifier) const |
CreateEnlarged create an image for source adding borders. | |
virtual boost::shared_ptr < AbstractImage > | CreateShifted (const AbstractImage &iImage, int32 iHorizontal, int32 iVertical, ProgressNotifier &iNotifier) const |
virtual boost::shared_ptr < AbstractImage > | CreateShifted (const AbstractImage &iImage, double iHorizontal, double iVertical, ProgressNotifier &iNotifier) const |
virtual boost::shared_ptr < AbstractImage > | CreateInserted (const AbstractImage &iImage, const AbstractImage &iInserted, int32 iX, int32 iY, ProgressNotifier &iNotifier) const |
virtual boost::shared_ptr < AbstractImage > | CreateResampled (const AbstractImage &iImage, uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter, ProgressNotifier &iNotifier) const |
virtual boost::shared_ptr < AbstractImage > | CreateExpanded (const AbstractImage &iImage, uint32 iBorder, ProgressNotifier &iNotifier) const |
Static Public Member Functions | |
Specialized static services | |
static bool | FlipVertical (ImageImpl< Pixel > &, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | FlipHorizontal (ImageImpl< Pixel > &, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Flip (ImageImpl< Pixel > &, EFlipPlane, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Rotate180 (ImageImpl< Pixel > &, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Rotate90 (ImageImpl< Pixel > &, bool ibClockwise, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Rotate (ImageImpl< Pixel > &, double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Crop (ImageImpl< Pixel > &, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | AutoCrop (ImageImpl< Pixel > &, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Resize (ImageImpl< Pixel > &, uint32 iWidth, uint32 iHeight, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Zoom (ImageImpl< Pixel > &, uint32 iZoom, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | AddBorder (ImageImpl< Pixel > &, uint32 iLeft, uint32 iRight, uint32 iTop, uint32 iBottom, bool ibBlack=true, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Bin (ImageImpl< Pixel > &, uint32 iDim, EBinningMethod, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Shift (ImageImpl< Pixel > &, int32 iHorizontal, int32 iVertical, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Shift (ImageImpl< Pixel > &, double iHorizontal, double iVertical, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Insert (ImageImpl< Pixel > &, const ImageImpl< Pixel > &iInserted, int32 iX, int32 iY, ProgressNotifier &=ProgressNotifier_NULL) |
static bool | Resample (ImageImpl< Pixel > &, uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateFlipped (const ImageImpl< Pixel > &, EFlipPlane, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateRotated90 (const ImageImpl< Pixel > &, bool ibClockwise, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateRotated (const ImageImpl< Pixel > &, double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateSubImage (const ImageImpl< Pixel > &, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateResized (const ImageImpl< Pixel > &, uint32 iWidth, uint32 iHeight, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateZoomed (const ImageImpl< Pixel > &, uint32 iZoom, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateEnlarged (const ImageImpl< Pixel > &, uint32 iLeft, uint32 iRight, uint32 iTop, uint32 iBottom, bool ibBlack=true, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateBinned (const ImageImpl< Pixel > &iImage, uint32 iDim, EBinningMethod iMethod, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateShifted (const ImageImpl< Pixel > &iImage, int32 iHorizontal, int32 iVertical, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateShifted (const ImageImpl< Pixel > &iImage, double iHorizontal, double iVertical, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateInserted (const ImageImpl< Pixel > &iImage, const ImageImpl< Pixel > &iInserted, int32 iX, int32 iY, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateResampled (const ImageImpl< Pixel > &, uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter, ProgressNotifier &=ProgressNotifier_NULL) |
static boost::shared_ptr < ImageImpl< Pixel > > | CreateExpanded (const ImageImpl< Pixel > &iImage, uint32 iBorder, ProgressNotifier &=ProgressNotifier_NULL) |
Defining implementation for image geometry interface methods.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::AddBorder | ( | AbstractImage & | ioImage, |
uint32 | iLeft, | ||
uint32 | iRight, | ||
uint32 | iTop, | ||
uint32 | iBottom, | ||
bool | ibBlack, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Add border to an image.
![]() AddBorder(10,20,30,40,true) | ![]() Original | ![]() AddBorder(40,30,20,10,false) |
ioImage | source image. |
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 and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::AutoCrop | ( | AbstractImage & | ioImage, |
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Automatic Crop image.
ioImage | image to process. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Bin | ( | AbstractImage & | ioImage, |
uint32 | iDim, | ||
EBinningMethod | iMethod, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Apply binning to an image.
![]() Original | ![]() Bin(2,BI_AVG) | ![]() Bin(2,BI_SUM) | ![]() Bin(3,BI_AVG) | ![]() Bin(3,BI_SUM) |
ioImage | image to process. |
iDim | Binning scale. Only 2 and 3 are supported |
iMethod | Binning method. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateBinned | ( | const AbstractImage & | iImage, |
uint32 | iDim, | ||
EBinningMethod | iMethod, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Create binning image.
iImage | source image. |
iDim | Binning scale. Only 2 and 3 are supported |
iMethod | Binning method. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateEnlarged | ( | const AbstractImage & | iImage, |
uint32 | iLeft, | ||
uint32 | iRight, | ||
uint32 | iTop, | ||
uint32 | iBottom, | ||
bool | ibBlack, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
CreateEnlarged create an image for source adding borders.
iImage | source image. |
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 and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateFlipped | ( | const AbstractImage & | iImage, |
EFlipPlane | iFlipPlane, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Create a flipped image.
iImage | source image. |
iFlipPlane | flip plane for symetry. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateResized | ( | const AbstractImage & | iImage, |
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Create a resized image with dimension (iWidth, iHeight) using nearest point algo.
iImage | source image. |
iWidth | the width of the new image. |
iHeight | the height of the new image. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateRotated | ( | const AbstractImage & | iImage, |
double | iDegrees, | ||
int32 | iFlags, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Create a rotated image with finest degree angles.
iImage | source image. |
iDegrees | the rotation angle in degrees. |
iFlags | a combinaison of RF_Expand, RF_Interpolation and RF_Antialiasing. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateRotated | ( | const AbstractImage & | iImage, |
ERightRotation | iRotation, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Create a 90° multiple rotated image.
iImage | source image. |
iRotation | the rotation of 0°, 90°, 180° or 270° |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateSubImage | ( | const AbstractImage & | iImage, |
uint32 | iX, | ||
uint32 | iY, | ||
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
CreateSubImage.
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. |
Implements eLynx::Image::IImageGeometry.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::ImageGeometryImpl< Pixel >::CreateZoomed | ( | const AbstractImage & | iImage, |
uint32 | iZoom, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Create a zoomed image.
iImage | source image. |
iZoom | magnifier coefficient. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Crop | ( | AbstractImage & | ioImage, |
uint32 | iX, | ||
uint32 | iY, | ||
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Crop image.
![]() Original | ![]() Crop(40,20, 100,50) |
ioImage | image to process. |
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 and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Flip | ( | AbstractImage & | ioImage, |
EFlipPlane | iFlipPlane, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Perform symmetry of an image.
![]() Flip(FP_Horizontal) | ![]() Original | ![]() Flip(FP_Vertical) |
ioImage | image to process. |
iFlipPlane | flip plane for symetry. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Resample | ( | AbstractImage & | ioImage, |
uint32 | iWidth, | ||
uint32 | iHeight, | ||
Math::EResampleFilter | iFilter, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Resample image using filter.
![]() Original | ![]() Resample(220,110) with RF_Mitchell |
ioImage | image to process. |
iWidth | the new width. |
iHeight | the new height. |
iFilter | the filter to use. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Resize | ( | AbstractImage & | ioImage, |
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Resize image.
![]() Original | ![]() Resize(100, 200) |
ioImage | image to process. |
iWidth | the new width. |
iHeight | the new height. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Rotate | ( | AbstractImage & | ioImage, |
ERightRotation | iRotation, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Fast rotate image with right angles.
![]() Original | ![]() Rotate(RR_90Right) | ![]() Rotate(RR_180) | ![]() Rotate(RR_90Left) |
ioImage | image to process. |
iRotation | the rotation of 0°, 90°, 180° or 270°. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Rotate | ( | AbstractImage & | ioImage, |
double | iDegrees, | ||
int32 | iFlags, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Rotate an image with finest degree angles.
ioImage | image to process. |
iDegrees | the rotation angle in degrees. |
iFlags | a combinaison of RF_Expand, RF_Interpolation and RF_Antialiasing. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Shift | ( | AbstractImage & | ioImage, |
int32 | iHorizontal, | ||
int32 | iVertical, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Shift an image with complete pixel size.
![]() Shift(50,10) | ![]() Original | ![]() Shift(-20,0) |
ioImage | image to process. |
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 and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Shift | ( | AbstractImage & | ioImage, |
double | iHorizontal, | ||
double | iVertical, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Shift an image with less than pixels resolution.
ioImage | image to process. |
iHorizontal | horizontal shift. |
iVertical | vertical shift. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.
virtual bool eLynx::Image::ImageGeometryImpl< Pixel >::Zoom | ( | AbstractImage & | ioImage, |
uint32 | iZoom, | ||
ProgressNotifier & | iNotifier | ||
) | const [virtual] |
Zoom image.
![]() Original | ![]() Zoom(2) |
ioImage | image to process. |
iZoom | magnifier coefficient. |
iNotifier | a notifier for progression and cancel. |
Implements eLynx::Image::IImageGeometry.