]> Creatis software - clitk.git/blob - filters/clitkImageResampleGenericFilter.cxx
Initial revision
[clitk.git] / filters / clitkImageResampleGenericFilter.cxx
1 #ifndef CLITKIMAGERESAMPLEGENERICFILTER2_CXX
2 #define CLITKIMAGERESAMPLEGENERICFILTER2_CXX
3
4 /**
5  -------------------------------------------------------------------
6  * @file   clitkImageResampleGenericFilter.cxx
7  * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
8  * @date   23 Feb 2008 08:37:53
9
10  * @brief  
11
12  -------------------------------------------------------------------*/
13
14 #include "clitkImageResampleGenericFilter.h"
15
16 //--------------------------------------------------------------------
17 clitk::ImageResampleGenericFilter::ImageResampleGenericFilter() {
18   mApplyGaussianFilterBefore = false;
19   mDefaultPixelValue = 0.0;
20   mInterpolatorName = "NN";
21   mBSplineOrder=3;
22 }
23 //--------------------------------------------------------------------
24
25 //--------------------------------------------------------------------
26 void clitk::ImageResampleGenericFilter::Update() {
27
28   // Determine dim, pixel type, number of components
29   this->GetInputImageDimensionAndPixelType(mDim,mPixelTypeName,mNbOfComponents);
30
31   // Switch by dimension
32   if (mDim == 2) { Update_WithDim<2>(); return; }
33   if (mDim == 3) { Update_WithDim<3>(); return; }
34   if (mDim == 4) { Update_WithDim<4>(); return; }
35
36   std::cerr << "Error, dimension of input image is " << mDim << ", but I only work with 2,3,4." << std::endl;
37   exit(0);
38 }
39 //--------------------------------------------------------------------
40
41 //--------------------------------------------------------------------
42 void clitk::ImageResampleGenericFilter::SetOutputSize(const std::vector<int> & size) {
43   mOutputSize.resize(size.size());
44   std::copy(size.begin(), size.end(), mOutputSize.begin());
45 }
46 //--------------------------------------------------------------------
47
48 //--------------------------------------------------------------------
49 void clitk::ImageResampleGenericFilter::SetOutputSpacing(const std::vector<double> & spacing) {
50   mOutputSpacing.resize(spacing.size());
51   std::copy(spacing.begin(), spacing.end(), mOutputSpacing.begin());
52 }
53 //--------------------------------------------------------------------
54
55 //--------------------------------------------------------------------
56 void clitk::ImageResampleGenericFilter::SetInterpolationName(const std::string & inter) {
57   mInterpolatorName = inter;
58 }
59 //--------------------------------------------------------------------
60
61 //--------------------------------------------------------------------
62 void clitk::ImageResampleGenericFilter::SetGaussianSigma(const std::vector<double> & sigma) {
63   mApplyGaussianFilterBefore = true;
64   mSigma.resize(sigma.size());
65   std::copy(sigma.begin(), sigma.end(), mSigma.begin());
66 }
67 //--------------------------------------------------------------------
68
69 #endif
70