aimsalgo  5.1.2
Neuroimaging image processing
block_matching.h
Go to the documentation of this file.
1 /* Copyright (C) 2000-2013 CEA
2  *
3  * This software and supporting documentation were developed by
4  * bioPICSEL
5  * CEA/DSV/I²BM/MIRCen/LMN, Batiment 61,
6  * 18, route du Panorama
7  * 92265 Fontenay-aux-Roses
8  * France
9  */
10 
11 #ifndef AIMS_REGISTRATION_BLOCK_MATCHING_H
12 #define AIMS_REGISTRATION_BLOCK_MATCHING_H
13 
15 
16 
17 namespace aims
18 {
19  class AffineTransrformation3d;
20 }
21 
22 template<class T>
24 {
25 public:
26  enum TypeSeuil {
31  };
32  BlockMatching();
33  virtual ~BlockMatching() {}
34 
37  const carto::rc_ptr<carto::Volume<T> >& test_orig );
39  {_initialisation = m;}
40  void setlevel_start(int lsta) {_level_start=lsta;}
41  void setlevel_stop(int lsto) {_level_stop=lsto;}
42  void settransfo(int t) {_transfo=t;}
43  void settailleBloc(int nx, int ny, int nz) {_tailleBloc=Point3d(nx,ny,nz);}
44  void setcutVar(double cv) {_cutVar=cv;}
45  void setstopVar(double sv) {_stopVar=sv;}
46  void setPkept(double pk) {_Pkept=pk;}
47  void setseuilCorrel(double sc) {_seuilCorrel=sc;}
48  void setseuils(T sbr, T shr, T sbt, T sht) {
49  _seuils[0]=sbr;
50  _seuils[1]=shr;
51  _seuils[2]=sbt;
52  _seuils[3]=sht;
53  }
54  void setitermax(int itm) {_itermax=itm;}
55  void setinfo(bool info) {_info=info;}
56 
57  carto::VolumeRef<T> getresult() {return _result;}
58 
59 
60 private:
61  carto::VolumeRef<T> _result;
62  bool _done;
63  aims::AffineTransformation3d _initialisation;
64  int _level_start;
65  int _level_stop;
66  int _transfo;
67  Point3d _tailleBloc;
68  double _cutVar;
69  double _stopVar;
70  double _Pkept;
71  double _seuilCorrel;
72  T _seuils[4];
73  int _itermax;
74  bool _info;
75 };
76 #endif
void settransfo(int t)
void setinitialisation(const aims::AffineTransformation3d &m)
void setlevel_start(int lsta)
void setinfo(bool info)
carto::VolumeRef< T > getresult()
aims::AffineTransformation3d doit(carto::rc_ptr< carto::Volume< T > > &ref, const carto::rc_ptr< carto::Volume< T > > &test_orig)
void setstopVar(double sv)
virtual ~BlockMatching()
void setitermax(int itm)
void setseuilCorrel(double sc)
void setlevel_stop(int lsto)
void setcutVar(double cv)
void setPkept(double pk)
void setseuils(T sbr, T shr, T sbt, T sht)
void settailleBloc(int nx, int ny, int nz)