41 #include <boost/program_options.hpp> 461 o.printTransformation(os);
464 if(o.getIntersections() > 0)
466 cout <<
"##### Intersections \t\t: " << o.getIntersections() << endl;
470 cout <<
"##### Voxelsize \t\t: " << o.getVoxelsize() << endl;
472 cout <<
"##### Number of threads \t: " << o.getNumThreads() << endl;
473 cout <<
"##### Point cloud manager \t: " << o.getPCM() << endl;
476 cout <<
"##### Use RANSAC\t\t: YES" << endl;
480 cout <<
"##### Use RANSAC\t\t: NO" << endl;
483 cout <<
"##### Voxel decomposition: \t: " << o.getDecomposition() << endl;
484 cout <<
"##### Classifier:\t\t: " << o.getClassifier() << endl;
485 if(o.writeClassificationResult())
487 cout <<
"##### Dump classification\t: YES" << endl;
491 cout <<
"##### Dump classification\t: NO" << endl;
493 cout <<
"##### k_n \t\t\t: " << o.getKn() << endl;
494 cout <<
"##### k_i \t\t\t: " << o.getKi() << endl;
495 cout <<
"##### k_d \t\t\t: " << o.getKd() << endl;
496 if(o.getDecomposition() ==
"SF")
498 cout <<
"##### Sharp feature threshold \t: " << o.getSharpFeatureThreshold() << endl;
499 cout <<
"##### Sharp corner threshold \t: " << o.getSharpCornerThreshold() << endl;
503 cout <<
"##### Retesselate \t\t: YES" << endl;
504 cout <<
"##### Line fusion threshold \t: " << o.getLineFusionThreshold() << endl;
506 if(o.saveFaceNormals())
508 cout <<
"##### Write Face Normals \t: YES" << endl;
513 cout <<
"##### Fill holes \t\t: " << o.getFillHoles() << endl;
517 cout <<
"##### Fill holes \t\t: NO" << endl;
520 if(o.getDanglingArtifacts())
522 cout <<
"##### Remove DAs \t\t: " << o.getDanglingArtifacts() << endl;
526 cout <<
"##### Remove DAs \t\t: NO" << endl;
529 if(o.optimizePlanes())
531 cout <<
"##### Optimize Planes \t\t: YES" << endl;
532 cout <<
"##### Plane iterations\t\t: " << o.getPlaneIterations() << endl;
533 cout <<
"##### Normal threshold \t\t: " << o.getNormalThreshold() << endl;
534 cout <<
"##### Region threshold\t\t: " << o.getSmallRegionThreshold() << endl;
535 cout <<
"##### Region min size\t\t: " << o.getMinPlaneSize() << endl;
539 cout <<
"##### Save normals \t\t: YES" << endl;
541 if(o.saveOriginalData())
543 cout <<
"##### Save input data \t\t: YES" << endl;
546 if(o.recalcNormals())
548 cout <<
"##### Recalc normals \t\t: YES" << endl;
550 if(o.savePointNormals())
552 cout <<
"##### Save points normals \t: YES" << endl;
554 if(o.vertexColorsFromPointcloud())
556 cout <<
"##### Vertex colors: \t\t: YES" << endl;
558 if(o.generateTextures())
560 cout <<
"##### Generate Textures \t: YES" << endl;
561 cout <<
"##### Texel size \t\t: " << o.getTexelSize() << endl;
562 cout <<
"##### Texture Min#Cluster \t: " << o.getTexMinClusterSize() << endl;
563 cout <<
"##### Texture Max#Cluster \t: " << o.getTexMaxClusterSize() << endl;
565 if(o.doTextureAnalysis())
567 cout <<
"##### Texture Analysis \t: ON" << endl;
571 cout <<
"##### Texture Analysis \t\t: OFF" << endl;
574 if(o.getEdgeCollapseReductionRatio() > 0.0)
576 cout <<
"##### Edge collapse reduction ratio\t: " << o.getEdgeCollapseReductionRatio() << endl;
581 cout <<
"##### GPU normal estimation \t: ON" << endl;
582 std::vector<float> flipPoint = o.getFlippoint();
583 cout <<
"##### Flippoint \t\t: (" 584 << flipPoint[0] <<
", " 585 << flipPoint[1] <<
", " 586 << flipPoint[2] <<
")" << endl;
588 cout <<
"##### GPU normal estimation \t: OFF" << endl;
bool m_useCrossCorr
Whether to use texture matching based on cross correlation.
bool printUsage() const
Prints a usage message to stdout.
int m_numberOfDefaults
The number of used default values.
int getTexMaxClusterSize() const
float m_edgeCollapseReductionRatio
Reduction ratio for mesh reduction via edge collapse.
bool colorRegions() const
Returns true of region coloring is enabled.
int m_intersections
The number of intersections used for reconstruction.
string getClassifier() const
Returns the name of the classifier used to color the mesh.
int getPlaneIterations() const
Returns to number plane optimization iterations.
float getPatternThreshold() const
bool getUseCrossCorr() const
float m_featuresThreshold
Threshold for texture matching based on features.
bool saveFaceNormals() const
Returns true if the face normals of the reconstructed mesh should be saved to an extra file ("face_no...
float m_texelSize
Texel size.
bool saveGrid() const
Returns true if the Marching Cubes grid should be save.
int getDanglingArtifacts() const
Returns the number of dangling artifacts to remove from a created mesh.
bool recalcNormals() const
If true, normals should be calculated even if they are already given in the input file...
int getKd() const
Returns the number of neighbors used for distance function evaluation.
int m_texMinClusterSize
Minimum number of textures of a cluster needed for generating textures.
bool saveNormals() const
Returns true if the interpolated normals should be saved in the putput file.
int m_kn
The number of neighbors for normal estimation.
float getSharpFeatureThreshold() const
Returns the sharp feature threshold when using sharp feature decomposition.
bool filenameSet() const
Returns true if an output filen name was set.
int m_ki
The number of neighbors for normal interpolation.
int m_cleanContourIterations
float getColorThreshold() const
float m_sft
Sharp feature threshold when using sharp feature decomposition.
int m_numThreads
The number of uesed threads.
unsigned int getCoherenceThreshold() const
vector< string > getOutputFileNames() const
Returns the output file names.
bool retesselate() const
Return whether the mesh should be retesselated or not.
int getCleanContourIterations() const
Number of iterations for contour cleanup.
float m_colorThreshold
Threshold for texture matching based on colors.
float getTexelSize() const
Returns the texel size for texture resolution.
int m_planeIterations
Number of iterations for plane optimzation.
int getKn() const
Returns the number of neighbors used for initial normal estimation.
float m_voxelsize
The set voxelsize.
float m_sct
Sharp corner threshold when using sharp feature decomposition.
int getKi() const
Returns the number of neighbors for normal interpolation.
vector< float > getFlippoint() const
bool extrude() const
Whether to extend the grid. Enable by default.
unsigned int m_numCCVColors
Number of colors for texture matching based on color information.
string getProjectDir() const
ostream & operator<<(ostream &os, const Options &o)
Overlaoeded outpur operator.
unsigned int getNumStatsColors() const
bool vertexColorsFromPointcloud() const
int getNumThreads() const
Returns the number of used threads.
int getSmallRegionThreshold() const
Returns the threshold for the size of small region deletion after plane optimization.
float m_lineFusionThreshold
Threshold for line fusing when tesselating.
float getVoxelsize() const
Returns the given voxelsize.
string getDecomposition() const
Returns the name of the used point cloud handler.
unsigned int m_coherenceThreshold
Coherence threshold for texture matching based on color information.
float getSharpCornerThreshold() const
Returns the sharp corner threshold when using sharp feature decomposition.
bool m_retesselate
Whether or not the mesh should be retesselated while being finalized.
int getMinPlaneSize() const
Minimum value for plane optimzation.
int m_minPlaneSize
Threshold for plane optimization.
vector< float > m_flippoint
float getNormalThreshold() const
Returns the normal threshold for plane optimization.
string m_statsCoeffs
Coefficents file for texture matching based on statistics.
bool saveOriginalData() const
Returns true if the original points should be stored together with the reconstruction.
float getFeatureThreshold() const
int getFillHoles() const
Returns the region threshold for hole filling.
string getTexturePack() const
unsigned int m_numStatsColors
Number of colors for texture statistics.
string m_faceNormalFile
The putput file name for face normals.
string m_classifier
Name of the classifier object to color the mesh.
int getTexMinClusterSize() const
int m_smallRegionThreshold
Threshold for small ragions.
string getScanPoseFile() const
Returns the name of the given file with scan poses used for normal flipping.
string getInputFileName() const
Returns the input file name.
float getStatsThreshold() const
bool writeClassificationResult() const
True if region clustering without plane optimization is required.
float getEdgeCollapseReductionRatio() const
Reduction ratio for mesh reduction via edge collapse.
float m_patternThreshold
Threshold for pattern extraction from textures.
Options(int argc, char **argv)
Ctor. Parses the command parameters given to the main function of the program.
int getIntersections() const
Returns the number of intersections. If the return value is positive it will be used for reconstructi...
bool m_writeClassificationResult
Whether or not the classifier shall dump meta data to a file 'clusters.clu'.
bool generateTextures() const
If true, textures will be generated during finalization of mesh.
float m_planeNormalThreshold
Threshold for plane optimization.
bool doTextureAnalysis() const
True if texture analysis is enabled.
bool m_vertexColorsFromPointcloud
Use pointcloud colors to paint vertices.
bool savePointNormals() const
Indicates whether to save the used points together with the interpolated normals. ...
int getMinimumTransformationVotes() const
int m_minimumTransformationVotes
Minimum number of vote to consider a texture transformation as "correct".
bool texturesFromImages() const
bool useRansac() const
If true, RANSAC based normal estimation is used.
bool optimizePlanes() const
Returns true if cluster optimization is enabled.
int m_kd
The number of neighbors for distance function evaluation.
float * getStatsCoeffs() const
bool clusterPlanes() const
True if region clustering without plane optimization is required.
string m_pcm
The used point cloud manager.
float getLineFusionThreshold() const
Returns the fusion threshold for tesselation.
int m_rda
Number of dangling artifacts to remove.
bool m_generateTextures
Whether or not the mesh should be retesselated while being finalized.
int m_fillHoles
Threshold for hole filling.
string m_texturePack
Path to texture pack.
unsigned int getNumCCVColors() const
float m_statsThreshold
Threshold for texture matching based on statistics.
string getPCM() const
Returns the name of the used point cloud handler.
string getOutputFileName() const
Returns the output file name.