DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
ParallelIIEstimator.h
1
16
28
29
#include <DGtal/kernel/domains/DomainSplitter.h>
30
#include <DGtal/topology/helpers/Surfaces.h>
31
32
#ifndef DGTAL_WITH_OPENMP
33
#error You need to have activated OpenMP (DGTAL_WITH_OPENMP) to include this file.
34
#endif
35
36
// We require openmp for this estimator, even though it could run without
37
#include <omp.h>
38
39
namespace
DGtal
40
{
52
template
<
class
TEstimator,
typename
TSplitter>
53
class
ParallelIIEstimator
54
{
55
public
:
56
using
Estimator
= TEstimator;
57
using
Splitter
= TSplitter;
58
using
Domain
=
typename
TEstimator::Domain;
59
using
Scalar
=
typename
TEstimator::Scalar;
60
61
using
KSpace
=
typename
TEstimator::KSpace;
62
using
PointPredicate
=
typename
TEstimator::PointPredicate;
63
using
Surfel
=
typename
KSpace::Surfel
;
64
using
SurfelSet
=
typename
KSpace::SurfelSet
;
65
using
EstimatorQuantity
=
typename
TEstimator::Quantity;
66
using
Quantity
=
EstimatorQuantity
;
67
68
// Building the surface
69
using
Boundary
=
LightImplicitDigitalSurface<KSpace, PointPredicate>
;
70
using
Surface
=
DigitalSurface<Boundary>
;
71
using
Visitor
=
DepthFirstVisitor<Surface>
;
72
using
VisitorRange
=
GraphVisitorRange<Visitor>
;
73
74
84
template
<
typename
... Args>
85
ParallelIIEstimator
(
Splitter
splitter
,
int32_t
nbThread, Args&&... args);
86
90
void
clear
();
91
93
Scalar
h
()
const
;
94
102
void
attach
(
ConstAlias<KSpace>
K
,
103
ConstAlias<PointPredicate>
aPointPredicate);
104
110
void
setParams
(
double
dRadius);
111
112
117
bool
isValid
()
const
;
118
127
template
<
typename
ItA,
typename
ItB>
128
void
init
(
double
h_, ItA ite, ItB itb);
129
144
template
<
typename
It>
145
Quantity
eval
(It it);
146
167
template
<
typename
It,
typename
Oit>
168
Oit
eval
(It itb, It ite, Oit result);
169
174
void
selfDisplay
( std::ostream & out )
const
;
175
176
private
:
177
std::vector<Estimator>
myEstimators
;
178
Splitter
mySplitter
;
179
180
CountedConstPtrOrConstPtr<PointPredicate>
myPointPredicate
;
181
CountedConstPtrOrConstPtr<KSpace>
myKSpace
;
182
183
double
myH
;
184
double
myRadius
;
185
};
186
}
187
188
#include "ParallelIIEstimator.ih"
DGtal::ConstAlias
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Definition
ConstAlias.h:187
DGtal::CountedConstPtrOrConstPtr
Aim: Smart or simple const pointer on T. It can be a smart pointer based on reference counts or a sim...
Definition
CountedConstPtrOrConstPtr.h:95
DGtal::DepthFirstVisitor
Aim: This class is useful to perform a depth-first exploration of a graph given a starting point or s...
Definition
DepthFirstVisitor.h:96
DGtal::DigitalSurface
Aim: Represents a set of n-1-cells in a nD space, together with adjacency relation between these cell...
Definition
DigitalSurface.h:140
DGtal::GraphVisitorRange
Aim: Transforms a graph visitor into a single pass input range.
Definition
GraphVisitorRange.h:72
DGtal::KhalimskySpaceND< 3, Integer >::SurfelSet
std::set< SCell > SurfelSet
Definition
KhalimskySpaceND.h:450
DGtal::KhalimskySpaceND< 3, Integer >::Surfel
SCell Surfel
Definition
KhalimskySpaceND.h:420
DGtal::LightImplicitDigitalSurface
Aim: A model of CDigitalSurfaceContainer which defines the digital surface as the boundary of an impl...
Definition
LightImplicitDigitalSurface.h:116
DGtal::ParallelIIEstimator::EstimatorQuantity
typename TEstimator::Quantity EstimatorQuantity
Definition
ParallelIIEstimator.h:65
DGtal::ParallelIIEstimator::myKSpace
CountedConstPtrOrConstPtr< KSpace > myKSpace
Definition
ParallelIIEstimator.h:181
DGtal::ParallelIIEstimator::myH
double myH
Definition
ParallelIIEstimator.h:183
DGtal::ParallelIIEstimator::h
Scalar h() const
DGtal::ParallelIIEstimator::attach
void attach(ConstAlias< KSpace > K, ConstAlias< PointPredicate > aPointPredicate)
DGtal::ParallelIIEstimator::setParams
void setParams(double dRadius)
DGtal::ParallelIIEstimator::SurfelSet
typename KSpace::SurfelSet SurfelSet
Definition
ParallelIIEstimator.h:64
DGtal::ParallelIIEstimator::myPointPredicate
CountedConstPtrOrConstPtr< PointPredicate > myPointPredicate
Definition
ParallelIIEstimator.h:180
DGtal::ParallelIIEstimator::Quantity
EstimatorQuantity Quantity
Definition
ParallelIIEstimator.h:66
DGtal::ParallelIIEstimator::clear
void clear()
DGtal::ParallelIIEstimator::Scalar
typename TEstimator::Scalar Scalar
Definition
ParallelIIEstimator.h:59
DGtal::ParallelIIEstimator::ParallelIIEstimator
ParallelIIEstimator(Splitter splitter, int32_t nbThread, Args &&... args)
Constructor.
DGtal::ParallelIIEstimator::Boundary
LightImplicitDigitalSurface< KSpace, PointPredicate > Boundary
Definition
ParallelIIEstimator.h:69
DGtal::ParallelIIEstimator::Surface
DigitalSurface< Boundary > Surface
Definition
ParallelIIEstimator.h:70
DGtal::ParallelIIEstimator::mySplitter
Splitter mySplitter
Definition
ParallelIIEstimator.h:178
DGtal::ParallelIIEstimator::eval
Quantity eval(It it)
DGtal::ParallelIIEstimator::Surfel
typename KSpace::Surfel Surfel
Definition
ParallelIIEstimator.h:63
DGtal::ParallelIIEstimator::isValid
bool isValid() const
DGtal::ParallelIIEstimator::KSpace
typename TEstimator::KSpace KSpace
Definition
ParallelIIEstimator.h:61
DGtal::ParallelIIEstimator::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::ParallelIIEstimator::init
void init(double h_, ItA ite, ItB itb)
DGtal::ParallelIIEstimator::myEstimators
std::vector< Estimator > myEstimators
Definition
ParallelIIEstimator.h:177
DGtal::ParallelIIEstimator::Visitor
DepthFirstVisitor< Surface > Visitor
Definition
ParallelIIEstimator.h:71
DGtal::ParallelIIEstimator::Domain
typename TEstimator::Domain Domain
Definition
ParallelIIEstimator.h:58
DGtal::ParallelIIEstimator::Splitter
TSplitter Splitter
Definition
ParallelIIEstimator.h:57
DGtal::ParallelIIEstimator::myRadius
double myRadius
Definition
ParallelIIEstimator.h:184
DGtal::ParallelIIEstimator::eval
Oit eval(It itb, It ite, Oit result)
DGtal::ParallelIIEstimator::PointPredicate
typename TEstimator::PointPredicate PointPredicate
Definition
ParallelIIEstimator.h:62
DGtal::ParallelIIEstimator::VisitorRange
GraphVisitorRange< Visitor > VisitorRange
Definition
ParallelIIEstimator.h:72
DGtal::ParallelIIEstimator::Estimator
TEstimator Estimator
Definition
ParallelIIEstimator.h:56
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::int32_t
std::int32_t int32_t
signed 32-bit integer.
Definition
BasicTypes.h:71
K
KSpace K
Definition
testCubicalComplex.cpp:62
splitter
AxisDomainSplitter< Domain > splitter
Definition
testDomainSplitter.cpp:108
src
DGtal
geometry
surfaces
estimation
ParallelIIEstimator.h
Generated on
for DGtal by
1.18.0