cortical_surface 6.0.0
sulcusCleaner.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2000-2004 CEA
3 *
4 * This software and supporting documentation were developed by
5 * CEA/DSV/SHFJ
6 * 4 place du General Leclerc
7 * 91401 Orsay cedex
8 * France
9 */
10
11
12
13#ifndef AIMS_SULCUS_CLEANER_H
14#define AIMS_SULCUS_CLEANER_H
15
16
17#include <aims/mesh/texture.h>
18#include <aims/io/reader.h>
19#include <aims/io/writer.h>
20
23
24namespace aims
25{
26
28 {
29
30 public:
31
32 //Parametres pour l'execution
33 std::string adr_mesh;
34 std::string adr_calleux;
35 std::string adr_poles;
36 std::string adr_mer;
37 std::string adr_par;
38 std::string adr_long_cleaned;
39 std::string adr_lat_cleaned;
40 std::string & adr_cor;
41 std::string & adr_file;
42
44 std::string & side;
45
46 float contr;
47 float curvature;
49
51 //Liste de voisinage
52 std::vector<std::set<uint> > neigh;
53
54 //Textures de contraintes
55
58
61
63
64 //structure avec les textures de distance depuis tous les commets
65
66
67 //Map with values for each constraint's name
68 std::map< int, std::map<int, std::string> > corres_map;
69
74
76
77 //Constructor
78 SulcusCleaner( std::string & _adr_mesh, std::string & _adr_calleux, std::string & _adr_poles, std::string & _adr_mer, std::string & _adr_par, std::string & _adr_long_cleaned, std::string & _adr_lat_cleaned, std::string & _adr_cor, std::string & _adr_file, int _context, std::string & _side, float _contr, float _curvature, float _elasticity ) : adr_mesh(_adr_mesh), adr_calleux(_adr_calleux), adr_poles(_adr_poles), adr_mer(_adr_mer), adr_par(_adr_par), adr_long_cleaned(_adr_long_cleaned), adr_lat_cleaned(_adr_lat_cleaned), adr_cor(_adr_cor), adr_file(_adr_file), context(_context), side(_side), contr(_contr), curvature(_curvature), elasticity(_elasticity)
79 {
80
81 //std::cout<<"SIZE DEBUT="<<size<<std::endl;
82
83 //LECTURE DES POLES (A INTEGRER PAR LA SUITE AUX CONTRAINTES)
84
85 //Opening brain mesh
86 Reader < AimsSurfaceTriangle > r(adr_mesh);
87 r.read( mesh );
88
89 Reader < TimeTexture<float> > lp1(adr_calleux);
90 lp1.read( pole_call );
91
92 size=pole_call[0].nItem();
94 }
95
96 //Main methods
97
99 void preprocess();
100 void constraintCleaning( int ct );
101
102
103
104 };
105
106
107
108}
109
110#endif
111
112
virtual bool read(T &obj, int border=0, const std::string *format=0, int frame=-1)
TimeTexture< float > constraint_long_scaled
std::string adr_calleux
std::string & adr_file
TimeTexture< float > constraint_long_read
TimeTexture< short > constraint_long_read_short
std::string adr_poles
std::string & adr_cor
TimeTexture< short > constraint_lat_read_short
std::vector< std::set< uint > > neigh
TimeTexture< float > poles
SulcusCleaner(std::string &_adr_mesh, std::string &_adr_calleux, std::string &_adr_poles, std::string &_adr_mer, std::string &_adr_par, std::string &_adr_long_cleaned, std::string &_adr_lat_cleaned, std::string &_adr_cor, std::string &_adr_file, int _context, std::string &_side, float _contr, float _curvature, float _elasticity)
std::string adr_lat_cleaned
std::string adr_long_cleaned
TimeTexture< float > pole_call
std::map< int, std::map< int, std::string > > corres_map
std::string & side
void constraintCleaning(int ct)
AimsSurfaceTriangle mesh
TimeTexture< float > constraint_lat_read
TimeTexture< float > constraint_lat_scaled
static std::vector< std::set< uint > > surfaceNeighbours(const AimsSurface< D, T > &surf)
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle
unsigned int uint