DGtal  0.9.2
StdDefs.h
1 
17 #pragma once
18 
32 #if defined(StdDefs_RECURSES)
33 #error Recursive header files inclusion detected in StdDefs.h
34 #else // defined(StdDefs_RECURSES)
35 
36 #define StdDefs_RECURSES
37 
38 #if !defined StdDefs_h
39 
40 #define StdDefs_h
41 
43 // Inclusions
44 #include <iostream>
45 #include "DGtal/base/Common.h"
46 #include "DGtal/kernel/SpaceND.h"
47 #include "DGtal/kernel/domains/HyperRectDomain.h"
48 #include "DGtal/kernel/sets/DigitalSetSelector.h"
49 #include "DGtal/topology/DigitalTopology.h"
50 #include "DGtal/topology/MetricAdjacency.h"
51 #include "DGtal/topology/Object.h"
52 #include "DGtal/topology/KhalimskySpaceND.h"
53 #include "DGtal/topology/KhalimskyPreSpaceND.h"
54 #include "DGtal/geometry/curves/GridCurve.h"
55 #include "DGtal/geometry/volumes/distance/ExactPredicateLpSeparableMetric.h"
56 #include "DGtal/geometry/volumes/distance/ExactPredicateLpPowerSeparableMetric.h"
58 
59 namespace DGtal
60 {
73  namespace Z2i {
76  typedef Space Z2;
78  typedef KSpace K2;
79  typedef KSpace::Cell Cell;
84  typedef KPreSpace KP2;
109 
110 
111  static const Adj4 adj4;
112  static const Adj8 adj8;
113  static const DT4_8 dt4_8 = DT4_8( adj4, adj8, JORDAN_DT );
114  static const DT8_4 dt8_4 = DT8_4( adj8, adj4, JORDAN_DT );
115 
117 
122 
123  static const L2Metric l2Metric;
124  static const L1Metric l1Metric;
125  static const L2PowerMetric l2PowerMetric;
126  static const L1PowerMetric l1PowerMetric;
127 
128  } // namespace Z2i
129 
142  namespace Z3i {
145  typedef Space Z3;
147  typedef KSpace K3;
153  typedef KPreSpace KP3;
190 
191  static const Adj6 adj6;
192  static const Adj18 adj18;
193  static const Adj26 adj26;
194  static const DT6_18 dt6_18 = DT6_18( adj6, adj18, JORDAN_DT );
195  static const DT18_6 dt18_6 = DT18_6( adj18, adj6, JORDAN_DT );
196  static const DT6_26 dt6_26 = DT6_26( adj6, adj26, JORDAN_DT );
197  static const DT26_6 dt26_6 = DT26_6( adj26, adj6, JORDAN_DT );
198 
203 
204  static const L2Metric l2Metric;
205  static const L1Metric l1Metric;
206  static const L2PowerMetric l2PowerMetric;
207  static const L1PowerMetric l1PowerMetric;
208 
209  } // namespace Z3i
210 
211 
212 
213 
214 } // namespace DGtal
215 
216 
217 // //
219 
220 #endif // !defined StdDefs_h
221 
222 #undef StdDefs_RECURSES
223 #endif // else defined(StdDefs_RECURSES)
Aim: An object (or digital object) represents a set in some digital space associated with a digital t...
Definition: Object.h:119
DigitalSetSelector< Domain, BIG_DS+HIGH_BEL_DS >::Type DigitalSet
Definition: StdDefs.h:100
DGtal::int32_t Integer
Definition: StdDefs.h:74
Aim: implements weighted separable l_p metrics with exact predicates.
ExactPredicateLpSeparableMetric< Space, 1 > L1Metric
Definition: StdDefs.h:119
static const Adj26 adj26
Definition: StdDefs.h:193
KhalimskyPreSpaceND< 3, Integer > KPreSpace
Definition: StdDefs.h:152
Object< DT6_26, DigitalSet >::ComplementObject ComplementObject6_26
Definition: StdDefs.h:183
Object< DT6_18, DigitalSet > Object6_18
Definition: StdDefs.h:174
DigitalTopology< Adj6, Adj18 > DT6_18
Definition: StdDefs.h:164
Space::RealVector RealVector
Definition: StdDefs.h:171
MetricAdjacency< Space, 2 > Adj8
Definition: StdDefs.h:92
KSpace::SCell SCell
Definition: StdDefs.h:149
HyperRectDomain< Space > Domain
Definition: StdDefs.h:99
Object< DT4_8, DigitalSet > Object4_8
Definition: StdDefs.h:101
SpaceND< 2, Integer > Space
Definition: StdDefs.h:75
ExactPredicateLpSeparableMetric< Space, 2 > L2Metric
Definition: StdDefs.h:118
KPreSpace::Cell PreCell
Definition: StdDefs.h:154
HyperRectDomain< Space > Domain
Definition: StdDefs.h:172
DigitalTopology< Adj18, Adj6 > DT18_6
Definition: StdDefs.h:165
Object< DT6_26, DigitalSet >::SmallComplementObject SmallComplementObject6_26
Definition: StdDefs.h:185
static const Adj4 adj4
Definition: StdDefs.h:111
KhalimskySpaceND< 2, Integer > KSpace
Definition: StdDefs.h:77
static const L1PowerMetric l1PowerMetric
Definition: StdDefs.h:207
KSpace K3
Definition: StdDefs.h:147
GridCurve< K2 > Curve
Definition: StdDefs.h:116
Object< DT4_8, DigitalSet >::SmallComplementObject SmallComplementObject4_8
Definition: StdDefs.h:104
KPreSpace KP3
Definition: StdDefs.h:153
Object< DT26_6, DigitalSet > Object26_6
Definition: StdDefs.h:186
static const L2PowerMetric l2PowerMetric
Definition: StdDefs.h:125
KhalimskyPreSpaceND< 2, Integer > KPreSpace
Definition: StdDefs.h:83
Space Z3
Definition: StdDefs.h:145
KSpace K2
Definition: StdDefs.h:78
MetricAdjacency< Space, 1 > Adj4
Definition: StdDefs.h:90
Aim: This class is a model of CPreCellularGridSpaceND. It represents the cubical grid as a cell compl...
KSpace::Cells Cells
Definition: StdDefs.h:81
static const Adj8 adj8
Definition: StdDefs.h:112
Object< DT4_8, DigitalSet >::SmallObject SmallObject4_8
Definition: StdDefs.h:103
KSpace::SCell SCell
Definition: StdDefs.h:80
static const L2PowerMetric l2PowerMetric
Definition: StdDefs.h:206
Object< DT8_4, DigitalSet > Object8_4
Definition: StdDefs.h:105
ExactPredicateLpPowerSeparableMetric< Space, 1 > L1PowerMetric
Definition: StdDefs.h:121
Aim: Describes digital adjacencies in digital spaces that are defined with the 1-norm and the infinit...
Aim: implements separable l_p metrics with exact predicates.
ExactPredicateLpSeparableMetric< Space, 2 > L2Metric
Definition: StdDefs.h:199
Object< DT18_6, DigitalSet >::ComplementObject ComplementObject18_6
Definition: StdDefs.h:179
MetricAdjacency< Space, 3 > Adj26
Definition: StdDefs.h:163
Object< DT18_6, DigitalSet >::SmallObject SmallObject18_6
Definition: StdDefs.h:180
KPreSpace KP2
Definition: StdDefs.h:84
Aim: Represents a digital topology as a couple of adjacency relations.
Object< DT6_26, DigitalSet >::SmallObject SmallObject6_26
Definition: StdDefs.h:184
DigitalTopology< Adj6, Adj26 > DT6_26
Definition: StdDefs.h:166
Object< DT26_6, DigitalSet >::ComplementObject ComplementObject26_6
Definition: StdDefs.h:187
MetricAdjacency< Space, 1 > Adj6
Definition: StdDefs.h:159
DigitalSetSelector< Domain, BIG_DS+HIGH_BEL_DS >::Type DigitalSet
Definition: StdDefs.h:173
KSpace::SCells SCells
Definition: StdDefs.h:82
static const DT18_6 dt18_6
Definition: StdDefs.h:195
static const DT8_4 dt8_4
Definition: StdDefs.h:114
DGtal::int32_t Integer
Definition: StdDefs.h:143
KPreSpace::Cells PreCells
Definition: StdDefs.h:156
DigitalTopology< Adj26, Adj6 > DT26_6
Definition: StdDefs.h:167
Object< DT8_4, DigitalSet >::SmallObject SmallObject8_4
Definition: StdDefs.h:107
static const DT26_6 dt26_6
Definition: StdDefs.h:197
static const Adj18 adj18
Definition: StdDefs.h:192
KPreSpace::Cells PreCells
Definition: StdDefs.h:87
Object< DT8_4, DigitalSet >::SmallComplementObject SmallComplementObject8_4
Definition: StdDefs.h:108
Space::Point Point
Definition: StdDefs.h:95
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: A wrapper class around a STL associative container for storing sets of digital points within som...
Object< DT18_6, DigitalSet >::SmallComplementObject SmallComplementObject18_6
Definition: StdDefs.h:181
Space Z2
Definition: StdDefs.h:76
Space::Point Point
Definition: StdDefs.h:168
KSpace::SCells SCells
Definition: StdDefs.h:151
KSpace::Cell Cell
Definition: StdDefs.h:148
Object< DT4_8, DigitalSet >::ComplementObject ComplementObject4_8
Definition: StdDefs.h:102
static const Adj6 adj6
Definition: StdDefs.h:191
KSpace::Cell Cell
Definition: StdDefs.h:79
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value...
ExactPredicateLpPowerSeparableMetric< Space, 2 > L2PowerMetric
Definition: StdDefs.h:120
Object< DT6_18, DigitalSet >::SmallObject SmallObject6_18
Definition: StdDefs.h:176
Object< DT6_18, DigitalSet >::ComplementObject ComplementObject6_18
Definition: StdDefs.h:175
Space::Vector Vector
Definition: StdDefs.h:169
Object< DT26_6, DigitalSet >::SmallComplementObject SmallComplementObject26_6
Definition: StdDefs.h:189
static const L1PowerMetric l1PowerMetric
Definition: StdDefs.h:126
Object< DT8_4, DigitalSet >::ComplementObject ComplementObject8_4
Definition: StdDefs.h:106
KPreSpace::SCells SPreCells
Definition: StdDefs.h:157
Object< DT6_18, DigitalSet >::SmallComplementObject SmallComplementObject6_18
Definition: StdDefs.h:177
Object< DT18_6, DigitalSet > Object18_6
Definition: StdDefs.h:178
KhalimskySpaceND< 3, Integer > KSpace
Definition: StdDefs.h:146
static const L2Metric l2Metric
Definition: StdDefs.h:204
KPreSpace::Cell PreCell
Definition: StdDefs.h:85
KPreSpace::SCells SPreCells
Definition: StdDefs.h:88
KSpace::Cells Cells
Definition: StdDefs.h:150
Space::RealPoint RealPoint
Definition: StdDefs.h:97
static const L1Metric l1Metric
Definition: StdDefs.h:205
boost::int32_t int32_t
signed 32-bit integer.
Definition: BasicTypes.h:72
Object< DT26_6, DigitalSet >::SmallObject SmallObject26_6
Definition: StdDefs.h:188
KPreSpace::SCell SPreCell
Definition: StdDefs.h:86
Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d...
Definition: GridCurve.h:172
Space::RealVector RealVector
Definition: StdDefs.h:98
static const DT6_18 dt6_18
Definition: StdDefs.h:194
static const L2Metric l2Metric
Definition: StdDefs.h:123
Space::Vector Vector
Definition: StdDefs.h:96
DigitalTopology< Adj8, Adj4 > DT8_4
Definition: StdDefs.h:94
Space::RealPoint RealPoint
Definition: StdDefs.h:170
Object< DT6_26, DigitalSet > Object6_26
Definition: StdDefs.h:182
Aim: This class is a model of CCellularGridSpaceND. It represents the cubical grid as a cell complex...
DigitalTopology< Adj4, Adj8 > DT4_8
Definition: StdDefs.h:93
static const L1Metric l1Metric
Definition: StdDefs.h:124
static const DT4_8 dt4_8
Definition: StdDefs.h:113
AnyCellCollection< SCell > SCells
AnyCellCollection< Cell > Cells
static const DT6_26 dt6_26
Definition: StdDefs.h:196
MetricAdjacency< Space, 2 > Adj18
Definition: StdDefs.h:161
ExactPredicateLpSeparableMetric< Space, 1 > L1Metric
Definition: StdDefs.h:200
SpaceND< 3, Integer > Space
Definition: StdDefs.h:144
ExactPredicateLpPowerSeparableMetric< Space, 1 > L1PowerMetric
Definition: StdDefs.h:202
ExactPredicateLpPowerSeparableMetric< Space, 2 > L2PowerMetric
Definition: StdDefs.h:201
KPreSpace::SCell SPreCell
Definition: StdDefs.h:155