DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
TrueDigitalSurfaceLocalEstimator.h
1
16
17
#pragma once
18
30
31
#if defined(TrueDigitalSurfaceLocalEstimator_RECURSES)
32
#error Recursive header files inclusion detected in TrueDigitalSurfaceLocalEstimator.h
33
#else
// defined(TrueDigitalSurfaceLocalEstimator_RECURSES)
35
#define TrueDigitalSurfaceLocalEstimator_RECURSES
36
37
#if !defined TrueDigitalSurfaceLocalEstimator_h
39
#define TrueDigitalSurfaceLocalEstimator_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/base/ConstAlias.h"
46
#include "DGtal/base/CountedConstPtrOrConstPtr.h"
47
#include "DGtal/topology/CanonicSCellEmbedder.h"
49
50
namespace
DGtal
51
{
52
54
// template class TrueDigitalSurfaceLocalEstimator
96
template
<
typename
TKSpace,
typename
TShape,
typename
TGeometricFunctor>
97
class
TrueDigitalSurfaceLocalEstimator
98
{
99
BOOST_CONCEPT_ASSERT
((
concepts::CCellularGridSpaceND< TKSpace >
));
100
101
public
:
102
typedef
TrueDigitalSurfaceLocalEstimator<TKSpace,TShape,TGeometricFunctor>
Self
;
103
typedef
TKSpace
KSpace
;
104
typedef
TShape
Shape
;
105
typedef
TGeometricFunctor
GeometricFunctor
;
106
typedef
typename
KSpace::Space
Space
;
107
typedef
typename
KSpace::SCell
SCell
;
108
typedef
typename
KSpace::Surfel
Surfel
;
109
typedef
typename
Space::RealPoint
RealPoint
;
110
typedef
typename
RealPoint::Coordinate
Scalar
;
111
typedef
typename
GeometricFunctor::Quantity
Quantity
;
112
typedef
CanonicSCellEmbedder<KSpace>
SCellEmbedder
;
113
BOOST_CONCEPT_ASSERT
((
concepts::CUnaryFunctor< GeometricFunctor, RealPoint, Quantity >
));
114
115
// ----------------------- Standard services ------------------------------
116
public
:
117
121
~TrueDigitalSurfaceLocalEstimator
();
122
126
TrueDigitalSurfaceLocalEstimator
();
127
132
TrueDigitalSurfaceLocalEstimator
(
const
Self
& other );
133
139
Self
&
operator=
(
const
Self
& other );
140
142
Scalar
h
()
const
;
143
150
void
attach
(
ConstAlias<Shape>
aShape );
151
167
void
setParams
(
ConstAlias<KSpace>
ks,
168
Clone<GeometricFunctor>
fct,
169
const
int
maxIter = 20,
170
const
Scalar
accuracy = 0.0001,
171
const
Scalar
gamma = 0.5 );
172
181
template
<
typename
SurfelConstIterator>
182
void
init
(
const
Scalar
_h,
183
SurfelConstIterator itb,
184
SurfelConstIterator ite );
185
190
template
<
typename
SurfelConstIterator>
191
Quantity
eval
( SurfelConstIterator it )
const
;
192
200
template
<
typename
OutputIterator,
typename
SurfelConstIterator>
201
OutputIterator
eval
( SurfelConstIterator itb,
202
SurfelConstIterator ite,
203
OutputIterator result )
const
;
204
209
RealPoint
embed
(
Surfel
surfel )
const
;
210
211
// ----------------------- Interface --------------------------------------
212
public
:
213
218
void
selfDisplay
( std::ostream & out )
const
;
219
224
bool
isValid
()
const
;
225
226
// ------------------------- Protected Data ------------------------------
227
protected
:
229
CountedConstPtrOrConstPtr<KSpace>
myKSpace
;
231
CowPtr<GeometricFunctor>
myFct
;
233
SCellEmbedder
myEmbedder
;
235
CountedConstPtrOrConstPtr<Shape>
myShape
;
237
Scalar
myH
;
239
bool
myNearest
;
240
242
int
myMaxIter
;
244
Scalar
myAccuracy
;
246
Scalar
myGamma
;
247
248
// ------------------------- Private Data --------------------------------
249
private
:
250
251
// ------------------------- Hidden services ------------------------------
252
protected
:
253
254
private
:
255
256
257
// ------------------------- Internals ------------------------------------
258
private
:
259
260
};
// end of class TrueDigitalSurfaceLocalEstimator
261
262
269
template
<
typename
TKSpace,
typename
TShape,
typename
TGeometricFunctor>
270
std::ostream&
271
operator<<
( std::ostream & out,
const
TrueDigitalSurfaceLocalEstimator<TKSpace, TShape, TGeometricFunctor>
&
object
);
272
273
}
// namespace DGtal
274
275
277
// Includes inline functions.
278
#include "DGtal/geometry/surfaces/estimation/TrueDigitalSurfaceLocalEstimator.ih"
279
280
// //
282
283
#endif
// !defined TrueDigitalSurfaceLocalEstimator_h
284
285
#undef TrueDigitalSurfaceLocalEstimator_RECURSES
286
#endif
// else defined(TrueDigitalSurfaceLocalEstimator_RECURSES)
DGtal::Clone
Aim: This class encapsulates its parameter class to indicate that the given parameter is required to ...
Definition
Clone.h:266
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::CowPtr
Aim: Copy on write shared pointer.
Definition
CowPtr.h:68
DGtal::KhalimskySpaceND< 3, Integer >::SCell
SignedKhalimskyCell< dim, Integer > SCell
Definition
KhalimskySpaceND.h:417
DGtal::KhalimskySpaceND< 3, Integer >::Space
SpaceND< dim, Integer > Space
Definition
KhalimskySpaceND.h:410
DGtal::KhalimskySpaceND< 3, Integer >::Surfel
SCell Surfel
Definition
KhalimskySpaceND.h:420
DGtal::PointVector< dim, double >::Coordinate
Component Coordinate
Definition
PointVector.h:617
DGtal::SpaceND< dim, Integer >::RealPoint
PointVector< dim, double > RealPoint
Definition
SpaceND.h:117
DGtal::TrueDigitalSurfaceLocalEstimator
Aim: An estimator on digital surfaces that returns the reference local geometric quantity....
Definition
TrueDigitalSurfaceLocalEstimator.h:98
DGtal::TrueDigitalSurfaceLocalEstimator::init
void init(const Scalar _h, SurfelConstIterator itb, SurfelConstIterator ite)
DGtal::TrueDigitalSurfaceLocalEstimator::h
Scalar h() const
DGtal::TrueDigitalSurfaceLocalEstimator::eval
Quantity eval(SurfelConstIterator it) const
DGtal::TrueDigitalSurfaceLocalEstimator::embed
RealPoint embed(Surfel surfel) const
DGtal::TrueDigitalSurfaceLocalEstimator::TrueDigitalSurfaceLocalEstimator
TrueDigitalSurfaceLocalEstimator(const Self &other)
DGtal::TrueDigitalSurfaceLocalEstimator::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CCellularGridSpaceND< TKSpace >))
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myShape
CountedConstPtrOrConstPtr< Shape > myShape
Definition
TrueDigitalSurfaceLocalEstimator.h:235
DGtal::TrueDigitalSurfaceLocalEstimator::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::TrueDigitalSurfaceLocalEstimator::GeometricFunctor
TGeometricFunctor GeometricFunctor
Definition
TrueDigitalSurfaceLocalEstimator.h:105
DGtal::TrueDigitalSurfaceLocalEstimator::RealPoint
Space::RealPoint RealPoint
Definition
TrueDigitalSurfaceLocalEstimator.h:109
DGtal::TrueDigitalSurfaceLocalEstimator::Quantity
GeometricFunctor::Quantity Quantity
Definition
TrueDigitalSurfaceLocalEstimator.h:111
DGtal::TrueDigitalSurfaceLocalEstimator::Surfel
KSpace::Surfel Surfel
Definition
TrueDigitalSurfaceLocalEstimator.h:108
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myNearest
bool myNearest
Definition
TrueDigitalSurfaceLocalEstimator.h:239
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myH
Scalar myH
Definition
TrueDigitalSurfaceLocalEstimator.h:237
DGtal::TrueDigitalSurfaceLocalEstimator::Scalar
RealPoint::Coordinate Scalar
Definition
TrueDigitalSurfaceLocalEstimator.h:110
DGtal::TrueDigitalSurfaceLocalEstimator::KSpace
TKSpace KSpace
Definition
TrueDigitalSurfaceLocalEstimator.h:103
DGtal::TrueDigitalSurfaceLocalEstimator::Shape
TShape Shape
Definition
TrueDigitalSurfaceLocalEstimator.h:104
DGtal::TrueDigitalSurfaceLocalEstimator::Self
TrueDigitalSurfaceLocalEstimator< TKSpace, TShape, TGeometricFunctor > Self
Definition
TrueDigitalSurfaceLocalEstimator.h:102
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myMaxIter
int myMaxIter
Definition
TrueDigitalSurfaceLocalEstimator.h:242
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myGamma
Scalar myGamma
Definition
TrueDigitalSurfaceLocalEstimator.h:246
DGtal::TrueDigitalSurfaceLocalEstimator::operator=
Self & operator=(const Self &other)
DGtal::TrueDigitalSurfaceLocalEstimator::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CUnaryFunctor< GeometricFunctor, RealPoint, Quantity >))
DGtal::TrueDigitalSurfaceLocalEstimator::isValid
bool isValid() const
DGtal::TrueDigitalSurfaceLocalEstimator::SCellEmbedder
CanonicSCellEmbedder< KSpace > SCellEmbedder
Definition
TrueDigitalSurfaceLocalEstimator.h:112
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myKSpace
CountedConstPtrOrConstPtr< KSpace > myKSpace
Definition
TrueDigitalSurfaceLocalEstimator.h:229
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myEmbedder
SCellEmbedder myEmbedder
Definition
TrueDigitalSurfaceLocalEstimator.h:233
DGtal::TrueDigitalSurfaceLocalEstimator::eval
OutputIterator eval(SurfelConstIterator itb, SurfelConstIterator ite, OutputIterator result) const
DGtal::TrueDigitalSurfaceLocalEstimator::~TrueDigitalSurfaceLocalEstimator
~TrueDigitalSurfaceLocalEstimator()
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myAccuracy
Scalar myAccuracy
Definition
TrueDigitalSurfaceLocalEstimator.h:244
DGtal::TrueDigitalSurfaceLocalEstimator::setParams
void setParams(ConstAlias< KSpace > ks, Clone< GeometricFunctor > fct, const int maxIter=20, const Scalar accuracy=0.0001, const Scalar gamma=0.5)
DGtal::TrueDigitalSurfaceLocalEstimator::attach
void attach(ConstAlias< Shape > aShape)
DGtal::TrueDigitalSurfaceLocalEstimator::SCell
KSpace::SCell SCell
Definition
TrueDigitalSurfaceLocalEstimator.h:107
DGtal::TrueDigitalSurfaceLocalEstimator< KSpace, ImplicitShape3D, PositionFunctor >::myFct
CowPtr< GeometricFunctor > myFct
Definition
TrueDigitalSurfaceLocalEstimator.h:231
DGtal::TrueDigitalSurfaceLocalEstimator::TrueDigitalSurfaceLocalEstimator
TrueDigitalSurfaceLocalEstimator()
DGtal::TrueDigitalSurfaceLocalEstimator::Space
KSpace::Space Space
Definition
TrueDigitalSurfaceLocalEstimator.h:106
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal::CanonicSCellEmbedder
Aim: A trivial embedder for signed cell, which corresponds to the canonic injection of cell centroids...
Definition
CanonicSCellEmbedder.h:66
DGtal::concepts::CCellularGridSpaceND
Aim: This concept describes a cellular grid space in nD. In these spaces obtained by cartesian produc...
Definition
CCellularGridSpaceND.h:164
DGtal::concepts::CUnaryFunctor
Aim: Defines a unary functor, which associates arguments to results.
Definition
CUnaryFunctor.h:90
src
DGtal
geometry
surfaces
estimation
TrueDigitalSurfaceLocalEstimator.h
Generated on
for DGtal by
1.18.0