ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
AutoSegmentationTools.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <vector>
11 
12 // Local
13 #include "CVToolbox.h"
14 #include "CVTypes.h"
15 
16 namespace cloudViewer {
17 
20 class DgmOctree;
21 class ReferenceCloud;
22 
24 
28 using ReferenceCloudContainer = std::vector<ReferenceCloud*>;
29 
33 public:
35 
57  static int labelConnectedComponents(
59  unsigned char level,
60  bool sixConnexity = false,
61  cloudViewer::GenericProgressCallback* progressCb = nullptr,
62  cloudViewer::DgmOctree* inputOctree = nullptr);
63 
65 
73  static bool extractConnectedComponents(GenericIndexedCloudPersist* theCloud,
75 
78 
100  static bool frontPropagationBasedSegmentation(
101  GenericIndexedCloudPersist* theCloud,
102  ScalarType minSeedDist,
103  PointCoordinateType radius,
104  unsigned char octreeLevel,
105  ReferenceCloudContainer& theSegmentedLists,
106  cloudViewer::GenericProgressCallback* progressCb = nullptr,
107  cloudViewer::DgmOctree* inputOctree = nullptr,
108  bool applyGaussianFilter = false,
109  float alpha = 2.0f);
110 };
111 
112 } // namespace cloudViewer
#define CV_CORE_LIB_API
Definition: CVCoreLibWin.h:15
float PointCoordinateType
Type of the coordinates of a (N-D) point.
Definition: CVTypes.h:16
Empty class - for classification purpose only.
Definition: CVToolbox.h:15
The octree structure used throughout the library.
Definition: DgmOctree.h:39
A generic 3D point cloud with index-based and presistent access to points.
A very simple point cloud (no point duplication)
Generic file read and write utility for python interface.
std::vector< ReferenceCloud * > ReferenceCloudContainer
A standard container to store several subsets of points.
unsigned char octreeLevel