+/*=========================================================================
+ Program: vv http://www.creatis.insa-lyon.fr/rio/vv
+
+ Authors belong to:
+ - University of LYON http://www.universite-lyon.fr/
+ - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
+ - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the copyright notices for more information.
+
+ It is distributed under dual licence
+
+ - BSD See included LICENSE.txt file
+ - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+======================================================================-====*/
#ifndef CLITKIMAGERESAMPLEGENERICFILTER_H
#define CLITKIMAGERESAMPLEGENERICFILTER_H
-
/**
-------------------------------------------------------------------
* @file clitkVFResampleGenericFilter.h
namespace clitk {
//--------------------------------------------------------------------
- class VFResampleGenericFilter: public clitk::ImageToImageGenericFilter {
+ class VFResampleGenericFilter:
+ public clitk::ImageToImageGenericFilter<VFResampleGenericFilter> {
public:
// constructor
VFResampleGenericFilter();
// Types
- typedef VFResampleGenericFilter Self;
- typedef ImageToImageGenericFilter Superclass;
+ typedef VFResampleGenericFilter Self;
typedef itk::SmartPointer<Self> Pointer;
typedef itk::SmartPointer<const Self> ConstPointer;
void SetBSplineOrder(int o) { mBSplineOrder = o; }
void SetBLUTSampling(int b) { mSamplingFactors.resize(1); mSamplingFactors[0] = b; }
- void Update();
+ //--------------------------------------------------------------------
+ // Main function called each time the filter is updated
+ template<class InputImageType>
+ void UpdateWithInputImageType();
protected:
+ template<unsigned int Dim> void InitializeImageType();
//--------------------------------------------------------------------
std::string mInterpolatorName;
std::vector<int> mOutputSize;
std::vector<int> mSamplingFactors;
//--------------------------------------------------------------------
- template<unsigned int Dim> void Update_WithDim();
- template<unsigned int Dim, class PixelType> void Update_WithDimAndPixelType();
template<unsigned int Dim, class PixelType, unsigned int DimCompo>
void Update_WithDimAndPixelTypeAndComponent();
-
- //--------------------------------------------------------------------
template<class ImageType>
typename ImageType::Pointer ComputeImage(typename ImageType::Pointer inputImage);