DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
itkVectorImageChannelFilter.h
Go to the documentation of this file.
1 
11 #ifndef __itkVectorImageChannelFilter_h
12 #define __itkVectorImageChannelFilter_h
13 
14 
15 #include "itkImageToImageFilter.h"
16 
17 namespace itk
18 {
19 
27 template< class TInputImage, class TOutputImage,
28  class TFilter=ImageToImageFilter< Image<typename TInputImage::InternalPixelType, TInputImage::ImageDimension>, TOutputImage> >
29 class ITK_EXPORT VectorImageChannelFilter
30  :public ImageToImageFilter< TInputImage, TOutputImage >
31 {
32 public:
35  typedef ImageToImageFilter< TInputImage, TOutputImage > Superclass;
36  typedef SmartPointer< Self > Pointer;
37  typedef SmartPointer< const Self > ConstPointer;
38 
40  itkNewMacro(Self);
41 
43  itkTypeMacro(VectorImageChannelFilter, ImageToImageFilter);
44 
45  typedef TInputImage InputImageType;
46  typedef typename InputImageType::Pointer InputImagePointer;
47  typedef typename InputImageType::ConstPointer InputImageConstPointer;
48  typedef typename InputImageType::IndexType InputImageIndexType;
49  typedef typename InputImageType::SizeType InputImageSizeType;
50  typedef typename InputImageType::SpacingType InputImageSpacingType;
51  typedef typename InputImageType::PixelType InputImagePixelType;
52  typedef typename InputImageType::RegionType InputImageRegionType;
53 
54  typedef TOutputImage OutputImageType;
55  typedef typename OutputImageType::Pointer OutputImagePointer;
56  typedef typename OutputImageType::IndexType OutputImageIndexType;
57  typedef typename OutputImageType::SizeType OutputImageSizeType;
58  typedef typename OutputImageType::SpacingType OutputImageSpacingType;
59  typedef typename OutputImageType::PixelType OutputImagePixelType;
60  typedef typename OutputImageType::RegionType OutputImageRegionType;
61 
62  itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension);
63  itkStaticConstMacro(OutputImageDimension, unsigned int, TOutputImage::ImageDimension);
64 
65  itkSetMacro(Filter, typename TFilter::Pointer);
66  itkGetMacro(Filter, typename TFilter::Pointer);
67 
68 protected:
71 
72  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
73 
74  void GenerateData() ITK_OVERRIDE;
75 
76  typename LightObject::Pointer InternalClone() const ITK_OVERRIDE;
77 
78  typename TFilter::Pointer m_Filter;
79 
80 
81 private:
82  VectorImageChannelFilter(const Self &); // purposely not implemented
83  void operator=(const Self &); // purposely not implemented
84 };
85 
86 }
87 
88 #if ITK_TEMPLATE_EXPLICIT
89 #include "Templates/itkVectorImageChannelFilter+-.h"
90 #endif
91 
92 #if !defined(ITK_MANUAL_INSTANTIATION) && !defined(__itkVectorImageChannelFilter_hxx)
94 #endif
95 
96 #endif
InputImageType::PixelType InputImagePixelType
TInputImage and TOutputImage are VectorImage, TFilter is an image filter which works for itk::Image...
InputImageType::SpacingType InputImageSpacingType
OutputImageType::SizeType OutputImageSizeType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
InputImageType::SizeType InputImageSizeType
InputImageType::IndexType InputImageIndexType
OutputImageType::Pointer OutputImagePointer
OutputImageType::PixelType OutputImagePixelType
#define ITK_OVERRIDE
Definition: utlITKMacro.h:46
SmartPointer< const Self > ConstPointer
OutputImageType::IndexType OutputImageIndexType
Created "06-27-2016.
OutputImageType::SpacingType OutputImageSpacingType
OutputImageType::RegionType OutputImageRegionType
InputImageType::RegionType InputImageRegionType
InputImageType::ConstPointer InputImageConstPointer