cortical_surface  5.0.5
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 
24 namespace 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 
43  int context;
44  std::string & side;
45 
46  float contr;
47  float curvature;
48  float elasticity;
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
87  r.read( mesh );
88 
89  Reader < TimeTexture<float> > lp1(adr_calleux);
90  lp1.read( pole_call );
91 
92  size=pole_call[0].nItem();
93  neigh = SurfaceManip::surfaceNeighbours( mesh );
94  }
95 
96  //Main methods
97 
98  void processConstraints();
99  void preprocess();
100  void constraintCleaning( int ct );
101 
102 
103 
104  };
105 
106 
107 
108 }
109 
110 #endif
111 
112 
void constraintCleaning(int ct)
std::string adr_lat_cleaned
Definition: sulcusCleaner.h:39
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle
std::string adr_mer
Definition: sulcusCleaner.h:36
std::string adr_poles
Definition: sulcusCleaner.h:35
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)
Definition: sulcusCleaner.h:78
TimeTexture< float > poles
Definition: sulcusCleaner.h:70
std::string adr_calleux
Definition: sulcusCleaner.h:34
std::vector< std::set< uint > > neigh
Definition: sulcusCleaner.h:52
size_t nItem() const
TimeTexture< float > pole_call
Definition: sulcusCleaner.h:62
static std::vector< std::set< uint > > surfaceNeighbours(const AimsSurface< D, T > &surf)
std::string adr_par
Definition: sulcusCleaner.h:37
TimeTexture< float > constraint_lat_scaled
Definition: sulcusCleaner.h:72
std::string & adr_file
Definition: sulcusCleaner.h:41
std::map< int, std::map< int, std::string > > corres_map
Definition: sulcusCleaner.h:68
AimsSurfaceTriangle mesh
Definition: sulcusCleaner.h:50
std::string adr_long_cleaned
Definition: sulcusCleaner.h:38
TimeTexture< float > constraint_long_scaled
Definition: sulcusCleaner.h:71
std::string & adr_cor
Definition: sulcusCleaner.h:40
unsigned int uint
TimeTexture< float > constraint_lat_read
Definition: sulcusCleaner.h:60
TimeTexture< short > constraint_lat_read_short
Definition: sulcusCleaner.h:56
TimeTexture< float > constraint_long_read
Definition: sulcusCleaner.h:59
std::string adr_mesh
Definition: sulcusCleaner.h:33
virtual bool read(T &obj, int border=0, const std::string *format=0, int frame=-1)
std::string & side
Definition: sulcusCleaner.h:44
TimeTexture< short > constraint_long_read_short
Definition: sulcusCleaner.h:57