]> Creatis software - clitk.git/blob - tools/clitkZeroVFGenericFilter.txx
removed headers
[clitk.git] / tools / clitkZeroVFGenericFilter.txx
1 #ifndef __clitkZeroVFGenericFilter_txx
2 #define __clitkZeroVFGenericFilter_txx
3 #include "clitkZeroVFGenericFilter.h"
4
5
6 namespace clitk
7 {
8
9   template<unsigned int Dimension>
10   void ZeroVFGenericFilter::UpdateWithDim(std::string PixelType)
11   {
12     if (PixelType=="double")
13       {
14         UpdateWithDimAndPixelType<Dimension, double>();
15       }     
16     else
17       {
18         UpdateWithDimAndPixelType<Dimension, float>();
19       }
20   }
21
22
23   template<unsigned int Dimension, class PixelType>
24   void ZeroVFGenericFilter::UpdateWithDimAndPixelType()
25   {
26     //Define the image type
27     typedef itk::Vector<PixelType, Dimension> DisplacementType;
28     typedef itk::Image<DisplacementType, Dimension> ImageType;
29
30     //Read the image
31     typedef itk::ImageFileReader<ImageType> ImageReaderType;
32     typename  ImageReaderType::Pointer reader= ImageReaderType::New();
33     reader->SetFileName(m_InputName);
34     reader->Update(); // not very efficient :-p
35     typename ImageType::Pointer image =reader->GetOutput();
36     DisplacementType zero;
37     zero.Fill(0);
38     image->FillBuffer(zero);
39     
40     //Write the output
41     typedef itk::ImageFileWriter<ImageType> WriterType;
42     typename WriterType::Pointer writer = WriterType::New();
43     writer->SetFileName(m_OutputName);
44     writer->SetInput(image);
45     writer->Update();
46   }
47
48
49 }
50
51 #endif