NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkResampleImage.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 #ifndef ITKRESAMPLEIMAGE_H
15 #define ITKRESAMPLEIMAGE_H
16 
17 #include <itkIdentityTransform.h>
18 #include <itkBSplineInterpolateImageFunction.h>
19 #include <itkResampleImageFilter.h>
20 #include <itkNearestNeighborInterpolateImageFunction.h>
21 #include <itkImageToImageFilter.h>
22 #include <itkMacro.h>
23 
24 namespace itk {
25 
29 template < class TInputImage >
31 public ImageToImageFilter<TInputImage, TInputImage>
32 {
33 public:
36  typedef ImageToImageFilter<TInputImage,TInputImage> Superclass;
37  typedef SmartPointer<Self> Pointer;
38  typedef SmartPointer<const Self> ConstPointer;
39 
41  itkNewMacro(Self);
42 
44  itkTypeMacro(ResampleImage, ImageToImageFilter);
45 
46  itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension);
47 
49  typedef typename Superclass::InputImageType InputImageType;
50  typedef typename Superclass::OutputImageType OutputImageType;
51  typedef typename Superclass::InputImagePointer InputImagePointer;
52  typedef typename Superclass::OutputImagePointer OutputImagePointer;
53  typedef typename Superclass::InputImageConstPointer InputImageConstPointer;
54 
55  itkGetConstMacro(AxialSpacing, double);
56  itkGetConstMacro(AxialSize, unsigned int);
57  itkSetMacro(AxialSpacing, double);
58  itkSetMacro(AxialSize, unsigned int);
59 
60 protected:
61  ResampleImage();
63  void PrintSelf(std::ostream&os, Indent indent) const;
65  virtual void GenerateData();
66 
67  typedef itk::IdentityTransform<double, 3> TransformType;
68  //typedef itk::NearestNeighborInterpolateImageFunction< InputImageType, double > // Possibly used in the coming back
69  typedef itk::BSplineInterpolateImageFunction<InputImageType, double, double>
71  typedef itk::ResampleImageFilter< InputImageType, OutputImageType >
73 
74 private:
75  ResampleImage(const Self &); //purposely not implemented
76  void operator=(const Self &); //purposely not implemented
77 
78  //bool m_Downsample;
79  double m_AxialSpacing;
80  unsigned int m_AxialSize;
81 };
82 
83 }
84 #ifndef ITK_MANUAL_INSTANTIATION
85 #include "itkResampleImage.txx"
86 #endif
87 
88 #endif // ITKRESAMPLEIMAGE_H
ImageToImageFilter< TInputImage, TInputImage > Superclass
Definition: itkResampleImage.h:36
Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkResampleImage.h:53
Superclass::InputImagePointer InputImagePointer
Definition: itkResampleImage.h:51
SmartPointer< Self > Pointer
Definition: itkResampleImage.h:37
Superclass::InputImageType InputImageType
Definition: itkResampleImage.h:49
Definition: niftkITKAffineResampleImage.cxx:74
itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension)
itk::BSplineInterpolateImageFunction< InputImageType, double, double > InterpolatorType
Definition: itkResampleImage.h:70
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::OutputImagePointer OutputImagePointer
Definition: itkResampleImage.h:52
virtual void GenerateData()
~ResampleImage()
Definition: itkResampleImage.h:62
SmartPointer< const Self > ConstPointer
Definition: itkResampleImage.h:38
Up/Down samples an image in the axial direction to reduce anistoropy.
Definition: itkResampleImage.h:30
itk::IdentityTransform< double, 3 > TransformType
Definition: itkResampleImage.h:67
itk::ResampleImageFilter< InputImageType, OutputImageType > ResampleFilterType
Definition: itkResampleImage.h:72
Superclass::OutputImageType OutputImageType
Definition: itkResampleImage.h:50
ResampleImage Self
Definition: itkResampleImage.h:35