Public Member Functions | Private Member Functions | Private Attributes | List of all members
lvr2::LargeScaleReconstruction< BaseVecT > Class Template Reference

#include <LargeScaleReconstruction.hpp>

Public Member Functions

HalfEdgeMesh< BaseVecT > getPartialReconstruct (BoundingBox< BaseVecT > newChunksBB, std::shared_ptr< ChunkHashGrid > chunkHashGrid, float voxelSize)
 
 LargeScaleReconstruction ()
 
 LargeScaleReconstruction (vector< float > voxelSizes, float bgVoxelSize, float scale, uint nodeSize, int partMethod, int ki, int kd, int kn, bool useRansac, std::vector< float > flipPoint, bool extrude, int removeDanglingArtifacts, int cleanContours, int fillHoles, bool optimizePlanes, float getNormalThreshold, int planeIterations, int minPlaneSize, int smallRegionThreshold, bool retesselate, float lineFusionThreshold, bool bigMesh, bool debugChunks, bool useGPU)
 
 LargeScaleReconstruction (LSROptions options)
 
int mpiAndReconstruct (ScanProjectEditMarkPtr project)
 
int mpiChunkAndReconstruct (ScanProjectEditMarkPtr project, BoundingBox< BaseVecT > &newChunksBB, std::shared_ptr< ChunkHashGrid > chunkManager)
 

Private Member Functions

void addTSDFChunkManager (int x, int y, int z, shared_ptr< lvr2::PointsetGrid< BaseVector< float >, lvr2::FastBox< BaseVector< float >>>> ps_grid, shared_ptr< ChunkHashGrid > cm, std::string layerName)
 

Private Attributes

float m_bgVoxelSize
 
bool m_bigMesh = true
 
float m_chunkSize
 
int m_cleanContours
 
bool m_debugChunks = false
 
bool m_extrude
 
string m_filePath
 
int m_fillHoles
 
std::vector< float > m_flipPoint
 
int m_kd
 
int m_ki
 
int m_kn
 
float m_lineFusionThreshold
 
int m_minPlaneSize
 
uint m_nodeSize
 
bool m_optimizePlanes
 
int m_partMethod
 
int m_planeIterations
 
float m_planeNormalThreshold
 
int m_removeDanglingArtifacts
 
bool m_retesselate
 
float m_scale
 
int m_smallRegionThreshold
 
bool m_useGPU = false
 
bool m_useRansac
 
vector< float > m_voxelSizes
 

Detailed Description

template<typename BaseVecT>
class lvr2::LargeScaleReconstruction< BaseVecT >

Definition at line 134 of file LargeScaleReconstruction.hpp.

Constructor & Destructor Documentation

◆ LargeScaleReconstruction() [1/3]

template<typename BaseVecT >
lvr2::LargeScaleReconstruction< BaseVecT >::LargeScaleReconstruction ( )

Constructor - uses default parameter for reconstruction

◆ LargeScaleReconstruction() [2/3]

template<typename BaseVecT >
lvr2::LargeScaleReconstruction< BaseVecT >::LargeScaleReconstruction ( vector< float >  voxelSizes,
float  bgVoxelSize,
float  scale,
uint  nodeSize,
int  partMethod,
int  ki,
int  kd,
int  kn,
bool  useRansac,
std::vector< float >  flipPoint,
bool  extrude,
int  removeDanglingArtifacts,
int  cleanContours,
int  fillHoles,
bool  optimizePlanes,
float  getNormalThreshold,
int  planeIterations,
int  minPlaneSize,
int  smallRegionThreshold,
bool  retesselate,
float  lineFusionThreshold,
bool  bigMesh,
bool  debugChunks,
bool  useGPU 
)

Constructor with parameters

◆ LargeScaleReconstruction() [3/3]

template<typename BaseVecT >
lvr2::LargeScaleReconstruction< BaseVecT >::LargeScaleReconstruction ( LSROptions  options)

Constructor with parameters in a struct

Member Function Documentation

◆ addTSDFChunkManager()

template<typename BaseVecT >
void lvr2::LargeScaleReconstruction< BaseVecT >::addTSDFChunkManager ( int  x,
int  y,
int  z,
shared_ptr< lvr2::PointsetGrid< BaseVector< float >, lvr2::FastBox< BaseVector< float >>>>  ps_grid,
shared_ptr< ChunkHashGrid cm,
std::string  layerName 
)
private

This method adds the tsdf-values of one chunk to the ChunkManager-Layer

x, y, z grid-coordinates for the chunk

Parameters
ps_gridHashGrid which contains the tsdf-values for the voxel
cmChunkManager instance which manages the chunks
layerNamethe name of the chunkManager-layer

◆ getPartialReconstruct()

template<typename BaseVecT >
HalfEdgeMesh<BaseVecT> lvr2::LargeScaleReconstruction< BaseVecT >::getPartialReconstruct ( BoundingBox< BaseVecT >  newChunksBB,
std::shared_ptr< ChunkHashGrid chunkHashGrid,
float  voxelSize 
)

reconstruct a given area (+ neighboring chunks from a chunkmanager) with a given voxelsize

Parameters
newChunksBBarea to be reconstructed
chunkHashGridchunkmanager to manage chunks
voxelSizereconstruction parameter
Returns
reconstructed HalfEdgeMesh<BaseVecT>

◆ mpiAndReconstruct()

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::mpiAndReconstruct ( ScanProjectEditMarkPtr  project)

this methods splits the given PointClouds via kd-Tree and calculates all required values for a later reconstruction

