]> Creatis software - clitk.git/blob - vv/vvDeformableRegistration.h
Initial revision
[clitk.git] / vv / vvDeformableRegistration.h
1 #ifndef VV_DEFORMABLE_REGISTRATION
2 #define VV_DEFORMABLE_REGISTRATION
3
4 #include <QMutex>
5 #include <QString>
6 class string;
7 class QThread;
8 class vvImage;
9 #include "vvImage.h"
10
11 class vvDeformableRegistration : public QThread
12 {
13 public:
14     vvDeformableRegistration(vvImage::Pointer image,unsigned int ref,\
15                              unsigned int iter,  unsigned int nthread,double a, double s,\
16                              std::string output_f,unsigned int stop);
17     unsigned int getProgress();
18     void abort();
19     QMutex progress_mutex;
20     void run();
21     vvImage::Pointer getOutput() {
22         return mOutput;
23     }
24 protected:
25     vvImage::Pointer mImage;
26     vvImage::Pointer  mOutput;
27     unsigned int refimage,nb_iter,n_thread,progress,stop;
28     double alpha,sigma;
29     std::string output_filename;
30     bool aborted;
31     void cleanup(int);
32     void partial_run(int,int,int,std::string);
33     ///Temporary path, specific to the current instance of vv
34     QString mTempPath;
35 };
36
37
38 #endif
39