]> Creatis software - clitk.git/blob - vv/vvImageWarp.h
add memory usage
[clitk.git] / vv / vvImageWarp.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 vvImageWarp_h
19 #define vvImageWarp_h
20 #include "vvImage.h"
21 class QWidget;
22
23 /// Allows the computation of a warped image sequence and a difference image sequence, for the purpose of verifying registration results
24 class vvImageWarp
25 {
26 public:
27     ///Slicer manager containing the image sequence and deformation field, plus the index of the image used as a reference for the registration
28     vvImageWarp(vvImage::Pointer input,vvImage::Pointer vf,unsigned int ref_image,QWidget* parent);
29     ///Computes a warped sequence and a difference image sequence. Return false in case of error
30     bool ComputeWarpedImage();
31     vvImage::Pointer GetWarpedImage() {
32         return mWarpedImage;
33     }
34     vvImage::Pointer GetDiffImage() {
35         return mDiffImage;
36     }
37     vvImage::Pointer GetJacobianImage() {
38         return mJacobianImage;
39     }
40
41 protected:
42     template<unsigned int Dim, class PixelType> void Update_WithDimAndPixelType();
43     template<unsigned int Dim> void Update_WithDim();
44     unsigned int mRefImage;
45     vvImage::Pointer mWarpedImage;
46     vvImage::Pointer mDiffImage;
47     vvImage::Pointer mJacobianImage;
48     QWidget * parent_window;
49     vvImage::Pointer mInputImage;
50     vvImage::Pointer mVF;
51 };
52
53 #endif