Image Component Library (ICL)
Public Types | Public Member Functions | Private Attributes | List of all members
icl::filter::GradientImage Class Reference

Class for calculation of gradient image information. More...

#include <GradientImage.h>

Public Types

enum  calculationMode { calculateXYOnly =0, calculateIntensity =1, calculateAngle =2, calculateAll =3 }
 flags to indicate which gradient information should be calculated More...
 

Public Member Functions

 GradientImage ()
 Empty constructor. More...
 
void update (const core::ImgBase *src, calculationMode mode=calculateAll)
 Main function calculates new gradient image information. More...
 
const core::Img16sgetGradXImage () const
 return current X-Gradient image More...
 
const core::Img16sgetGradYImage () const
 return current Y-Gradient image More...
 
const core::Img32fgetGradIntensityImage () const
 return current Gradient-Intensity image More...
 
const core::Img32fgetGradAngleImage () const
 return current Gradient-Angle image More...
 
void normalize ()
 internally normalizes all images to range [0,255] More...
 

Private Attributes

core::Img16s m_oBuf
 
core::Img16s m_oX
 
core::Img16s m_oY
 
core::Img32f m_oI
 
core::Img32f m_oA
 

Detailed Description

Class for calculation of gradient image information.

The GradientImage class provides functionalities for the calculation of the following gradient image information:

For best performance, the input image is restricted to be of type Img8u. The update function will firstly calculate X- and Y-Gradient information using a ConvolutionOp object. X- and Y-Gradient image have range [0,255] now (result of Sobel-Filter is internally scaled to the range of the used datatype icl8u. Further calculation of gradient intensity and gradient angle depends on the given calculation mode flag.

Member Enumeration Documentation

◆ calculationMode

flags to indicate which gradient information should be calculated

Enumerator
calculateXYOnly 

only calculate X- and Y-Gradient

calculateIntensity 

X/Y-Gradient and intensity map.

calculateAngle 

X/Y-Gradient and angle map.

calculateAll 

X/Y-Gradient, intensity- and angle map.

Constructor & Destructor Documentation

◆ GradientImage()

icl::filter::GradientImage::GradientImage ( )
inline

Empty constructor.

Member Function Documentation

◆ getGradAngleImage()

const core::Img32f& icl::filter::GradientImage::getGradAngleImage ( ) const
inline

return current Gradient-Angle image

◆ getGradIntensityImage()

const core::Img32f& icl::filter::GradientImage::getGradIntensityImage ( ) const
inline

return current Gradient-Intensity image

◆ getGradXImage()

const core::Img16s& icl::filter::GradientImage::getGradXImage ( ) const
inline

return current X-Gradient image

◆ getGradYImage()

const core::Img16s& icl::filter::GradientImage::getGradYImage ( ) const
inline

return current Y-Gradient image

◆ normalize()

void icl::filter::GradientImage::normalize ( )

internally normalizes all images to range [0,255]

◆ update()

void icl::filter::GradientImage::update ( const core::ImgBase src,
calculationMode  mode = calculateAll 
)

Main function calculates new gradient image information.

Member Data Documentation

◆ m_oA

core::Img32f icl::filter::GradientImage::m_oA
private

◆ m_oBuf

core::Img16s icl::filter::GradientImage::m_oBuf
private

◆ m_oI

core::Img32f icl::filter::GradientImage::m_oI
private

◆ m_oX

core::Img16s icl::filter::GradientImage::m_oX
private

◆ m_oY

core::Img16s icl::filter::GradientImage::m_oY
private

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