/*========================================================================= 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://www.centreleonberard.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 __clitkGenericInterpolator_txx #define __clitkGenericInterpolator_txx #include "clitkGenericInterpolator.h" namespace clitk { //========================================================================================================================= //constructor template GenericInterpolator::GenericInterpolator() { m_Interpolator=NULL; m_Verbose=false; } //========================================================================================================================= //Get the pointer template typename GenericInterpolator::InterpolatorPointer GenericInterpolator::GetInterpolatorPointer() { //============================================================================ // We retrieve the type of interpolation from the command line //============================================================================ typename InterpolatorType::Pointer interpolator; switch ( m_ArgsInfo.interp_arg ) { case 0: interpolator= itk::NearestNeighborInterpolateImageFunction< ImageType,TCoordRep >::New(); if (m_Verbose) std::cout<<"Using nearestneighbor interpolation..."<::New(); if (m_Verbose) std::cout<<"Using linear interpolation..."<::Pointer m =itk::BSplineInterpolateImageFunction< ImageType,TCoordRep >::New(); m->SetSplineOrder(m_ArgsInfo.interpOrder_arg); interpolator=m; if (m_Verbose) std::cout<<"Using Bspline interpolation..."<::Pointer m =itk::BSplineInterpolateImageFunctionWithLUT< ImageType,TCoordRep >::New(); m->SetSplineOrder(m_ArgsInfo.interpOrder_arg); m->SetLUTSamplingFactor(m_ArgsInfo.interpSF_arg); interpolator=m; if (m_Verbose) std::cout<<"Using BLUT interpolation..."<