Orfeo Toolbox  3.16
itkFFTWRealToComplexConjugateImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkFFTWRealToComplexConjugateImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2010-02-26 05:28:24 $
7  Version: $Revision: 1.12 $
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 __itkFFTWRealToComplexConjugateImageFilter_h
18 #define __itkFFTWRealToComplexConjugateImageFilter_h
19 
21 #include "itkFFTWCommon.h"
22 
23 
24 namespace itk
25 {
32 template <class TPixel, unsigned int VDimension = 3>
34  public FFTRealToComplexConjugateImageFilter<TPixel,VDimension>
35 {
36 public:
41 
43  typedef typename Superclass::TInputImageType TInputImageType;
44  typedef typename Superclass::TOutputImageType TOutputImageType;
45 
54 
56  itkNewMacro(Self);
57 
61 
62  //
63  // these should be defined in every FFT filter class
64  virtual void GenerateData(); // generates output from input
65 
66 protected:
67  FFTWRealToComplexConjugateImageFilter() : m_PlanComputed(false),
68  m_LastImageSize(0),
69  m_InputBuffer(0),
70  m_OutputBuffer(0)
71  {
72  }
74  {
75  if(m_PlanComputed)
76  {
77  FFTWProxyType::DestroyPlan(this->m_Plan);
78  delete [] this->m_InputBuffer;
79  delete [] this->m_OutputBuffer;
80  }
81  }
82 
83  virtual bool FullMatrix();
84 private:
85  FFTWRealToComplexConjugateImageFilter(const Self&); //purposely not implemented
86  void operator=(const Self&); //purposely not implemented
88  typename FFTWProxyType::PlanType m_Plan;
89  unsigned int m_LastImageSize;
90 
91  TPixel * m_InputBuffer;
92  typename FFTWProxyType::ComplexType *m_OutputBuffer;
93 
94 };
95 } // namespace itk
96 
97 #ifndef ITK_MANUAL_INSTANTIATION
99 #endif
100 
101 #endif //__itkFFTWRealToComplexConjugateImageFilter_h

Generated at Sat Feb 2 2013 23:37:54 for Orfeo Toolbox with doxygen 1.8.1.1