00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkSCSLComplexConjugateToRealImageFilter_h
00018 #define __itkSCSLComplexConjugateToRealImageFilter_h
00019 #include "itkFFTComplexConjugateToRealImageFilter.h"
00020 #ifdef USE_SCSL
00021 #include <complex.h>
00022 #include <scsl_fft.h>
00023
00024 namespace itk
00025 {
00026
00027 template <typename TPixel, unsigned int Dimension = 3>
00028 class SCSLComplexConjugateToRealImageFilter :
00029 public FFTComplexConjugateToRealImageFilter<TPixel,Dimension>
00030 {
00031 public:
00033 typedef Image< std::complex<TPixel>,Dimension> TInputImageType;
00034 typedef Image<TPixel,Dimension> TOutputImageType;
00035
00036 typedef SCSLComplexConjugateToRealImageFilter Self;
00037 typedef FFTComplexConjugateToRealImageFilter<TPixel,Dimension> Superclass;
00038 typedef SmartPointer<Self> Pointer;
00039 typedef SmartPointer<const Self> constPointer;
00040
00042 itkNewMacro(Self);
00043
00045 itkTypeMacro(SCSLComplexConjugateToRealImageFilter,
00046 FFTComplexConjugateToRealImageFilter);
00047
00049 typedef TInputImageType ImageType;
00050 typedef typename ImageType::SizeType ImageSizeType;
00051
00052
00053
00054 virtual void GenerateData();
00055 virtual bool FullMatrix();
00056 protected:
00057 SCSLComplexConjugateToRealImageFilter()
00058 {
00059 }
00060 virtual ~SCSLComplexConjugateToRealImageFilter()
00061 {
00062 }
00063 void PrintSelf(std::ostream& os, Indent indent) const;
00064
00065 private:
00066 SCSLComplexConjugateToRealImageFilter(const Self&);
00067 void operator=(const Self&);
00068 };
00069
00070 }
00071
00072 #ifndef ITK_MANUAL_INSTANTIATION
00073 #include "itkSCSLComplexConjugateToRealImageFilter.txx"
00074 #endif
00075 #endif // USE_SCSL
00076 #endif