12 #ifndef AIMS_REGISTRATION_SCALE_CONTROL_D_H
13 #define AIMS_REGISTRATION_SCALE_CONTROL_D_H
24 _currentScale = level_start;
27 int dimoy = int( (
ref->getSizeX() +
ref->getSizeY())/2. + 0.5);
29 for(
int i = 0;i<15;i++)
32 dimoy = int(dimoy/2. + 0.5);
37 _level_stop = level_stop;
38 if(level_stop==-1) _level_stop = (_currentScale>2) ? (_currentScale-2) : 0;
41 if(cutVar==-1) _cutVar = 0.2 + _currentScale*0.2;
42 _cutVar = (_cutVar <= 1) ? _cutVar : 1;
45 if(stopVar==-1) _stopVar = 0.2 + _level_stop*0.2;
46 _stopVar = (_stopVar<=_cutVar) ? _stopVar : _cutVar;
51 _NN = ( (
ref->getSizeX() <
ref->getSizeY()) ?
ref->getSizeX() :
ref->getSizeY())/8;
55 _seuilCorrel = seuilCorrel;
56 _tailleBloc = tailleBloc;
57 if(
ref->getSizeZ()==1) _tailleBloc[2] = 1;
void init(const carto::rc_ptr< carto::Volume< T > > ref, int level_start, int level_stop, double cutVar, double stopVar, double seuilCorrel, const Point3d &tailleBloc=Point3d(4, 4, 4))
reference_wrapper< T > ref(T &ref)