MDSTk Libraries  1.1.0
Medical Data Segmentation Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
mds::img::CSusanLandmarks< V > Class Template Reference

#include <mdsSusan.h>

Inheritance diagram for mds::img::CSusanLandmarks< V >:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { BLOCK_SIZE = 64 }
 Size of the processing block (volume window). More...
enum  { MAX_LUT = 255 }
 Maximal value stored in the internal lookup table. More...
enum  { LUT_SIZE = 2 * MAX_LUT + 1 }
 Size of the internal lookup table. More...
enum  { DIFF_THRESHOLD = 700 }
 Threshold used to suppress non-corner points. More...
enum  { TEMPLATE_PARAMETER_IS_NOT_VOLUME = V::CLASS_VOLUME }
 Check that V is volume. More...
typedef CLandmarkDetector< V > base
 Volume filter base.
typedef base::tCorners tCorners
 Vector of found corners.
typedef base::tVolume tVolume
 Volume type.
typedef base::tVoxel tVoxel
 Voxel type.

Public Member Functions

 CSusanLandmarks (double dThreshold, double dWidth=20.0)
 Default constructor.
double getThreshold ()
 Returns cornerness threshold.
double getWidth ()
 Returns the width parameter.
bool operator() (const tVolume &SrcVolume, tCorners &Corners)
 Volume landmark detection.
void setThreshold (double dThreshold)
 Sets cornerness threshold.
void setWidth (double dWidth)
 Sets the width parameter.
 ~CSusanLandmarks ()
 Destructor.

Protected Member Functions

bool checkNeighbours (CFVolume &Volume, tSize x, tSize y, tSize z, tFloatPixel T)
 Returns true if any neighbouring voxel has greater value than a given threshold.
int getDiff (tPixel8 a, tPixel8 b)
 Returns difference of two given pixels.
void initLUT ()
 Initializes internal lookup table.

Protected Attributes

double m_dInvWidth
double m_dThreshold
 Corner detector parameters.
double m_dWidth
mds::math::CStaticVector< int,
LUT_SIZE
m_LUT
 Internal lookup table used for fast computation of the exp() function.

Detailed Description

template<class V>
class mds::img::CSusanLandmarks< V >


Member Typedef Documentation

template<class V >
typedef CLandmarkDetector<V> mds::img::CSusanLandmarks< V >::base

Volume filter base.

template<class V >
typedef base::tCorners mds::img::CSusanLandmarks< V >::tCorners

Vector of found corners.

Reimplemented from mds::img::CLandmarkDetector< V >.

template<class V >
typedef base::tVolume mds::img::CSusanLandmarks< V >::tVolume

Volume type.

Reimplemented from mds::img::CLandmarkDetector< V >.

template<class V >
typedef base::tVoxel mds::img::CSusanLandmarks< V >::tVoxel

Voxel type.

Reimplemented from mds::img::CLandmarkDetector< V >.


Member Enumeration Documentation

template<class V >
anonymous enum

Size of the processing block (volume window).

The input volume is divided into smaller blocks - cubes for the processing.

  • This is used to reduce amount of the memory required by the filtering.
Enumerator:
BLOCK_SIZE 
template<class V >
anonymous enum

Maximal value stored in the internal lookup table.

Enumerator:
MAX_LUT 
template<class V >
anonymous enum

Size of the internal lookup table.

Enumerator:
LUT_SIZE 
template<class V >
anonymous enum

Threshold used to suppress non-corner points.

Enumerator:
DIFF_THRESHOLD 
template<class V >
anonymous enum [inherited]

Check that V is volume.

You will see name of this enum somewhere in compiler error message if the type V is not volume.

Enumerator:
TEMPLATE_PARAMETER_IS_NOT_VOLUME 

Constructor & Destructor Documentation

template<class V >
CSusanLandmarks::CSusanLandmarks ( double  dThreshold,
double  dWidth = 20.0 
)

Default constructor.

  • Detection threshold.
  • Third parameter affects evaluation of difference of two voxels.
template<class V >
mds::img::CSusanLandmarks< V >::~CSusanLandmarks ( )

Destructor.


Member Function Documentation

template<class V >
bool CSusanLandmarks::checkNeighbours ( CFVolume Volume,
tSize  x,
tSize  y,
tSize  z,
tFloatPixel  T 
) [protected]

Returns true if any neighbouring voxel has greater value than a given threshold.

template<class V >
int CSusanLandmarks::getDiff ( tPixel8  a,
tPixel8  b 
) [protected]

Returns difference of two given pixels.

template<class V >
double mds::img::CSusanLandmarks< V >::getThreshold ( )

Returns cornerness threshold.

template<class V >
double mds::img::CSusanLandmarks< V >::getWidth ( )

Returns the width parameter.

template<class V >
void CSusanLandmarks::initLUT ( ) [protected]

Initializes internal lookup table.

template<class V >
bool CSusanLandmarks::operator() ( const tVolume SrcVolume,
tCorners Corners 
) [virtual]

Volume landmark detection.

  • Returns false on failure.

Implements mds::img::CLandmarkDetector< V >.

template<class V >
void CSusanLandmarks::setThreshold ( double  dThreshold)

Sets cornerness threshold.

template<class V >
void CSusanLandmarks::setWidth ( double  dWidth)

Sets the width parameter.


Member Data Documentation

template<class V >
double mds::img::CSusanLandmarks< V >::m_dInvWidth [protected]
template<class V >
double mds::img::CSusanLandmarks< V >::m_dThreshold [protected]

Corner detector parameters.

template<class V >
double mds::img::CSusanLandmarks< V >::m_dWidth [protected]
template<class V >
mds::math::CStaticVector<int, LUT_SIZE> mds::img::CSusanLandmarks< V >::m_LUT [protected]

Internal lookup table used for fast computation of the exp() function.


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