3D Forest
Software for analysis of Lidar data from forest environment.
SegmentationAction Class Reference

#include <SegmentationAction.hpp>

Inherits ProgressActionInterface.

Public Member Functions

 SegmentationAction (Editor *editor)
 
virtual ~SegmentationAction ()
 
void start (double voxelSize, double descriptor, double trunkRadius, double leafRadius, double elevationMin, double elevationMax, double treeHeight, bool useZ, bool onlyTrunks)
 
virtual void next ()
 
void clear ()
 
- Public Member Functions inherited from ProgressActionInterface
 ProgressActionInterface ()
 
virtual ~ProgressActionInterface ()=default
 
virtual void next ()=0
 
bool end () const
 
size_t progressMaximumSteps () const
 
size_t progressValueSteps () const
 
uint64_t progressMaximumStep () const
 
uint64_t progressValueStep () const
 
double progressPercent () const
 

Private Member Functions

void stepResetPoints ()
 
void stepCountPoints ()
 
void stepPointsToVoxels ()
 
void stepCreateVoxelIndex ()
 
void stepCreateTrees ()
 
void stepConnectVoxels ()
 
void stepCreateLayers ()
 
void stepVoxelsToPoints ()
 
void createVoxel ()
 
void findNearestNeighbor (Point &a)
 
bool isTrunkVoxel (const Point &a)
 
void startGroup (const Point &a)
 
void continueGroup (const Point &a)
 

Private Attributes

Editoreditor_
 
Query query_
 
Query queryPoint_
 
double voxelSize_
 
double descriptor_
 
double trunkRadius_
 
double leafRadius_
 
double elevationMin_
 
double elevationMax_
 
double treeHeight_
 
bool useZ_
 
bool onlyTrunks_
 
uint64_t nPointsTotal_
 
uint64_t nPointsInFilter_
 
Points voxels_
 
std::map< size_t, size_t > groups_
 
std::vector< size_t > path_
 
std::vector< size_t > group_
 
std::vector< size_t > search_
 
size_t pointIndex_
 
size_t groupId_
 
double groupMinimum_
 
double groupMaximum_
 

Additional Inherited Members

- Protected Attributes inherited from ProgressActionInterface
ProgressCounter progress_
 

Constructor & Destructor Documentation

◆ SegmentationAction()

SegmentationAction::SegmentationAction ( Editor editor)

◆ ~SegmentationAction()

SegmentationAction::~SegmentationAction ( )
virtual

Member Function Documentation

◆ clear()

void SegmentationAction::clear ( )

◆ continueGroup()

void SegmentationAction::continueGroup ( const Point a)
private

Referenced by stepCreateTrees().

◆ createVoxel()

void SegmentationAction::createVoxel ( )
private

Referenced by stepPointsToVoxels().

◆ findNearestNeighbor()

void SegmentationAction::findNearestNeighbor ( Point a)
private

Referenced by stepConnectVoxels().

◆ isTrunkVoxel()

bool SegmentationAction::isTrunkVoxel ( const Point a)
private

Referenced by stepCreateTrees().

◆ next()

void SegmentationAction::next ( )
virtual

◆ start()

void SegmentationAction::start ( double  voxelSize,
double  descriptor,
double  trunkRadius,
double  leafRadius,
double  elevationMin,
double  elevationMax,
double  treeHeight,
bool  useZ,
bool  onlyTrunks 
)

◆ startGroup()

void SegmentationAction::startGroup ( const Point a)
private

Referenced by stepCreateTrees().

◆ stepConnectVoxels()

void SegmentationAction::stepConnectVoxels ( )
private

Referenced by next().

◆ stepCountPoints()

void SegmentationAction::stepCountPoints ( )
private

Referenced by next().

◆ stepCreateLayers()

void SegmentationAction::stepCreateLayers ( )
private

Referenced by next().

◆ stepCreateTrees()

void SegmentationAction::stepCreateTrees ( )
private

Referenced by next().

◆ stepCreateVoxelIndex()

void SegmentationAction::stepCreateVoxelIndex ( )
private

Referenced by next().

◆ stepPointsToVoxels()

void SegmentationAction::stepPointsToVoxels ( )
private

Referenced by next().

◆ stepResetPoints()

void SegmentationAction::stepResetPoints ( )
private

Referenced by next().

◆ stepVoxelsToPoints()

void SegmentationAction::stepVoxelsToPoints ( )
private

Referenced by next().

Member Data Documentation

◆ descriptor_

double SegmentationAction::descriptor_
private

Referenced by clear(), isTrunkVoxel(), and start().

◆ editor_

Editor* SegmentationAction::editor_
private

◆ elevationMax_

double SegmentationAction::elevationMax_
private

Referenced by clear(), start(), and stepCreateTrees().

◆ elevationMin_

double SegmentationAction::elevationMin_
private

Referenced by clear(), start(), and stepPointsToVoxels().

◆ group_

std::vector<size_t> SegmentationAction::group_
private

Referenced by stepCreateTrees().

◆ groupId_

size_t SegmentationAction::groupId_
private

◆ groupMaximum_

double SegmentationAction::groupMaximum_
private

◆ groupMinimum_

double SegmentationAction::groupMinimum_
private

◆ groups_

std::map<size_t, size_t> SegmentationAction::groups_
private

◆ leafRadius_

double SegmentationAction::leafRadius_
private

Referenced by clear(), findNearestNeighbor(), and start().

◆ nPointsInFilter_

uint64_t SegmentationAction::nPointsInFilter_
private

◆ nPointsTotal_

uint64_t SegmentationAction::nPointsTotal_
private

Referenced by clear(), start(), and stepResetPoints().

◆ onlyTrunks_

bool SegmentationAction::onlyTrunks_
private

Referenced by clear(), start(), and stepCreateTrees().

◆ path_

std::vector<size_t> SegmentationAction::path_
private

◆ pointIndex_

size_t SegmentationAction::pointIndex_
private

◆ query_

Query SegmentationAction::query_
private

◆ queryPoint_

Query SegmentationAction::queryPoint_
private

Referenced by clear(), and createVoxel().

◆ search_

std::vector<size_t> SegmentationAction::search_
private

◆ treeHeight_

double SegmentationAction::treeHeight_
private

Referenced by clear(), start(), and stepCreateTrees().

◆ trunkRadius_

double SegmentationAction::trunkRadius_
private

Referenced by clear(), start(), and stepCreateTrees().

◆ useZ_

bool SegmentationAction::useZ_
private

◆ voxels_

◆ voxelSize_

double SegmentationAction::voxelSize_
private

Referenced by clear(), createVoxel(), and start().


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