/*=========================================================================
Program: vv
Language: C++
Author : Joel Schaerer (joel.schaerer@insa-lyon.fr)
Program: vv
Copyright (C) 2008
Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
CREATIS-LRMN http://www.creatis.insa-lyon.fr
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
=========================================================================*/
#ifndef vvImageWarp_h
#define vvImageWarp_h
#include "vvImage.h"
class QWidget;
/// Allows the computation of a warped image sequence and a difference image sequence, for the purpose of verifying registration results
class vvImageWarp
{
public:
///Slicer manager containing the image sequence and deformation field, plus the index of the image used as a reference for the registration
vvImageWarp(vvImage::Pointer input,vvImage::Pointer vf,unsigned int ref_image,QWidget* parent);
///Computes a warped sequence and a difference image sequence. Return false in case of error
bool ComputeWarpedImage();
vvImage::Pointer GetWarpedImage() {
return mWarpedImage;
}
vvImage::Pointer GetDiffImage() {
return mDiffImage;
}
vvImage::Pointer GetJacobianImage() {
return mJacobianImage;
}
protected:
template void Update_WithDimAndPixelType();
template void Update_WithDim();
unsigned int mRefImage;
vvImage::Pointer mWarpedImage;
vvImage::Pointer mDiffImage;
vvImage::Pointer mJacobianImage;
QWidget * parent_window;
vvImage::Pointer mInputImage;
vvImage::Pointer mVF;
};
#endif