OpendTect  7.0
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
PlaneFrom3DSpaceHoughTransform Class Reference

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

Public Member Functions

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

Protected Member Functions

void incParamPos (int normal, double dist)
 

Protected Attributes

TypeSet< unsigned int > calcpositions_
 
float cliprate_
 
Array3DInfodatainfo_
 
double deltadist_
 
TypeSet< Coord3 > * normals_
 
Array2D< unsigned int > * paramspace_
 
Threads::Lock paramspacelock_
 

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) are 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::PlaneFrom3DSpaceHoughTransform ( )

◆ ~PlaneFrom3DSpaceHoughTransform()

virtual PlaneFrom3DSpaceHoughTransform::~PlaneFrom3DSpaceHoughTransform ( )
virtual

Member Function Documentation

◆ clipRate()

float PlaneFrom3DSpaceHoughTransform::clipRate ( ) const

◆ createCalculators()

ObjectSet<SequentialTask>* PlaneFrom3DSpaceHoughTransform::createCalculators ( )

◆ getNrDistVals()

int PlaneFrom3DSpaceHoughTransform::getNrDistVals ( ) const

◆ getNrPointsAfterClip()

int PlaneFrom3DSpaceHoughTransform::getNrPointsAfterClip ( ) const

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

◆ getParamSpaceSize()

int PlaneFrom3DSpaceHoughTransform::getParamSpaceSize ( ) const

◆ getPlane()

Plane3 PlaneFrom3DSpaceHoughTransform::getPlane ( int  plane) const

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

◆ incParamPos()

void PlaneFrom3DSpaceHoughTransform::incParamPos ( int  normal,
double  dist 
)
protected

◆ setClipRate()

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

◆ setData()

void PlaneFrom3DSpaceHoughTransform::setData ( const Array3D< float > *  )

◆ setResolution()

void PlaneFrom3DSpaceHoughTransform::setResolution ( double  dangle,
int  distsize 
)
Parameters
dangleis the angle between the planes that are tested.
distsizeis the number of bins in the distance domain.

◆ sortParamSpace()

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

◆ ::PlaneFrom3DSpaceHoughTransformTask

friend class ::PlaneFrom3DSpaceHoughTransformTask
friend

Member Data Documentation

◆ calcpositions_

TypeSet<unsigned int> PlaneFrom3DSpaceHoughTransform::calcpositions_
protected

◆ cliprate_

float PlaneFrom3DSpaceHoughTransform::cliprate_
protected

◆ datainfo_

Array3DInfo* PlaneFrom3DSpaceHoughTransform::datainfo_
protected

◆ deltadist_

double PlaneFrom3DSpaceHoughTransform::deltadist_
protected

◆ normals_

TypeSet<Coord3>* PlaneFrom3DSpaceHoughTransform::normals_
protected

◆ paramspace_

Array2D<unsigned int>* PlaneFrom3DSpaceHoughTransform::paramspace_
protected

◆ paramspacelock_

Threads::Lock PlaneFrom3DSpaceHoughTransform::paramspacelock_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024