DGtal
1.5.beta
KanungoNoise.h
1
17
#pragma once
18
31
#if defined(KanungoNoise_RECURSES)
32
#error Recursive header files inclusion detected in KanungoNoise.h
33
#else
// defined(KanungoNoise_RECURSES)
35
#define KanungoNoise_RECURSES
36
37
#if !defined KanungoNoise_h
39
#define KanungoNoise_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/base/ConstAlias.h"
46
#include "DGtal/base/Clone.h"
47
#include "DGtal/kernel/sets/CDigitalSet.h"
48
#include "DGtal/kernel/sets/DigitalSetBySTLSet.h"
49
#include "DGtal/geometry/volumes/distance/DistanceTransformation.h"
50
#include "DGtal/geometry/volumes/distance/ExactPredicateLpSeparableMetric.h"
51
#include "DGtal/kernel/BasicPointPredicates.h"
52
#include "DGtal/kernel/CPointPredicate.h"
54
55
namespace
DGtal
56
{
57
59
// template class KanungoNoise
82
template
<
typename
TPointPredicate,
typename
TDomain,
83
typename
TDigitalSetContainer=DigitalSetBySTLSet<TDomain> >
84
class
KanungoNoise
85
{
86
// ----------------------- Standard services ------------------------------
87
public
:
88
90
BOOST_CONCEPT_ASSERT
((
concepts::CDomain< TDomain >
));
91
BOOST_CONCEPT_ASSERT
((
concepts::CPointPredicate<TPointPredicate>
));
92
BOOST_CONCEPT_ASSERT
((
concepts::CDigitalSet<TDigitalSetContainer>
));
93
95
typedef
TPointPredicate
PointPredicate
;
96
98
typedef
typename
TDomain::Point
Point
;
99
101
typedef
TDomain
Domain
;
102
104
typedef
TDigitalSetContainer
DigitalSet
;
105
115
KanungoNoise
(
ConstAlias<PointPredicate>
aPredicate,
116
ConstAlias<Domain>
aDomain,
117
const
double
anAlpha);
118
122
~KanungoNoise
();
123
130
KanungoNoise
&
operator=
(
const
KanungoNoise
& other );
131
132
// ----------------------- Interface --------------------------------------
133
public
:
134
142
bool
operator()
(
const
Point
&
aPoint
)
const
;
143
144
149
void
selfDisplay
( std::ostream & out )
const
;
150
155
bool
isValid
()
const
;
156
157
// ------------------------- Hidden services ------------------------------
158
protected
:
159
164
KanungoNoise
();
165
166
private
:
167
173
KanungoNoise
(
const
KanungoNoise
& other );
174
175
// ------------------------- Internals ------------------------------------
176
private
:
178
const
PointPredicate
&
myPredicate
;
179
181
DigitalSet
*
mySet
;
182
184
const
Domain
&
myDomain
;
185
187
double
myAlpha
;
188
189
};
// end of class KanungoNoise
190
191
198
template
<
typename
TO,
typename
TD,
typename
TS>
199
std::ostream&
200
operator<<
( std::ostream & out,
const
KanungoNoise<TO,TD,TS>
&
object
);
201
202
}
// namespace DGtal
203
204
206
// Includes inline functions.
207
#include "DGtal/geometry/volumes//KanungoNoise.ih"
208
209
// //
211
212
#endif
// !defined KanungoNoise_h
213
214
#undef KanungoNoise_RECURSES
215
#endif
// else defined(KanungoNoise_RECURSES)
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::KanungoNoise
Aim: From a point predicate (model of concepts::CPointPredicate), this class constructs another point...
Definition:
KanungoNoise.h:85
DGtal::KanungoNoise::KanungoNoise
KanungoNoise(ConstAlias< PointPredicate > aPredicate, ConstAlias< Domain > aDomain, const double anAlpha)
DGtal::KanungoNoise::~KanungoNoise
~KanungoNoise()
DGtal::KanungoNoise::KanungoNoise
KanungoNoise()
DGtal::KanungoNoise::myDomain
const Domain & myDomain
Pointeur to the domain.
Definition:
KanungoNoise.h:184
DGtal::KanungoNoise::PointPredicate
TPointPredicate PointPredicate
Object type.
Definition:
KanungoNoise.h:95
DGtal::KanungoNoise::operator()
bool operator()(const Point &aPoint) const
DGtal::KanungoNoise::mySet
DigitalSet * mySet
Explicit set to store the noisfied object points.
Definition:
KanungoNoise.h:181
DGtal::KanungoNoise::Point
TDomain::Point Point
Point type.
Definition:
KanungoNoise.h:98
DGtal::KanungoNoise::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CDomain< TDomain >))
Concept checks.
DGtal::KanungoNoise::DigitalSet
TDigitalSetContainer DigitalSet
DigitalSet type.
Definition:
KanungoNoise.h:104
DGtal::KanungoNoise::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::KanungoNoise::KanungoNoise
KanungoNoise(const KanungoNoise &other)
DGtal::KanungoNoise::myAlpha
double myAlpha
Noise parameter.
Definition:
KanungoNoise.h:187
DGtal::KanungoNoise::operator=
KanungoNoise & operator=(const KanungoNoise &other)
DGtal::KanungoNoise::isValid
bool isValid() const
DGtal::KanungoNoise::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CDigitalSet< TDigitalSetContainer >))
DGtal::KanungoNoise::Domain
TDomain Domain
Domain type.
Definition:
KanungoNoise.h:101
DGtal::KanungoNoise::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPointPredicate >))
DGtal::KanungoNoise::myPredicate
const PointPredicate & myPredicate
Pointeur to the object.
Definition:
KanungoNoise.h:178
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal::concepts::CDigitalSet
Aim: Represents a set of points within the given domain. This set of points is modifiable by the user...
Definition:
CDigitalSet.h:141
DGtal::concepts::CDomain
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digit...
Definition:
CDomain.h:130
DGtal::concepts::CPointPredicate
Aim: Defines a predicate on a point.
Definition:
CPointPredicate.h:81
Point
MyPointD Point
Definition:
testClone2.cpp:383
aPoint
const Point aPoint(3, 4)
src
DGtal
geometry
volumes
KanungoNoise.h
Generated on Wed Nov 27 2024 16:05:19 for DGtal by
1.9.1