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