00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkFFTComplexConjugateToRealImageFilter_h
00018 #define __itkFFTComplexConjugateToRealImageFilter_h
00019
00020
00021 #include <itkImageToImageFilter.h>
00022 #include <itkImage.h>
00023 #include <complex>
00024
00025 namespace itk
00026 {
00033 template < class TPixel,unsigned int VDimension = 3 >
00034 class ITK_EXPORT FFTComplexConjugateToRealImageFilter :
00035 public ImageToImageFilter< Image< std::complex< TPixel > , VDimension >,
00036 Image< TPixel,VDimension > >
00037
00038 {
00039 public:
00041 typedef Image< std::complex< TPixel > ,VDimension> TInputImageType;
00042 typedef Image<TPixel,VDimension> TOutputImageType;
00043
00044 typedef FFTComplexConjugateToRealImageFilter Self;
00045 typedef ImageToImageFilter< TInputImageType, TOutputImageType > Superclass;
00046 typedef SmartPointer<Self> Pointer;
00047 typedef SmartPointer<const Self> ConstPointer;
00048
00049 itkStaticConstMacro(ImageDimension, unsigned int,
00050 TInputImageType::ImageDimension );
00051
00053 itkTypeMacro(FFTComplexConjugateToRealImageFilter, ImageToImageFilter);
00054
00060 static Pointer New(void);
00061
00063 typedef TInputImageType ImageType;
00064 typedef typename ImageType::SizeType ImageSizeType;
00065 virtual void GenerateOutputInformation();
00066 virtual void GenerateInputRequestedRegion();
00067 virtual bool FullMatrix() = 0;
00068 void SetActualXDimensionIsOdd(bool isodd)
00069 {
00070 m_ActualXDimensionIsOdd = isodd;
00071 }
00072 void SetActualXDimensionIsOddOn()
00073 {
00074 this->SetActualXDimensionIsOdd(true);
00075 }
00076 void SetActualXDimensionIsOddOff()
00077 {
00078 this->SetActualXDimensionIsOdd(false);
00079 }
00080 bool ActualXDimensionIsOdd()
00081 {
00082 return m_ActualXDimensionIsOdd;
00083 }
00084 protected:
00085 FFTComplexConjugateToRealImageFilter() : m_ActualXDimensionIsOdd(false) {}
00086 virtual ~FFTComplexConjugateToRealImageFilter(){}
00088
00089 private:
00090 bool m_ActualXDimensionIsOdd;
00091 FFTComplexConjugateToRealImageFilter(const Self&);
00092 void operator=(const Self&);
00093 };
00094
00095 }
00096
00097 #ifndef ITK_MANUAL_INSTANTIATION
00098 #ifndef __itkVnlFFTComplexConjugateToRealImageFilter_h
00099 #ifndef __itkVnlFFTComplexConjugateToRealImageFilter_txx
00100 #ifndef __itkFFTWComplexConjugateToRealImageFilter_h
00101 #ifndef __itkFFTWComplexConjugateToRealImageFilter_txx
00102 #include "itkFFTComplexConjugateToRealImageFilter.txx"
00103 #endif
00104 #endif
00105 #endif
00106 #endif
00107 #endif
00108
00109
00110 #endif
00111