SiGraph: sulcal graphs


foldDescr2.h
Go to the documentation of this file.
1
2#ifndef SI_FOLD_FOLDDESCR2_H
3#define SI_FOLD_FOLDDESCR2_H
4
5
7#include <si/fold/frgraph.h>
8
9
10namespace sigraph
11{
12
22 class FoldDescr2 : public AdapDescr
23 {
24 public:
61
68
70 FoldDescr2( const FoldDescr2 & f );
71 virtual ~FoldDescr2();
72 virtual CliqueDescr* clone() const;
73
79 virtual bool makeVector( const Clique* cl, std::vector<double> & vec,
80 carto::GenericObject* model = 0 );
83 virtual void preProcess( std::vector<double> & vec,
84 carto::GenericObject* model = 0 );
85 virtual bool hasChanged( const Clique* cl,
86 const std::map<Vertex*, std::string> & changes,
87 const carto::GenericObject* model = 0 ) const;
88 virtual void buildTree( Tree & t );
89 virtual std::vector<std::string> descriptorsNames() const;
90 virtual std::string name() const;
91
92 virtual bool makeLearnVector( const Clique* cl, std::vector<double> & vec,
93 carto::GenericObject* model = 0,
94 double outp = 0 );
95 virtual void handleStats( const Clique* cl, std::vector<double> & vec,
96 carto::GenericObject* model = 0,
97 double outp = 0 );
98 virtual void reset();
99 void setNormalizedMode( NormalizedMode x ) { _normalized = x; }
100 NormalizedMode normalizedMode() const { return _normalized; }
101
102 void setNStats( unsigned n ) { _nnorm = n; }
103 void setNormal( double nx, double ny, double nz )
104 { _nx = nx; _ny = ny; _nz = nz; }
105 void setE12Stats( unsigned n ) { _nE1E2 = n; }
106 void setE1E2( double x, double y, double z )
107 { _e12x = x; _e12y = y; _e12z = z; }
108 void setDirStats( unsigned n ) { _nDirHJ = n; }
109 void setDirection( double x, double y, double z )
110 { _dHJx = x; _dHJy = y; _dHJz = z; }
111
113 static void checkDataGraphVersion( const Clique*, int & major,
114 int & minor );
118 static bool dataVersionGE( int major, int minor,
119 int datamajor, int dataminor );
120
121 // attributes switches
122 virtual std::string surfaceAttribute( bool normalized, const Clique*,
123 int major, int minor ) const;
124 virtual std::string gravityCenterAttribute( bool normalized, const Clique*,
125 int major, int minor ) const;
126 virtual std::string normalAttribute( bool normalized, const Clique*,
127 int major, int minor ) const;
128 virtual std::string minDepthAttribute( bool normalized, const Clique*,
129 int major, int minor ) const;
130 virtual std::string maxDepthAttribute( bool normalized, const Clique*,
131 int major, int minor ) const;
132 virtual std::string meanDepthAttribute( bool normalized, const Clique*,
133 int major, int minor ) const;
134 virtual std::string hullJunctionLengthAttribute( bool normalized,
135 const Clique*, int major,
136 int minor ) const;
137 virtual std::string
138 hullJunctionExtremity1Attribute( bool normalized, const Clique*,
139 int major, int minor ) const;
140 virtual std::string
141 hullJunctionExtremity2Attribute( bool normalized, const Clique*,
142 int major, int minor ) const;
143 virtual std::string
144 hullJunctionDirectionAttribute( bool normalized, const Clique*, int major,
145 int minor ) const;
146 virtual std::string corticalDistanceAttribute( bool normalized,
147 const Clique*, int major,
148 int minor ) const;
149
150 protected:
151 virtual bool makeVectorElements( const Clique* cl,
152 std::vector<double> & vec,
153 carto::GenericObject* model = 0 );
154 // builtin attributes offsets
155 virtual int surfaceOffset( bool normalized, const Clique*, int major,
156 int minor ) const;
157 virtual int surfaceValidOffset( bool normalized, const Clique*, int major,
158 int minor ) const;
159 virtual int gravityCenterOffset( bool normalized, const Clique*,
160 int major, int minor ) const;
161 virtual int gravityCenterValidOffset( bool normalized, const Clique*,
162 int major, int minor ) const;
163 virtual int normalOffset( bool normalized, const Clique*, int major,
164 int minor ) const;
165 virtual int normalValidOffset( bool normalized, const Clique*, int major,
166 int minor ) const;
167 virtual int minDepthOffset( bool normalized, const Clique*, int major,
168 int minor ) const;
169 virtual int minDepthValidOffset( bool normalized, const Clique*,
170 int major, int minor ) const;
171 virtual int maxDepthOffset( bool normalized, const Clique*, int major,
172 int minor ) const;
173 virtual int maxDepthValidOffset( bool normalized, const Clique*,
174 int major, int minor ) const;
175 virtual int meanDepthOffset( bool normalized, const Clique*, int major,
176 int minor ) const;
177 virtual int meanDepthValidOffset( bool normalized, const Clique*,
178 int major, int minor ) const;
179 virtual int hullJunctionLengthOffset( bool normalized, const Clique*,
180 int major, int minor ) const;
181 virtual int hullJunctionLengthValidOffset( bool normalized, const Clique*,
182 int major, int minor ) const;
183 virtual int hullJunctionExtremity1Offset( bool normalized, const Clique*,
184 int major, int minor ) const;
185 virtual int
186 hullJunctionExtremity1ValidOffset( bool normalized, const Clique*,
187 int major, int minor ) const;
188 virtual int hullJunctionExtremity2Offset( bool normalized, const Clique*,
189 int major, int minor ) const;
190 virtual int
191 hullJunctionExtremity2ValidOffset( bool normalized, const Clique*,
192 int major, int minor ) const;
193 virtual int hullJunctionDirectionOffset( bool normalized, const Clique*,
194 int major, int minor ) const;
195 virtual int
196 hullJunctionDirectionValidOffset( bool normalized, const Clique*,
197 int major, int minor ) const;
198 virtual int corticalDistanceOffset( bool normalized, const Clique*,
199 int major, int minor ) const;
200 virtual int corticalDistanceValidOffset( bool normalized, const Clique*,
201 int major, int minor ) const;
202
203 private:
205 unsigned _nnorm;
206 double _nx;
207 double _ny;
208 double _nz;
210 unsigned _nE1E2;
211 double _e12x;
212 double _e12y;
213 double _e12z;
215 unsigned _nDirHJ;
216 double _dHJx;
217 double _dHJy;
218 double _dHJz;
219
220 NormalizedMode _normalized;
221 };
222
223
224 // inline
225
226
228 {
229 return( new FoldDescr2( *this ) );
230 }
231
232}
233
234#endif
235
Descripteur de clique (classe abstraite).
Definition cliqueDescr.h:36
Classe Clique.
Definition clique.h:35
Inputs
Descriptors list.
Definition foldDescr2.h:27
void setDirection(double x, double y, double z)
Definition foldDescr2.h:109
virtual void handleStats(const Clique *cl, std::vector< double > &vec, carto::GenericObject *model=0, double outp=0)
Handle stats learning stats.
virtual std::string hullJunctionDirectionAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int maxDepthOffset(bool normalized, const Clique *, int major, int minor) const
virtual std::string name() const
virtual std::string hullJunctionExtremity2Attribute(bool normalized, const Clique *, int major, int minor) const
void setE1E2(double x, double y, double z)
Definition foldDescr2.h:106
virtual std::string maxDepthAttribute(bool normalized, const Clique *, int major, int minor) const
virtual std::string meanDepthAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int hullJunctionDirectionValidOffset(bool normalized, const Clique *, int major, int minor) const
static void checkDataGraphVersion(const Clique *, int &major, int &minor)
data graph version test
virtual int hullJunctionExtremity1ValidOffset(bool normalized, const Clique *, int major, int minor) const
virtual bool hasChanged(const Clique *cl, const std::map< Vertex *, std::string > &changes, const carto::GenericObject *model=0) const
Dit si le potentiel d'une clique, après une transformation de labels de noeuds, a pu changer,...
virtual bool makeVectorElements(const Clique *cl, std::vector< double > &vec, carto::GenericObject *model=0)
virtual void buildTree(Tree &t)
virtual void reset()
Reset (set to zero) all internal stats.
virtual std::string normalAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int gravityCenterOffset(bool normalized, const Clique *, int major, int minor) const
static bool dataVersionGE(int major, int minor, int datamajor, int dataminor)
virtual int corticalDistanceOffset(bool normalized, const Clique *, int major, int minor) const
virtual std::vector< std::string > descriptorsNames() const
virtual int meanDepthOffset(bool normalized, const Clique *, int major, int minor) const
virtual std::string minDepthAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int meanDepthValidOffset(bool normalized, const Clique *, int major, int minor) const
virtual bool makeLearnVector(const Clique *cl, std::vector< double > &vec, carto::GenericObject *model=0, double outp=0)
Build input vector for lerning (allow noising it with random)
virtual int hullJunctionLengthOffset(bool normalized, const Clique *, int major, int minor) const
virtual CliqueDescr * clone() const
Definition foldDescr2.h:227
virtual int surfaceOffset(bool normalized, const Clique *, int major, int minor) const
void setNStats(unsigned n)
Definition foldDescr2.h:102
void setDirStats(unsigned n)
Definition foldDescr2.h:108
virtual std::string corticalDistanceAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int corticalDistanceValidOffset(bool normalized, const Clique *, int major, int minor) const
virtual void preProcess(std::vector< double > &vec, carto::GenericObject *model=0)
Effectue des pré-processings des stats d'orientation.
virtual int minDepthValidOffset(bool normalized, const Clique *, int major, int minor) const
void setNormalizedMode(NormalizedMode x)
Definition foldDescr2.h:99
virtual std::string gravityCenterAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int normalOffset(bool normalized, const Clique *, int major, int minor) const
void setE12Stats(unsigned n)
Definition foldDescr2.h:105
virtual bool makeVector(const Clique *cl, std::vector< double > &vec, carto::GenericObject *model=0)
Remplit le vecteur d'entrées.
virtual int maxDepthValidOffset(bool normalized, const Clique *, int major, int minor) const
virtual int gravityCenterValidOffset(bool normalized, const Clique *, int major, int minor) const
virtual int hullJunctionLengthValidOffset(bool normalized, const Clique *, int major, int minor) const
virtual std::string hullJunctionLengthAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int surfaceValidOffset(bool normalized, const Clique *, int major, int minor) const
void setNormal(double nx, double ny, double nz)
Definition foldDescr2.h:103
virtual int normalValidOffset(bool normalized, const Clique *, int major, int minor) const
virtual int hullJunctionDirectionOffset(bool normalized, const Clique *, int major, int minor) const
virtual int hullJunctionExtremity2Offset(bool normalized, const Clique *, int major, int minor) const
virtual int hullJunctionExtremity2ValidOffset(bool normalized, const Clique *, int major, int minor) const
NormalizedMode normalizedMode() const
Definition foldDescr2.h:100
virtual int hullJunctionExtremity1Offset(bool normalized, const Clique *, int major, int minor) const
virtual std::string surfaceAttribute(bool normalized, const Clique *, int major, int minor) const
virtual int minDepthOffset(bool normalized, const Clique *, int major, int minor) const
FoldDescr2(const FoldDescr2 &f)
virtual std::string hullJunctionExtremity1Attribute(bool normalized, const Clique *, int major, int minor) const