eLynx SDK
v3.3.0 C++ image processing API reference |
Interface for image geometry methods. More...
#include <IImageGeometry.h>
Public Member Functions | |
virtual | ~IImageGeometry () |
virtual destructor. | |
Mirrors | |
virtual bool | Flip (AbstractImage &ioImage, EFlipPlane iFlipPlane, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Perform symmetry of an image. | |
virtual boost::shared_ptr < AbstractImage > | CreateFlipped (const AbstractImage &iImage, EFlipPlane iFlipPlane, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Create a flipped image. | |
Rotations | |
virtual bool | Rotate (AbstractImage &ioImage, ERightRotation iRotation, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Fast rotate image with right angles. | |
virtual bool | Rotate (AbstractImage &ioImage, double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Rotate an image with finest degree angles. | |
virtual boost::shared_ptr < AbstractImage > | CreateRotated (const AbstractImage &iImage, ERightRotation iRotation, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Create a 90° multiple rotated image. | |
virtual boost::shared_ptr < AbstractImage > | CreateRotated (const AbstractImage &iImage, double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Create a rotated image with finest degree angles. | |
Sizing, sub, zoom | |
virtual bool | Crop (AbstractImage &ioImage, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Crop image. | |
virtual bool | AutoCrop (AbstractImage &ioImage, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Automatic Crop image. | |
virtual bool | AddBorder (AbstractImage &ioImage, uint32 iLeft, uint32 iRight, uint32 iTop, uint32 iBottom, bool ibBlack, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Add border to an image. | |
virtual bool | Resize (AbstractImage &ioImage, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Resize image. | |
virtual bool | Zoom (AbstractImage &ioImage, uint32 iZoom, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Zoom image. | |
virtual bool | Bin (AbstractImage &ioImage, uint32 iDim, EBinningMethod iMethod, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Apply binning to an image. | |
virtual boost::shared_ptr < AbstractImage > | CreateSubImage (const AbstractImage &iImage, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
CreateSubImage. | |
virtual boost::shared_ptr < AbstractImage > | CreateEnlarged (const AbstractImage &iImage, uint32 iLeft, uint32 iRight, uint32 iTop, uint32 iBottom, bool ibBlack, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
CreateEnlarged create an image for source adding borders. | |
virtual boost::shared_ptr < AbstractImage > | CreateResized (const AbstractImage &iImage, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
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=ProgressNotifier_NULL) const =0 |
Create a zoomed image. | |
virtual boost::shared_ptr < AbstractImage > | CreateBinned (const AbstractImage &iImage, uint32 iDim, EBinningMethod iMethod, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Create binning image. | |
virtual boost::shared_ptr < AbstractImage > | CreateResampled (const AbstractImage &iImage, uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
virtual bool | Resample (AbstractImage &ioImage, uint32 iWidth, uint32 iHeight, Math::EResampleFilter iFilter, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Resample image using filter. | |
virtual bool | Insert (AbstractImage &ioImage, const AbstractImage &iInserted, int32 iX, int32 iY, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Shifting | |
virtual bool | Shift (AbstractImage &ioImage, int32 iHorizontal, int32 iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Shift an image with complete pixel size. | |
virtual bool | Shift (AbstractImage &ioImage, double iHorizontal, double iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Shift an image with less than pixels resolution. | |
virtual boost::shared_ptr < AbstractImage > | CreateShifted (const AbstractImage &iImage, int32 iHorizontal, int32 iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
virtual boost::shared_ptr < AbstractImage > | CreateShifted (const AbstractImage &iImage, double iHorizontal, double iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
virtual boost::shared_ptr < AbstractImage > | CreateExpanded (const AbstractImage &iImage, uint32 iBorder, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0 |
Interface for image geometry methods.
Geometry methods conserve pixel format (ISO color space and ISO resolution). Map and image dimensions can be changed.
virtual bool eLynx::Image::IImageGeometry::AddBorder | ( | AbstractImage & | ioImage, |
uint32 | iLeft, | ||
uint32 | iRight, | ||
uint32 | iTop, | ||
uint32 | iBottom, | ||
bool | ibBlack, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::AutoCrop | ( | AbstractImage & | ioImage, |
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure virtual] |
Automatic Crop image.
ioImage | image to process. |
iNotifier | a notifier for progression and cancel. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Bin | ( | AbstractImage & | ioImage, |
uint32 | iDim, | ||
EBinningMethod | iMethod, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateBinned | ( | const AbstractImage & | iImage, |
uint32 | iDim, | ||
EBinningMethod | iMethod, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateEnlarged | ( | const AbstractImage & | iImage, |
uint32 | iLeft, | ||
uint32 | iRight, | ||
uint32 | iTop, | ||
uint32 | iBottom, | ||
bool | ibBlack, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateFlipped | ( | const AbstractImage & | iImage, |
EFlipPlane | iFlipPlane, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure virtual] |
Create a flipped image.
iImage | source image. |
iFlipPlane | flip plane for symetry. |
iNotifier | a notifier for progression and cancel. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateResized | ( | const AbstractImage & | iImage, |
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateRotated | ( | const AbstractImage & | iImage, |
ERightRotation | iRotation, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateRotated | ( | const AbstractImage & | iImage, |
double | iDegrees, | ||
int32 | iFlags = RF_Default , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateSubImage | ( | const AbstractImage & | iImage, |
uint32 | iX, | ||
uint32 | iY, | ||
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateZoomed | ( | const AbstractImage & | iImage, |
uint32 | iZoom, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure virtual] |
Create a zoomed image.
iImage | source image. |
iZoom | magnifier coefficient. |
iNotifier | a notifier for progression and cancel. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Crop | ( | AbstractImage & | ioImage, |
uint32 | iX, | ||
uint32 | iY, | ||
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Flip | ( | AbstractImage & | ioImage, |
EFlipPlane | iFlipPlane, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Resample | ( | AbstractImage & | ioImage, |
uint32 | iWidth, | ||
uint32 | iHeight, | ||
Math::EResampleFilter | iFilter, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Resize | ( | AbstractImage & | ioImage, |
uint32 | iWidth, | ||
uint32 | iHeight, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Rotate | ( | AbstractImage & | ioImage, |
double | iDegrees, | ||
int32 | iFlags = RF_Default , |
||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Rotate | ( | AbstractImage & | ioImage, |
ERightRotation | iRotation, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Shift | ( | AbstractImage & | ioImage, |
int32 | iHorizontal, | ||
int32 | iVertical, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Shift | ( | AbstractImage & | ioImage, |
double | iHorizontal, | ||
double | iVertical, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure 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. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.
virtual bool eLynx::Image::IImageGeometry::Zoom | ( | AbstractImage & | ioImage, |
uint32 | iZoom, | ||
ProgressNotifier & | iNotifier = ProgressNotifier_NULL |
||
) | const [pure virtual] |
Zoom image.
![]() Original | ![]() Zoom(2) |
ioImage | image to process. |
iZoom | magnifier coefficient. |
iNotifier | a notifier for progression and cancel. |
Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.