]> Creatis software - clitk.git/blob - vv/vvDeformableRegistration.h
Fusion windows level is now 4 decimals
[clitk.git] / vv / vvDeformableRegistration.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ======================================================================-====*/
18 #ifndef VV_DEFORMABLE_REGISTRATION
19 #define VV_DEFORMABLE_REGISTRATION
20 #include <QMutex>
21 #include <QString>
22 class string;
23 class QThread;
24 class vvImage;
25 #include "vvImage.h"
26
27 class vvDeformableRegistration : public QThread
28 {
29 public:
30     vvDeformableRegistration(vvImage::Pointer image,unsigned int ref,\
31                              unsigned int iter,  unsigned int nthread,double a, double s,\
32                              std::string output_f,unsigned int stop);
33     unsigned int getProgress();
34     void abort();
35     QMutex progress_mutex;
36     void run();
37     vvImage::Pointer getOutput() {
38         return mOutput;
39     }
40 protected:
41     vvImage::Pointer mImage;
42     vvImage::Pointer  mOutput;
43     unsigned int refimage,nb_iter,n_thread,progress,stop;
44     double alpha,sigma;
45     std::string output_filename;
46     bool aborted;
47     void cleanup(int);
48     void partial_run(int,int,int,std::string);
49     ///Temporary path, specific to the current instance of vv
50     QString mTempPath;
51 };
52
53
54 #endif
55