28 #include <lvr/config/lvropenmp.hpp> 38 (
"help",
"Produce help message")
39 (
"device,i", value(&
m_device)->default_value(
"0"),
"set RGB-D device or either a path to an oni file")
40 (
"output,s", value(&
m_mesh_name)->default_value(
"mesh_output"),
"filename to save reconstructed mesh (.ply or .obj will be added (obj with textures))")
41 (
"textures,t",
"live texturizing the mesh")
42 (
"shiftingDistance", value<float>(&
m_shifting_distance)->default_value(0.4),
" distance in meters of how far the volume is shifted")
43 (
"cameraOffset", value<float>(&
m_cam_offset)->default_value(0.7),
"offset of the camera from the volume center in z dimension")
44 (
"no_reconstruct,r",
"set for no reconstruction, just recording")
45 (
"optimizePlanes,o",
"set for live mesh optimization")
46 (
"no_vizualisation,v",
"set for no live vizualisation, because it reduces gpu performance on really large scale reconstructions")
47 (
"clusterPlanes,c",
"Cluster planar regions based on normal threshold, do not shift vertices into regression plane.")
48 (
"cleanContours", value<int>(&
m_cleanContourIterations)->default_value(0),
"Remove noise artifacts from contours. Same values are between 2 and 4")
49 (
"planeIterations", value<int>(&
m_planeIterations)->default_value(7),
"Number of iterations for plane optimization")
50 (
"fillHoles,f", value<int>(&
m_fillHoles)->default_value(30),
"Maximum size for hole filling")
51 (
"rda", value<int>(&
m_rda)->default_value(0),
"Remove dangling artifacts, i.e. remove the n smallest not connected surfaces")
52 (
"pnt", value<float>(&
m_planeNormalThreshold)->default_value(0.98),
"(Plane Normal Threshold) Normal threshold for plane optimization. Default 0.85 equals about 3 degrees.")
53 (
"smallRegionThreshold", value<int>(&
m_smallRegionThreshold)->default_value(0),
"Threshold for small region removal. If 0 nothing will be deleted.")
54 (
"mp", value<int>(&
m_minPlaneSize)->default_value(7),
"Minimum value for plane optimzation")
55 (
"lft", value<float>(&
m_lineFusionThreshold)->default_value(0.008),
"(Line Fusion Threshold) Threshold for fusing line segments while tesselating.")
56 (
"classifier", value<string>(&
m_classifier)->default_value(
"PlaneSimpsons"),
"Classfier object used to color the mesh.")
57 (
"depth", value<int>(&
m_depth)->default_value(100),
"Maximum recursion depth for region growing.")
58 (
"verbose",
"set for verbose output.")
59 (
"threads", value<int>(&
m_numThreads)->default_value( lvr::OpenMPConfig::getNumThreads() ),
"Number of threads")
69 ::std::cout<<
m_descr << ::std::endl;
107 return (
m_variables[
"shiftingDistance"].as<float> ());
183 return m_variables[
"smallRegionThreshold"].as<
int>();
int m_smallRegionThreshold
Threshold for small ragions.
options_description m_descr
The internally used option description.
int m_minPlaneSize
Threshold for plane optimization.
bool colorRegions() const
Returns true of region coloring is enabled.
const kaboom::Options * options
int getDepth() const
Returns the maximum recursion depth for region growing.
float getCameraOffset() const
string getInputDevice() const
Returns the output file name.
int m_rda
Number of dangling artifacts to remove.
float m_shifting_distance
bool noVizualisation() const
int getCleanContourIterations() const
Number of iterations for contour cleanup.
float m_lineFusionThreshold
Threshold for line fusing when tesselating.
int getMinPlaneSize() const
Minimum value for plane optimzation.
int m_depth
Maximum recursion depth for region growing.
bool clusterPlanes() const
True if region clustering without plane optimization is required.
Options(int argc, char **argv)
Ctor. Parses the command parameters given to the main function of the program.
int m_numThreads
The number of uesed threads.
int m_cleanContourIterations
int getSmallRegionThreshold() const
Returns the threshold for the size of small region deletion after plane optimization.
bool noReconstruction() const
int getFillHoles() const
Returns the region threshold for hole filling.
int m_fillHoles
Threshold for hole filling.
variables_map m_variables
The internally used variable map.
string m_classifier
Name of the classifier object to color the mesh.
int getPlaneIterations() const
Returns to number plane optimization iterations.
bool printUsage() const
Prints a usage message to stdout.
int getDanglingArtifacts() const
Returns the number of dangling artifacts to remove from a created mesh.
int m_planeIterations
Number of iterations for plane optimzation.
float getNormalThreshold() const
Returns the normal threshold for plane optimization.
int getNumThreads() const
Returns the number of used threads.
string getClassifier() const
Returns the name of the classifier used to color the mesh.
bool optimizePlanes() const
Returns true if cluster optimization is enabled.
float m_planeNormalThreshold
Threshold for plane optimization.
positional_options_description m_pdescr
The internally used positional option desription.
float getShiftingDistance() const
float getLineFusionThreshold() const
Returns the fusion threshold for tesselation.