Parameters
projectScanProject containing Scans
Returns

◆ mpiChunkAndReconstruct()

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::mpiChunkAndReconstruct ( ScanProjectEditMarkPtr  project,
BoundingBox< BaseVecT > &  newChunksBB,
std::shared_ptr< ChunkHashGrid chunkManager 
)

this method splits the given PointClouds in to Chunks and calculates all required values for a later reconstruction

Parameters
projectScanProject containing Scans
newChunksBBsets the Bounding Box of the reconstructed area
chunkManagera chunkManager to handle chunks
Template Parameters
BaseVecT
Returns

Member Data Documentation

◆ m_bgVoxelSize

template<typename BaseVecT >
float lvr2::LargeScaleReconstruction< BaseVecT >::m_bgVoxelSize
private

Definition at line 224 of file LargeScaleReconstruction.hpp.

◆ m_bigMesh

template<typename BaseVecT >
bool lvr2::LargeScaleReconstruction< BaseVecT >::m_bigMesh = true
private

Definition at line 209 of file LargeScaleReconstruction.hpp.

◆ m_chunkSize

template<typename BaseVecT >
float lvr2::LargeScaleReconstruction< BaseVecT >::m_chunkSize
private

Definition at line 230 of file LargeScaleReconstruction.hpp.

◆ m_cleanContours

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_cleanContours
private

Definition at line 265 of file LargeScaleReconstruction.hpp.

◆ m_debugChunks

template<typename BaseVecT >
bool lvr2::LargeScaleReconstruction< BaseVecT >::m_debugChunks = false
private

Definition at line 212 of file LargeScaleReconstruction.hpp.

◆ m_extrude

template<typename BaseVecT >
bool lvr2::LargeScaleReconstruction< BaseVecT >::m_extrude
private

Definition at line 255 of file LargeScaleReconstruction.hpp.

◆ m_filePath

template<typename BaseVecT >
string lvr2::LargeScaleReconstruction< BaseVecT >::m_filePath
private

Definition at line 218 of file LargeScaleReconstruction.hpp.

◆ m_fillHoles

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_fillHoles
private

Definition at line 268 of file LargeScaleReconstruction.hpp.

◆ m_flipPoint

template<typename BaseVecT >
std::vector<float> lvr2::LargeScaleReconstruction< BaseVecT >::m_flipPoint
private

Definition at line 248 of file LargeScaleReconstruction.hpp.

◆ m_kd

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_kd
private

Definition at line 242 of file LargeScaleReconstruction.hpp.

◆ m_ki

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_ki
private

Definition at line 239 of file LargeScaleReconstruction.hpp.

◆ m_kn

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_kn
private

Definition at line 245 of file LargeScaleReconstruction.hpp.

◆ m_lineFusionThreshold

template<typename BaseVecT >
float lvr2::LargeScaleReconstruction< BaseVecT >::m_lineFusionThreshold
private

Definition at line 289 of file LargeScaleReconstruction.hpp.

◆ m_minPlaneSize

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_minPlaneSize
private

Definition at line 280 of file LargeScaleReconstruction.hpp.

◆ m_nodeSize

template<typename BaseVecT >
uint lvr2::LargeScaleReconstruction< BaseVecT >::m_nodeSize
private

Definition at line 233 of file LargeScaleReconstruction.hpp.

◆ m_optimizePlanes

template<typename BaseVecT >
bool lvr2::LargeScaleReconstruction< BaseVecT >::m_optimizePlanes
private

Definition at line 271 of file LargeScaleReconstruction.hpp.

◆ m_partMethod

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_partMethod
private

Definition at line 236 of file LargeScaleReconstruction.hpp.

◆ m_planeIterations

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_planeIterations
private

Definition at line 277 of file LargeScaleReconstruction.hpp.

◆ m_planeNormalThreshold

template<typename BaseVecT >
float lvr2::LargeScaleReconstruction< BaseVecT >::m_planeNormalThreshold
private

Definition at line 274 of file LargeScaleReconstruction.hpp.

◆ m_removeDanglingArtifacts

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_removeDanglingArtifacts
private

Definition at line 262 of file LargeScaleReconstruction.hpp.

◆ m_retesselate

template<typename BaseVecT >
bool lvr2::LargeScaleReconstruction< BaseVecT >::m_retesselate
private

Definition at line 286 of file LargeScaleReconstruction.hpp.

◆ m_scale

template<typename BaseVecT >
float lvr2::LargeScaleReconstruction< BaseVecT >::m_scale
private

Definition at line 227 of file LargeScaleReconstruction.hpp.

◆ m_smallRegionThreshold

template<typename BaseVecT >
int lvr2::LargeScaleReconstruction< BaseVecT >::m_smallRegionThreshold
private

Definition at line 283 of file LargeScaleReconstruction.hpp.

◆ m_useGPU

template<typename BaseVecT >
bool lvr2::LargeScaleReconstruction< BaseVecT >::m_useGPU = false
private

Definition at line 215 of file LargeScaleReconstruction.hpp.

◆ m_useRansac

template<typename BaseVecT >
bool lvr2::LargeScaleReconstruction< BaseVecT >::m_useRansac
private

Definition at line 251 of file LargeScaleReconstruction.hpp.

◆ m_voxelSizes

template<typename BaseVecT >
vector<float> lvr2::LargeScaleReconstruction< BaseVecT >::m_voxelSizes
private

Definition at line 221 of file LargeScaleReconstruction.hpp.


The documentation for this class was generated from the following file:


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Mon Feb 28 2022 22:46:12