aimsalgo 6.0.0
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
14#include <cartodata/volume/volume.h>
15
16
17namespace aims
18{
19 class AffineTransrformation3d;
20}
21
22template<class T>
24{
25public:
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
60private:
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)
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)
carto::VolumeRef< T > getresult()
void settailleBloc(int nx, int ny, int nz)
AimsVector< int16_t, 3 > Point3d