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

eLynx::Image::IImageGeometry Class Reference

#include <IImageGeometry.h>

Inheritance diagram for eLynx::Image::IImageGeometry:

eLynx::Image::ImageGeometryImpl< Pixel >

List of all members.


Public Member Functions

virtual ~IImageGeometry ()
Mirrors
virtual bool Flip (AbstractImage &ioImage, EFlipPlane iFlipPlane, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual boost::shared_ptr
< AbstractImage
CreateFlipped (const AbstractImage &iImage, EFlipPlane iFlipPlane, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
Rotations
virtual bool Rotate (AbstractImage &ioImage, ERightRotation iRotation, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual bool Rotate (AbstractImage &ioImage, double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual boost::shared_ptr
< AbstractImage
CreateRotated (const AbstractImage &iImage, ERightRotation iRotation, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual boost::shared_ptr
< AbstractImage
CreateRotated (const AbstractImage &iImage, double iDegrees, int32 iFlags=RF_Default, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
Sizing, sub, zoom
virtual bool Crop (AbstractImage &ioImage, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual bool AddBorder (AbstractImage &ioImage, uint32 iLeft, uint32 iRight, uint32 iTop, uint32 iBottom, bool ibBlack, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual bool Resize (AbstractImage &ioImage, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual bool Zoom (AbstractImage &ioImage, uint32 iZoom, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual bool Bin (AbstractImage &ioImage, uint32 iDim, EBinningMethod iMethod, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual boost::shared_ptr
< AbstractImage
CreateSubImage (const AbstractImage &iImage, uint32 iX, uint32 iY, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
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
virtual boost::shared_ptr
< AbstractImage
CreateResized (const AbstractImage &iImage, uint32 iWidth, uint32 iHeight, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual boost::shared_ptr
< AbstractImage
CreateZoomed (const AbstractImage &iImage, uint32 iZoom, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
virtual boost::shared_ptr
< AbstractImage
CreateBinned (const AbstractImage &iImage, uint32 iDim, EBinningMethod iMethod, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
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
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
virtual bool Shift (AbstractImage &ioImage, double iHorizontal, double iVertical, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const =0
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

Definition at line 70 of file IImageGeometry.h.


Constructor & Destructor Documentation

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

virtual destructor.


Member Function Documentation

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:
ioImage image to process.
iFlipPlane flip plane for symetry.
iNotifier a notifier for progression and cancel.
Returns:
Method running status.

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:
iImage source image.
iFlipPlane flip plane for symetry.
iNotifier a notifier for progression and cancel.
Returns:
The new flipped 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:
ioImage image to process.
iRotation the rotation of 0°, 90°, 180° or 270°.
iNotifier a 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:
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.
Returns:
The new rotated 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:
iImage source image.
iRotation the rotation of 0°, 90°, 180° or 270°
iNotifier a 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:
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.
Returns:
The new rotated 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:
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.
Returns:
Method running status.

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

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:
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.
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:
ioImage image to process.
iWidth the new width.
iHeight the new height.
iNotifier a 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:
ioImage image to process.
iZoom magnifier coefficient.
iNotifier a 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:
ioImage image to process.
iDim Binning scale. Only 2 and 3 are supported
iMethod Binning method.
iNotifier a notifier for progression and cancel.
Returns:
Method running status.

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:
iImage source image.
iX x position of top left point of subimage in image.
iY y position of top left point of subimage in image.
iWidth width of sub-image.
iHeight height of sub-image.
iNotifier a notifier for progression and cancel.
Returns:
The sub image.

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:
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.
Returns:
The sub 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:
iImage source image.
iWidth the width of the new image.
iHeight the height of the new image.
iNotifier a notifier for progression and cancel.
Returns:
The new resized 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:
iImage source image.
iZoom magnifier coefficient.
iNotifier a notifier for progression and cancel.
Returns:
The new zoomed image.

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:
iImage source image.
iDim Binning scale. Only 2 and 3 are supported
iMethod Binning method.
iNotifier a 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::CreateResampled ( const AbstractImage iImage,
uint32  iWidth,
uint32  iHeight,
Math::EResampleFilter  iFilter,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [pure virtual]

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:
ioImage image to process.
iWidth the new width.
iHeight the new height.
iFilter the filter to use.
iNotifier a notifier for progression and cancel.
Returns:
Method running status.

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

virtual bool eLynx::Image::IImageGeometry::Insert ( AbstractImage ioImage,
const AbstractImage iInserted,
int32  iX,
int32  iY,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [pure virtual]

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:
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.
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:
ioImage image to process.
iHorizontal horizontal shift.
iVertical vertical shift.
iNotifier a notifier for progression and cancel.
Returns:
Method running status.

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

virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateShifted ( const AbstractImage iImage,
int32  iHorizontal,
int32  iVertical,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [pure virtual]

virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateShifted ( const AbstractImage iImage,
double  iHorizontal,
double  iVertical,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [pure virtual]

virtual boost::shared_ptr<AbstractImage> eLynx::Image::IImageGeometry::CreateExpanded ( const AbstractImage iImage,
uint32  iBorder,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [pure virtual]


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

Generated on 14 Apr 2009 by doxygen 1.5.8