Orfeo Toolbox  3.16
itkVectorExpandImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkVectorExpandImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2009-05-19 20:36:25 $
7  Version: $Revision: 1.17 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkVectorExpandImageFilter_h
18 #define __itkVectorExpandImageFilter_h
19 
20 #include "itkImageToImageFilter.h"
23 
24 namespace itk
25 {
26 
83 template <class TInputImage, class TOutputImage>
85  public ImageToImageFilter<TInputImage,TOutputImage>
86 {
87 public:
93 
95  itkNewMacro(Self);
96 
98  typedef typename TInputImage::Pointer InputImagePointer;
99  typedef typename TOutputImage::Pointer OutputImagePointer;
100  typedef typename TOutputImage::RegionType OutputImageRegionType;
101 
104 
106  itkStaticConstMacro(ImageDimension, unsigned int,
107  TInputImage::ImageDimension);
108 
112 
114  typedef typename OutputImageType::PixelType OutputPixelType;
115  typedef typename OutputPixelType::ValueType OutputValueType;
116  typedef typename InputImageType::PixelType InputPixelType;
117  typedef typename InputPixelType::ValueType InputValueType;
118 
120  enum { VectorDimension = InputPixelType::Dimension };
121 
123  typedef float ExpandFactorsType;
124 
126  typedef double CoordRepType;
132 
134  itkSetObjectMacro( Interpolator, InterpolatorType );
135 
137  itkGetObjectMacro( Interpolator, InterpolatorType );
138 
141  virtual void SetExpandFactors( const ExpandFactorsType factors[] );
142  virtual void SetExpandFactors( const ExpandFactorsType factor );
143  virtual void SetExpandFactors( const unsigned int factors[] );
144 
146  const ExpandFactorsType * GetExpandFactors() const
147  { return m_ExpandFactors; }
148 
150  virtual void SetEdgePaddingValue( const OutputPixelType& value );
151 
153  virtual const OutputPixelType& GetEdgePaddingValue()
154  { return m_EdgePaddingValue; }
155 
162  virtual void GenerateOutputInformation();
163 
169  virtual void GenerateInputRequestedRegion();
170 
171 #ifdef ITK_USE_CONCEPT_CHECKING
172 
173  itkConceptMacro(InputHasNumericTraitsCheck,
175  itkConceptMacro(OutputHasNumericTraitsCheck,
178 #endif
179 
180 protected:
181 
184  void PrintSelf(std::ostream& os, Indent indent) const;
185 
194  virtual
195  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
196  int threadId );
197 
200  virtual void BeforeThreadedGenerateData();
201 
202 private:
203  VectorExpandImageFilter(const Self&); //purposely not implemented
204  void operator=(const Self&); //purposely not implemented
205 
206  ExpandFactorsType m_ExpandFactors[ImageDimension];
209 
210 };
211 
212 } // end namespace itk
213 
214 #ifndef ITK_MANUAL_INSTANTIATION
216 #endif
217 
218 #endif

Generated at Sun Feb 3 2013 00:11:42 for Orfeo Toolbox with doxygen 1.8.1.1