Public Member Functions | Protected Member Functions | Protected Attributes | Friends

PlaneFrom3DSpaceHoughTransform Class Reference

Finds planes in Array3D<float>'s regions with high values. All positions in the array above a threshold (defined by cliprate) is used to find the planes. More...

List of all members.

Public Member Functions

 PlaneFrom3DSpaceHoughTransform ()
virtual ~PlaneFrom3DSpaceHoughTransform ()
void setResolution (double dangle, int distsize)
int getParamSpaceSize () const
int getNrDistVals () const
void setClipRate (float)
float clipRate () const
void setData (const Array3D< float > *)
ObjectSet< SequentialTask > * createCalculators ()
TopList< unsigned int,
unsigned int > * 
sortParamSpace (int) const
Plane3 getPlane (int plane) const
int getNrPointsAfterClip () const

Protected Member Functions

void incParamPos (int normal, double dist)

Protected Attributes

float cliprate
TypeSet< unsigned int > calcpositions
Array3DInfodatainfo
Array2D< unsigned int > * paramspace
double deltadist
TypeSet< Coord3 > * normals
Threads::Mutexparamspacemutex

Friends

class ::PlaneFrom3DSpaceHoughTransformTask

Detailed Description

Finds planes in Array3D<float>'s regions with high values. All positions in the array above a threshold (defined by cliprate) is used to find the planes.

The planes are defined with three parameters: dip (0-90), azi(0-360) and the normal's distance to origo. Depending on your application, you might need different resolution, which is set with setParamSpaceSize.

Usage: 1) Create 2) Set setParamSpaceSize, cliprate and data 3) Get the tasks and run them 4) call sortParamSpace 5) get your planes and their scores.


Constructor & Destructor Documentation

PlaneFrom3DSpaceHoughTransform::PlaneFrom3DSpaceHoughTransform (  ) 
virtual PlaneFrom3DSpaceHoughTransform::~PlaneFrom3DSpaceHoughTransform (  )  [virtual]

Member Function Documentation

float PlaneFrom3DSpaceHoughTransform::clipRate (  )  const
ObjectSet<SequentialTask>* PlaneFrom3DSpaceHoughTransform::createCalculators (  ) 
int PlaneFrom3DSpaceHoughTransform::getNrDistVals (  )  const
int PlaneFrom3DSpaceHoughTransform::getNrPointsAfterClip (  )  const

Returns the number of datapoints left after the function setClipRate() has been run.

int PlaneFrom3DSpaceHoughTransform::getParamSpaceSize (  )  const
Plane3 PlaneFrom3DSpaceHoughTransform::getPlane ( int  plane  )  const

Returns the plane plane from houghpositions converted to the ( x,y,z ) space.

void PlaneFrom3DSpaceHoughTransform::incParamPos ( int  normal,
double  dist 
) [protected]
void PlaneFrom3DSpaceHoughTransform::setClipRate ( float   ) 

Between 0-1. For instance, cliprate 0.6 will set Data with the 60% highest values of indata. Default is 0.7

void PlaneFrom3DSpaceHoughTransform::setData ( const Array3D< float > *   ) 
void PlaneFrom3DSpaceHoughTransform::setResolution ( double  dangle,
int  distsize 
)
Parameters:
dangle is the angle between the planes that are tested.
distsize is the number of bins in the distance domain.
TopList<unsigned int, unsigned int>* PlaneFrom3DSpaceHoughTransform::sortParamSpace ( int   )  const

Sorts the paramspace and returns an array with the indexes of the planes, from less likely planes to likely planes. The best plane is thus the res[getParamSpaceSize()-1] value. Result is managed by caller and should be deleted with [];


Friends And Related Function Documentation

friend class ::PlaneFrom3DSpaceHoughTransformTask [friend]

Member Data Documentation