aimsalgo
5.0.5
Neuroimaging image processing
topoClassifBase.h
Go to the documentation of this file.
1
/* This software and supporting documentation are distributed by
2
* Institut Federatif de Recherche 49
3
* CEA/NeuroSpin, Batiment 145,
4
* 91191 Gif-sur-Yvette cedex
5
* France
6
*
7
* This software is governed by the CeCILL-B license under
8
* French law and abiding by the rules of distribution of free software.
9
* You can use, modify and/or redistribute the software under the
10
* terms of the CeCILL-B license as circulated by CEA, CNRS
11
* and INRIA at the following URL "http://www.cecill.info".
12
*
13
* As a counterpart to the access to the source code and rights to copy,
14
* modify and redistribute granted by the license, users are provided only
15
* with a limited warranty and the software's author, the holder of the
16
* economic rights, and the successive licensors have only limited
17
* liability.
18
*
19
* In this respect, the user's attention is drawn to the risks associated
20
* with loading, using, modifying and/or developing or reproducing the
21
* software by the user in light of its specific status of free software,
22
* that may mean that it is complicated to manipulate, and that also
23
* therefore means that it is reserved for developers and experienced
24
* professionals having in-depth computer knowledge. Users are therefore
25
* encouraged to load and test the software's suitability as regards their
26
* requirements in conditions enabling the security of their systems and/or
27
* data to be ensured and, more generally, to use and operate it in the
28
* same conditions as regards security.
29
*
30
* The fact that you are presently reading this means that you have had
31
* knowledge of the CeCILL-B license and that you accept its terms.
32
*/
33
34
35
36
#ifndef AIMS_TOPOLOGY_TOPOCLASSIFBASE_H
37
#define AIMS_TOPOLOGY_TOPOCLASSIFBASE_H
38
39
#include <
aims/topology/topoBase.h
>
40
41
42
class
TopologicalClassificationBase
43
{
44
public
:
45
46
// Numbering of neighborhood points according to Malandain
47
//
48
// 0 1 2 9 10 11 17 18 19
49
// 3 4 5 12 C 13 20 21 22
50
// 6 7 8 14 15 16 23 24 25
51
//
52
// Numbering according to Mangin
53
//
54
// 19 11 23 7 2 15 20 12 24
55
// 8 3 16 1 0 6 9 4 17
56
// 21 13 25 10 5 18 22 14 26
57
//
58
enum
PointNumber
59
{
60
PointC
= 0,
61
Point0
= 19,
62
Point1
= 11,
63
Point2
= 23,
64
Point3
= 8,
65
Point4
= 3,
66
Point5
= 16,
67
Point6
= 21,
68
Point7
= 13,
69
Point8
= 25,
70
Point9
= 7,
71
Point10
= 2,
72
Point11
= 15,
73
Point12
= 1,
74
Point13
= 6,
75
Point14
= 10,
76
Point15
= 5,
77
Point16
= 18,
78
Point17
= 20,
79
Point18
= 12,
80
Point19
= 24,
81
Point20
= 9,
82
Point21
= 4,
83
Point22
= 17,
84
Point23
= 22,
85
Point24
= 14,
86
Point25
= 26
87
};
88
89
TopologicalClassificationBase
();
90
virtual
~TopologicalClassificationBase
() { }
91
92
int
Cstar
() {
return
_topo
->
Cstar
(); }
93
int
Cbar
() {
return
_topo
->
Cbar
(); }
94
95
void
computeLocalCCNumbers
(
const
Point3d
&,
int
);
96
void
computeLocalCCNumbers
(
const
Point3d
&,
int
,
int
);
97
void
computeLocalCCNumbersComplement
(
const
Point3d
&,
int
);
98
99
bool
isSimplePoint
();
100
bool
isCurvesPoint
();
101
bool
isSurfacesPoint
();
102
bool
isRealSurfacePoint
();
103
104
// Faster method using a binary graph
105
bool
isSimplePoint
(
const
Point3d
&,
int
);
106
bool
isSimplePoint
(
const
Point3d
&,
int
,
int
);
107
bool
isSimplePointComplement
(
const
Point3d
&,
int
);
108
109
protected
:
110
111
int
bdd
(
int
* );
112
113
TopologyBase
*
_topo
;
114
115
bool
_statInv
;
116
};
117
118
#endif
TopologicalClassificationBase::Point10
Definition:
topoClassifBase.h:71
TopologicalClassificationBase::Point4
Definition:
topoClassifBase.h:65
TopologicalClassificationBase::PointC
Definition:
topoClassifBase.h:60
TopologicalClassificationBase::PointNumber
PointNumber
Definition:
topoClassifBase.h:58
TopologicalClassificationBase::computeLocalCCNumbers
void computeLocalCCNumbers(const Point3d &, int)
TopologicalClassificationBase::Point22
Definition:
topoClassifBase.h:83
TopologicalClassificationBase::Point17
Definition:
topoClassifBase.h:78
TopologicalClassificationBase::Point8
Definition:
topoClassifBase.h:69
TopologicalClassificationBase
Definition:
topoClassifBase.h:42
AimsVector< int16_t, 3 >
TopologicalClassificationBase::Point7
Definition:
topoClassifBase.h:68
TopologicalClassificationBase::bdd
int bdd(int *)
TopologicalClassificationBase::Point23
Definition:
topoClassifBase.h:84
TopologyBase::Cbar
int Cbar()
Definition:
topoBase.h:52
TopologicalClassificationBase::Point14
Definition:
topoClassifBase.h:75
TopologicalClassificationBase::TopologicalClassificationBase
TopologicalClassificationBase()
TopologicalClassificationBase::_topo
TopologyBase * _topo
Definition:
topoClassifBase.h:113
TopologicalClassificationBase::isSimplePointComplement
bool isSimplePointComplement(const Point3d &, int)
TopologicalClassificationBase::Point12
Definition:
topoClassifBase.h:73
TopologicalClassificationBase::Point21
Definition:
topoClassifBase.h:82
TopologicalClassificationBase::~TopologicalClassificationBase
virtual ~TopologicalClassificationBase()
Definition:
topoClassifBase.h:90
TopologicalClassificationBase::Point20
Definition:
topoClassifBase.h:81
TopologyBase::Cstar
int Cstar()
Definition:
topoBase.h:51
TopologicalClassificationBase::isSurfacesPoint
bool isSurfacesPoint()
TopologicalClassificationBase::Point3
Definition:
topoClassifBase.h:64
TopologicalClassificationBase::isRealSurfacePoint
bool isRealSurfacePoint()
TopologicalClassificationBase::Point6
Definition:
topoClassifBase.h:67
TopologicalClassificationBase::_statInv
bool _statInv
Definition:
topoClassifBase.h:115
TopologicalClassificationBase::Point13
Definition:
topoClassifBase.h:74
TopologicalClassificationBase::Point15
Definition:
topoClassifBase.h:76
TopologyBase
Definition:
topoBase.h:44
TopologicalClassificationBase::Point25
Definition:
topoClassifBase.h:86
TopologicalClassificationBase::Point0
Definition:
topoClassifBase.h:61
TopologicalClassificationBase::computeLocalCCNumbersComplement
void computeLocalCCNumbersComplement(const Point3d &, int)
TopologicalClassificationBase::Point1
Definition:
topoClassifBase.h:62
TopologicalClassificationBase::Point2
Definition:
topoClassifBase.h:63
TopologicalClassificationBase::Cbar
int Cbar()
Definition:
topoClassifBase.h:93
TopologicalClassificationBase::Point18
Definition:
topoClassifBase.h:79
TopologicalClassificationBase::Point24
Definition:
topoClassifBase.h:85
TopologicalClassificationBase::Point5
Definition:
topoClassifBase.h:66
TopologicalClassificationBase::Cstar
int Cstar()
Definition:
topoClassifBase.h:92
topoBase.h
TopologicalClassificationBase::Point11
Definition:
topoClassifBase.h:72
TopologicalClassificationBase::isSimplePoint
bool isSimplePoint()
TopologicalClassificationBase::Point19
Definition:
topoClassifBase.h:80
TopologicalClassificationBase::isCurvesPoint
bool isCurvesPoint()
TopologicalClassificationBase::Point9
Definition:
topoClassifBase.h:70
TopologicalClassificationBase::Point16
Definition:
topoClassifBase.h:77
aims
topology
topoClassifBase.h
Generated by
1.8.13