eLynx SDK v3.3.0
C++ image processing API reference
Public Member Functions

eLynx::Image::IImageGeometry Class Reference

Interface for image geometry methods. More...

#include <IImageGeometry.h>

Inheritance diagram for eLynx::Image::IImageGeometry:
eLynx::Image::ImageGeometryImpl< Pixel >

List of all members.

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

Detailed Description

Interface for image geometry methods.

Geometry methods conserve pixel format (ISO color space and ISO resolution). Map and image dimensions can be changed.

IImageGeometry.png

Member Function Documentation

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.

color.AddBorderBlack.png

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

Original
color.AddBorderWhite.png

AddBorder(40,30,20,10,false)
Parameters:
ioImagesource image.
iLeftsize on border to add on left in pixels.
iRightsize on border to add on right in pixels.
iTopsize on border to add on top in pixels.
iBottomsize on border to add on bottom in pixels.
ibBlacktrue to have black border, false for white.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.

virtual bool eLynx::Image::IImageGeometry::AutoCrop ( AbstractImage ioImage,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [pure virtual]

Automatic Crop image.

Parameters:
ioImageimage to process.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

color.original.png

Original
color.Bin2x2AVG.png

Bin(2,BI_AVG)
color.Bin2x2SUM.png

Bin(2,BI_SUM)
color.Bin3x3AVG.png

Bin(3,BI_AVG)
color.Bin3x3SUM.png

Bin(3,BI_SUM)
Parameters:
ioImageimage to process.
iDimBinning scale. Only 2 and 3 are supported
iMethodBinning method.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

Parameters:
iImagesource image.
iDimBinning scale. Only 2 and 3 are supported
iMethodBinning method.
iNotifiera notifier for progression and cancel.
Returns:
new binning image or NULL.

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.

Parameters:
iImagesource image.
iLeftsize on border to add on left in pixels.
iRightsize on border to add on right in pixels.
iTopsize on border to add on top in pixels.
iBottomsize on border to add on bottom in pixels.
ibBlacktrue to have black border, false for white.
iNotifiera notifier for progression and cancel.
Returns:
The sub image.

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.

Parameters:
iImagesource image.
iFlipPlaneflip plane for symetry.
iNotifiera notifier for progression and cancel.
Returns:
The new flipped image.

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.

Parameters:
iImagesource image.
iWidththe width of the new image.
iHeightthe height of the new image.
iNotifiera notifier for progression and cancel.
Returns:
The new resized image.

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.

Parameters:
iImagesource image.
iRotationthe rotation of 0°, 90°, 180° or 270°
iNotifiera notifier for progression and cancel.
Returns:
The new rotated image.

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.

Parameters:
iImagesource image.
iDegreesthe rotation angle in degrees.
iFlagsa combinaison of RF_Expand, RF_Interpolation and RF_Antialiasing.
iNotifiera notifier for progression and cancel.
Returns:
The new rotated image.

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.

Parameters:
iImagesource image.
iXx position of top left point of subimage in image.
iYy position of top left point of subimage in image.
iWidthwidth of sub-image.
iHeightheight of sub-image.
iNotifiera notifier for progression and cancel.
Returns:
The sub image.

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.

Parameters:
iImagesource image.
iZoommagnifier coefficient.
iNotifiera notifier for progression and cancel.
Returns:
The new zoomed image.

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.

color.original.png

Original
color.Crop.png

Crop(40,20, 100,50)
Parameters:
ioImageimage to process.
iXx position of top left point in image.
iYy position of top left point in image.
iWidthwidth image after crop.
iHeightheight image after crop.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

color.FlipH.png

Flip(FP_Horizontal)
color.original.png

Original
color.FlipV.png

Flip(FP_Vertical)
Parameters:
ioImageimage to process.
iFlipPlaneflip plane for symetry.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

color.original.png

Original
color.Resample_Mitchell.png

Resample(220,110) with RF_Mitchell
Parameters:
ioImageimage to process.
iWidththe new width.
iHeightthe new height.
iFilterthe filter to use.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

color.original.png

Original
color.Resize.png

Resize(100, 200)
Parameters:
ioImageimage to process.
iWidththe new width.
iHeightthe new height.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

Parameters:
ioImageimage to process.
iDegreesthe rotation angle in degrees.
iFlagsa combinaison of RF_Expand, RF_Interpolation and RF_Antialiasing.
iNotifiera notifier for progression and cancel.
Returns:
The new rotated image.

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.

color.original.png

Original
color.Rotate90R.png

Rotate(RR_90Right)
color.Rotate180.png

Rotate(RR_180)
color.Rotate90L.png

Rotate(RR_90Left)
Parameters:
ioImageimage to process.
iRotationthe rotation of 0°, 90°, 180° or 270°.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

color.Shift50_10.png

Shift(50,10)
color.original.png

Original
color.ShiftM20_0.png

Shift(-20,0)
Parameters:
ioImageimage to process.
iHorizontalhorizontal shift in pixels, >0 means right shift, <0 left shift.
iVerticalvertical shift in pixels, >0 means bottom shift, <0 top shift.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

Parameters:
ioImageimage to process.
iHorizontalhorizontal shift.
iVerticalvertical shift.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

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.

color.original.png

Original
color.Zoom2.png

Zoom(2)
Parameters:
ioImageimage to process.
iZoommagnifier coefficient.
iNotifiera notifier for progression and cancel.
Returns:
Method running status.

Implemented in eLynx::Image::ImageGeometryImpl< Pixel >.


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

Generated on Thu Dec 9 2010 by doxygen 1.7.2