ITK  4.10.0
Insight Segmentation and Registration Toolkit
itkFFTW1DComplexConjugateToRealImageFilter.h
Go to the documentation of this file.
1 #ifndef __itkFFTW1DComplexConjugateToRealImageFilter_h
2 #define __itkFFTW1DComplexConjugateToRealImageFilter_h
3 
6 
7 #include <vector>
8 
9 namespace itk
10 {
17 template <class TPixel, unsigned int Dimension = 3>
19  public FFT1DComplexConjugateToRealImageFilter<TPixel,Dimension>
20 {
21 public:
26 
28  typedef typename Superclass::InputImageType InputImageType;
29  typedef typename Superclass::OutputImageType OutputImageType;
30  typedef typename OutputImageType::RegionType OutputImageRegionType;
31 
40  typedef typename std::vector< typename FFTW1DProxyType::PlanType > PlanArrayType;
41  typedef typename std::vector< typename FFTW1DProxyType::ComplexType* > PlanBufferPointerType;
42 
44  itkNewMacro(Self);
45 
49 
50 
51 protected:
52  FFTW1DComplexConjugateToRealImageFilter(): m_PlanComputed( false ),
53  m_LastImageSize( 0 )
54  {}
56  {
57  if ( m_PlanComputed )
58  {
59  this->DestroyPlans();
60  }
61  }
62 
63  virtual void BeforeThreadedGenerateData();
64  virtual void ThreadedGenerateData( const OutputImageRegionType&, ThreadIdType threadID ); // generates output from input
65 
66 private:
67  FFTW1DComplexConjugateToRealImageFilter(const Self&); //purposely not implemented
68  void operator=(const Self&); //purposely not implemented
69 
71  void DestroyPlans();
72 
74  PlanArrayType m_PlanArray;
75  unsigned int m_LastImageSize;
76  PlanBufferPointerType m_InputBufferArray;
77  PlanBufferPointerType m_OutputBufferArray;
78 };
79 
80 } // namespace itk
81 
82 #ifndef ITK_MANUAL_INSTANTIATION
83 #include "itkFFTW1DComplexConjugateToRealImageFilter.hxx"
84 #endif
85 
86 #endif //__itkFFTW1DComplexConjugateToRealImageFilter_h
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Definition: itkArray.h:30
std::vector< typename FFTW1DProxyType::PlanType > PlanArrayType
only do FFT along one dimension using FFTW as a backend.
std::vector< typename FFTW1DProxyType::ComplexType * > PlanBufferPointerType
unsigned int ThreadIdType
Definition: itkIntTypes.h:159
FFT1DComplexConjugateToRealImageFilter< TPixel, Dimension > Superclass