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

eLynx::Image::ImageEdgeProcessingImpl< Pixel > Class Template Reference

#include <ImageEdgeProcessingImpl.h>

Inheritance diagram for eLynx::Image::ImageEdgeProcessingImpl< Pixel >:

eLynx::Image::IImageEdgeProcessing

List of all members.


Public Types

typedef Pixel Pixel_t

Public Member Functions

Edges detection services
virtual bool ApplyGradient (AbstractImage &ioImage, EEdgeDetector iDetector, EEdgeGradient iGradient, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool ApplyCanny (AbstractImage &ioImage, EEdgeDetector iDetector, EEdgeGradient iGradient, double iRadius, double iThresholdLo, double iThresholdHi, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool ApplyZeroCrossing (AbstractImage &ioImage, double iRadius, double iVariance, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool ApplyRoberts (AbstractImage &ioImage, bool ibFast, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool SegmentImage (AbstractImage &ioImage, double iStep, uint32 iChannelMask, ProgressNotifier &iNotifier) const
Edges enhancement services
virtual bool ApplyThreshold (AbstractImage &ioImage, double iThresholdLo, double iThresholdHi, uint32 iChannelMask, ProgressNotifier &iNotifier) const

Static Public Member Functions

Specialized static services
static bool ApplyGradient (ImageImpl< Pixel > &ioImage, EEdgeDetector iDetector, EEdgeGradient iGradient, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyGradientDirection (ImageImpl< Pixel > &ioImage, boost::shared_array< float > &ospOrientation, EEdgeDetector iDetector, EEdgeGradient iGradient, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyCanny (ImageImpl< Pixel > &ioImage, EEdgeDetector iDetector, EEdgeGradient iGradient, double iRadius, double iThresholdLo, double iThresholdHi, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyNonMaxSuppression (ImageImpl< Pixel > &ioImage, const float *iprEdgeOrientation, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ApplyThreshold (ImageImpl< Pixel > &ioImage, double iThresholdLo, double iThresholdHi, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool SegmentImage (ImageImpl< Pixel > &ioImage, double iStep, uint32 iChannelMask, ProgressNotifier &iNotifier=ProgressNotifier_NULL)

Detailed Description

template<class Pixel>
class eLynx::Image::ImageEdgeProcessingImpl< Pixel >

Implementation of edge processing interface.

Definition at line 33 of file ImageEdgeProcessingImpl.h.


Member Typedef Documentation

template<class Pixel >
typedef Pixel eLynx::Image::ImageEdgeProcessingImpl< Pixel >::Pixel_t

Definition at line 36 of file ImageEdgeProcessingImpl.h.


Member Function Documentation

template<class Pixel >
virtual bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyGradient ( AbstractImage ioImage,
EEdgeDetector  iDetector,
EEdgeGradient  iGradient,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Edge detection using a gradient of filter.

Parameters:
ioImage image to be filtered.
iDetector detector type to detect edges.
iGradient gradient to apply.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageEdgeProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyCanny ( AbstractImage ioImage,
EEdgeDetector  iDetector,
EEdgeGradient  iGradient,
double  iRadius,
double  iThresholdLo,
double  iThresholdHi,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Canny edge detection. See Canny Edge Processing.

Parameters:
ioImage image to be filtered.
iDetector detector type to detect edges.
iGradient gradient to apply. Allowed values are: GDS_Fast, GDS_Accurate, GDS_Max2 and 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.
Returns:
Method running status.

Implements eLynx::Image::IImageEdgeProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyZeroCrossing ( AbstractImage ioImage,
double  iRadius,
double  iVariance,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Zero Crossing edge detection.

Parameters:
ioImage image to be filtered.
iRadius radius of the Laplacian of Gaussian kernel. Recommended 3.0 or greater.
iVariance of the Gaussian curve.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageEdgeProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyRoberts ( AbstractImage ioImage,
bool  ibFast,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Roberts Cross 2x2 edge detection.

Parameters:
ioImage image to be filtered.
ibFast true to use fast approximation.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageEdgeProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::SegmentImage ( AbstractImage ioImage,
double  iStep,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Image Segmentation by morphological watersheds. See Image Segmentation.

Parameters:
ioImage image to be segmented.
iStep flood increment.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageEdgeProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyThreshold ( AbstractImage ioImage,
double  iThresholdLo,
double  iThresholdHi,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Threshold edges to eliminate `insignificant' ones. See Edge Processing.

Parameters:
ioImage edge image to be enhanced.
iThresholdLo low threshold.
iThresholdHi high threshold.
iChannelMask selected channels to be processed. Default is all channels.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageEdgeProcessing.

template<class Pixel >
static bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyGradient ( ImageImpl< Pixel > &  ioImage,
EEdgeDetector  iDetector,
EEdgeGradient  iGradient,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyGradientDirection ( ImageImpl< Pixel > &  ioImage,
boost::shared_array< float > &  ospOrientation,
EEdgeDetector  iDetector,
EEdgeGradient  iGradient,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyCanny ( ImageImpl< Pixel > &  ioImage,
EEdgeDetector  iDetector,
EEdgeGradient  iGradient,
double  iRadius,
double  iThresholdLo,
double  iThresholdHi,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyNonMaxSuppression ( ImageImpl< Pixel > &  ioImage,
const float *  iprEdgeOrientation,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::ApplyThreshold ( ImageImpl< Pixel > &  ioImage,
double  iThresholdLo,
double  iThresholdHi,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageEdgeProcessingImpl< Pixel >::SegmentImage ( ImageImpl< Pixel > &  ioImage,
double  iStep,
uint32  iChannelMask,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]


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

Generated on 14 Apr 2009 by doxygen 1.5.8