#include <parameter_space.h>
Public Types | |
typedef but_plane_detector::Plane < float > | tPlane |
typedef std::vector< tPlane, Eigen::aligned_allocator < tPlane > > | tPlanes |
Public Member Functions | |
void | addVolume (ParameterSpace &second, int angle1, int angle2, int shift) |
int | findMaxima (tPlanes &indices) |
void | generateGaussIn (double angleSigma, double shiftSigma) |
double | getAngle (int index) |
int | getIndex (double angle1, double angle2, double z) |
void | getIndex (double angle1, double angle2, double z, int &angle1Index, int &angle2Index, int &shiftIndex) |
double | getShift (int irndex) |
int | getSize () |
double & | operator() (int angle1, int angle2, int z) |
double & | operator() (double angle1, double angle2, double z) |
double & | operator[] (int index) |
ParameterSpace (double anglemin, double anglemax, double zmin, double zmax, double angleRes=DEFAULT_ANGLE_STEP, double shiftRes=DEFAULT_SHIFT_STEP) | |
~ParameterSpace () | |
Static Public Member Functions | |
static void | toAngles (float x, float y, float z, float &a1, float &a2) |
static void | toEuklid (float a1, float a2, float &x, float &y, float &z) |
Public Attributes | |
double | m_anglemax |
double | m_anglemin |
int | m_angleSize |
int | m_angleSize2 |
double | m_angleStep |
double * | m_data |
bool | m_init |
cv::Mat | m_paramSpace |
double | m_shiftmax |
double | m_shiftmin |
int | m_shiftSize |
double | m_shiftStep |
int | m_size |
Class encapsulating a Hough parameter space
Definition at line 58 of file parameter_space.h.
Definition at line 61 of file parameter_space.h.
typedef std::vector<tPlane, Eigen::aligned_allocator<tPlane> > srs_env_model_percp::ParameterSpace::tPlanes |
Definition at line 62 of file parameter_space.h.
ParameterSpace::ParameterSpace | ( | double | anglemin, |
double | anglemax, | ||
double | zmin, | ||
double | zmax, | ||
double | angleRes = DEFAULT_ANGLE_STEP , |
||
double | shiftRes = DEFAULT_SHIFT_STEP |
||
) |
Constructor - creates and allocates a space (angle X angle X shift)
anglemin | Minimal angle in space |
anglemax | Maximal angle in space |
zmin | Minimal shift in space |
zmax | Maximal shift in space |
angleRes | Angle resolution (step) |
shiftRes | Shift resolution (step) |
Definition at line 51 of file parameter_space.cpp.
Destructor
Definition at line 73 of file parameter_space.cpp.
void ParameterSpace::addVolume | ( | ParameterSpace & | second, |
int | angle1, | ||
int | angle2, | ||
int | shift | ||
) |
Adds a second volume to this with offset
second | Second volume to be added |
angle1 | Angle 1 offset |
angle2 | Angle 2 offset |
shift | Shift offset |
Definition at line 168 of file parameter_space.cpp.
int ParameterSpace::findMaxima | ( | tPlanes & | indices | ) |
Finds maximas in this and saves them as planes to given vector
indices | Found planes |
Definition at line 227 of file parameter_space.cpp.
void ParameterSpace::generateGaussIn | ( | double | angleSigma, |
double | shiftSigma | ||
) |
Generates a Gauss curve into this space (centered)
angleSigma | sigma in angle directions |
shiftSigma | sigma in shift direction |
Definition at line 197 of file parameter_space.cpp.
double ParameterSpace::getAngle | ( | int | index | ) |
Converts index in parameter space into angle value
index | Angle axis index |
Definition at line 316 of file parameter_space.cpp.
int ParameterSpace::getIndex | ( | double | angle1, |
double | angle2, | ||
double | z | ||
) |
Returns an index from given values
angle1 | First angle value |
angle2 | Second angle value |
z | Shift (d param) value |
Definition at line 134 of file parameter_space.cpp.
void ParameterSpace::getIndex | ( | double | angle1, |
double | angle2, | ||
double | z, | ||
int & | angle1Index, | ||
int & | angle2Index, | ||
int & | shiftIndex | ||
) |
Converts between values and coordinates
angle1 | First angle value |
angle2 | Second angle value |
z | Shift (d param) value |
angle1Index | First angle coordinate |
angle2Index | Second angle coordinate |
shiftIndex | (d param) coordinate |
Definition at line 151 of file parameter_space.cpp.
double ParameterSpace::getShift | ( | int | irndex | ) |
Converts index in parameter space into shift value
index | Shift axis index |
Definition at line 325 of file parameter_space.cpp.
int ParameterSpace::getSize | ( | ) |
Returns a size of this space structure in Bytes
Definition at line 344 of file parameter_space.cpp.
double & ParameterSpace::operator() | ( | int | angle1, |
int | angle2, | ||
int | z | ||
) |
Returns a value saved at given coordinates (indices)
angle1 | First angle coordinate |
angle2 | Second angle coordinate |
z | Shift (d param) coordinate |
Definition at line 116 of file parameter_space.cpp.
double & ParameterSpace::operator() | ( | double | angle1, |
double | angle2, | ||
double | z | ||
) |
Returns a value saved at given values
angle1 | First angle value |
angle2 | Second angle value |
z | Shift (d param) value |
Definition at line 336 of file parameter_space.cpp.
double & ParameterSpace::operator[] | ( | int | index | ) |
Returns a value saved at given index
index | Given index |
Definition at line 126 of file parameter_space.cpp.
void ParameterSpace::toAngles | ( | float | x, |
float | y, | ||
float | z, | ||
float & | a1, | ||
float & | a2 | ||
) | [static] |
Conversion from Euclidian representation of normal (x, y, z) to parametrized (a1, a2)
x | X vector coordinate |
y | Y vector coordinate |
z | Z vector coordinate |
a1 | First angle |
a2 | Second angle |
Definition at line 86 of file parameter_space.cpp.
void ParameterSpace::toEuklid | ( | float | a1, |
float | a2, | ||
float & | x, | ||
float & | y, | ||
float & | z | ||
) | [static] |
Conversion from parametrized representation of normal (a1, a2) to Euclidian (x, y, z)
x | X vector coordinate |
y | Y vector coordinate |
z | Z vector coordinate |
a1 | First angle |
a2 | Second angle |
Definition at line 102 of file parameter_space.cpp.
Maximal shift value
Definition at line 214 of file parameter_space.h.
Minimal angle value
Definition at line 209 of file parameter_space.h.
Size of angle axis
Definition at line 224 of file parameter_space.h.
Size of angle axis ^ 2
Definition at line 229 of file parameter_space.h.
Step of one angle coordinage
Definition at line 189 of file parameter_space.h.
Pointer to the Hough space structure
Definition at line 244 of file parameter_space.h.
Initialized flag
Definition at line 184 of file parameter_space.h.
Param space matrix
Definition at line 239 of file parameter_space.h.
Maximal shift value
Definition at line 204 of file parameter_space.h.
Minimal shift value
Definition at line 199 of file parameter_space.h.
Shift axis size
Definition at line 234 of file parameter_space.h.
Step of one shift coordinate
Definition at line 194 of file parameter_space.h.
Size of underlying structure
Definition at line 219 of file parameter_space.h.