![]() |
OpendTect
6.3
|
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 () |
| 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_ |
| Array3DInfo * | datainfo_ |
| Array2D< unsigned int > * | paramspace_ |
| double | deltadist_ |
| TypeSet< Coord3 > * | normals_ |
| 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. 2017