92 lines
2.5 KiB
C
92 lines
2.5 KiB
C
|
#ifndef _ConfigFileHough_
|
||
|
#define _ConfigFileHough_
|
||
|
|
||
|
#define DEF_CfgFileName "bin/hough.cfg"
|
||
|
#define DEF_MaxDist 500
|
||
|
#define DEF_MinDist 50
|
||
|
#define DEF_AccumulatorMax 100
|
||
|
#define DEF_MinSizeAllPoints 20
|
||
|
#define DEF_RhoNum 500
|
||
|
#define DEF_ThetaNum 360
|
||
|
#define DEF_PhiNum 176
|
||
|
#define DEF_RhoMax 1500
|
||
|
#define DEF_MaxPointPlaneDist 1.5
|
||
|
#define DEF_MaxPlanes 20
|
||
|
#define DEF_MinPlaneSize 100
|
||
|
#define DEF_MinPlanarity 0.3
|
||
|
#define DEF_PlaneRatio 0.5
|
||
|
#define DEF_PointDist 5.0
|
||
|
#define DEF_PeakWindow false
|
||
|
#define DEF_WindowSize 8
|
||
|
#define DEF_TrashMax 20
|
||
|
|
||
|
#define DEF_AccumulatorType 3
|
||
|
#define DEF_PlaneDir "dat/planes/"
|
||
|
#define FNAME_LENGTH 100
|
||
|
|
||
|
struct maxcompare {
|
||
|
bool operator()(int* ip1, int* ip2) const {
|
||
|
return (ip1[0] >ip2[0]);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class ConfigFileHough {
|
||
|
|
||
|
public:
|
||
|
|
||
|
ConfigFileHough();
|
||
|
|
||
|
unsigned int LoadCfg(const char *CfgFile);
|
||
|
void ShowConfiguration();
|
||
|
|
||
|
inline char* Get_CfgFileName();
|
||
|
|
||
|
inline double Get_MaxDist();
|
||
|
inline double Get_MinDist();
|
||
|
inline unsigned int Get_AccumulatorMax();
|
||
|
inline unsigned int Get_MinSizeAllPoints();
|
||
|
inline unsigned int Get_RhoNum();
|
||
|
inline unsigned int Get_ThetaNum();
|
||
|
inline unsigned int Get_PhiNum();
|
||
|
inline unsigned int Get_RhoMax();
|
||
|
inline double Get_MaxPointPlaneDist();
|
||
|
inline unsigned int Get_MaxPlanes();
|
||
|
inline unsigned int Get_MinPlaneSize();
|
||
|
inline double Get_MinPlanarity();
|
||
|
inline double Get_PlaneRatio();
|
||
|
inline double Get_PointDist();
|
||
|
inline bool Get_PeakWindow();
|
||
|
inline unsigned int Get_WindowSize();
|
||
|
inline unsigned int Get_TrashMax();
|
||
|
|
||
|
inline unsigned int Get_AccumulatorType();
|
||
|
inline char* Get_PlaneDir();
|
||
|
|
||
|
//private: // Parameters are public to avoid having to create mutator functions
|
||
|
|
||
|
char CfgFileName[FNAME_LENGTH];
|
||
|
double MaxDist;
|
||
|
double MinDist;
|
||
|
unsigned int AccumulatorMax;
|
||
|
unsigned int MinSizeAllPoints;
|
||
|
unsigned int RhoNum;
|
||
|
unsigned int ThetaNum;
|
||
|
unsigned int PhiNum;
|
||
|
unsigned int RhoMax;
|
||
|
double MaxPointPlaneDist;
|
||
|
unsigned int MaxPlanes;
|
||
|
unsigned int MinPlaneSize;
|
||
|
double MinPlanarity;
|
||
|
double PlaneRatio;
|
||
|
double PointDist;
|
||
|
bool PeakWindow;
|
||
|
unsigned int WindowSize;
|
||
|
unsigned int TrashMax;
|
||
|
unsigned int AccumulatorType;
|
||
|
char PlaneDir[FNAME_LENGTH];
|
||
|
|
||
|
};
|
||
|
#include "ConfigFileHough.icc"
|
||
|
|
||
|
#endif
|