OpendTect
7.0
|
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_ |
Array3DInfo * | datainfo_ |
double | deltadist_ |
TypeSet< Coord3 > * | normals_ |
Array2D< unsigned int > * | paramspace_ |
Threads::Lock | paramspacelock_ |
Friends | |
class | ::PlaneFrom3DSpaceHoughTransformTask |
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.
<>
PlaneFrom3DSpaceHoughTransform::PlaneFrom3DSpaceHoughTransform | ( | ) |
|
virtual |
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.
|
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 | ||
) |
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 [];
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024