1 #ifndef CLITKIMAGERESAMPLEGENERICFILTER2_CXX
2 #define CLITKIMAGERESAMPLEGENERICFILTER2_CXX
5 -------------------------------------------------------------------
6 * @file clitkImageResampleGenericFilter.cxx
7 * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
8 * @date 23 Feb 2008 08:37:53
12 -------------------------------------------------------------------*/
14 #include "clitkImageResampleGenericFilter.h"
16 //--------------------------------------------------------------------
17 clitk::ImageResampleGenericFilter::ImageResampleGenericFilter() {
18 mApplyGaussianFilterBefore = false;
19 mDefaultPixelValue = 0.0;
20 mInterpolatorName = "NN";
23 //--------------------------------------------------------------------
25 //--------------------------------------------------------------------
26 void clitk::ImageResampleGenericFilter::Update() {
28 // Determine dim, pixel type, number of components
29 this->GetInputImageDimensionAndPixelType(mDim,mPixelTypeName,mNbOfComponents);
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; }
36 std::cerr << "Error, dimension of input image is " << mDim << ", but I only work with 2,3,4." << std::endl;
39 //--------------------------------------------------------------------
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());
46 //--------------------------------------------------------------------
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());
53 //--------------------------------------------------------------------
55 //--------------------------------------------------------------------
56 void clitk::ImageResampleGenericFilter::SetInterpolationName(const std::string & inter) {
57 mInterpolatorName = inter;
59 //--------------------------------------------------------------------
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());
67 //--------------------------------------------------------------------