1 #ifndef __clitkZeroVFGenericFilter_txx
2 #define __clitkZeroVFGenericFilter_txx
4 #include "clitkZeroVFGenericFilter.h"
10 template<unsigned int Dimension>
11 void ZeroVFGenericFilter::UpdateWithDim(std::string PixelType)
13 if (PixelType=="double")
15 UpdateWithDimAndPixelType<Dimension, double>();
19 UpdateWithDimAndPixelType<Dimension, float>();
24 template<unsigned int Dimension, class PixelType>
25 void ZeroVFGenericFilter::UpdateWithDimAndPixelType()
27 //Define the image type
28 typedef itk::Vector<PixelType, Dimension> DisplacementType;
29 typedef itk::Image<DisplacementType, Dimension> ImageType;
32 typedef itk::ImageFileReader<ImageType> ImageReaderType;
33 typename ImageReaderType::Pointer reader= ImageReaderType::New();
34 reader->SetFileName(m_InputName);
35 reader->Update(); // not very efficient :-p
36 typename ImageType::Pointer image =reader->GetOutput();
37 DisplacementType zero;
39 image->FillBuffer(zero);
42 typedef itk::ImageFileWriter<ImageType> WriterType;
43 typename WriterType::Pointer writer = WriterType::New();
44 writer->SetFileName(m_OutputName);
45 writer->SetInput(image);