ITK  4.10.0
Insight Segmentation and Registration Toolkit
itkAnalyticSignalImageFilter.h
Go to the documentation of this file.
1 #ifndef __itkAnalyticSignalImageFilter_h
2 #define __itkAnalyticSignalImageFilter_h
3 
4 #include <complex>
5 
10 
11 namespace itk
12 {
39 template <class TPixel, unsigned int VDimension = 3>
40 class ITK_EXPORT AnalyticSignalImageFilter:
41  public ImageToImageFilter< Image< TPixel, VDimension >,
42  Image< std::complex< TPixel >, VDimension > >
43 {
44 public:
49 
54 
56  itkNewMacro( Self );
57 
59  virtual unsigned int GetDirection() const
60  {
61  return this->m_FFTRealToComplexFilter->GetDirection();
62  }
63 
65  virtual void SetDirection( const unsigned int direction )
66  {
67  if( this->m_FFTRealToComplexFilter->GetDirection() != direction )
68  {
69  this->m_FFTRealToComplexFilter->SetDirection( direction );
70  this->m_FFTComplexToComplexFilter->SetDirection( direction );
71  this->Modified();
72  }
73  }
75 
76 protected:
79  void PrintSelf(std::ostream& os, Indent indent) const;
80 
81  // These behave like their analogs in FFT1DRealToComplexConjugateImageFilter.
82  virtual void GenerateInputRequestedRegion();
83  virtual void EnlargeOutputRequestedRegion(DataObject *output);
84 
85  virtual void BeforeThreadedGenerateData ();
86  virtual void ThreadedGenerateData( const OutputImageRegionType& outputRegionForThread, ThreadIdType threadId );
87  virtual void AfterThreadedGenerateData ();
88 
91 
94 
97  virtual const ImageRegionSplitterBase* GetImageRegionSplitter(void) const;
98 
99 private:
100  AnalyticSignalImageFilter( const Self& ); // purposely not implemented
101  void operator=( const Self& ); // purposely not implemented
102 
104 };
105 }
106 
107 #ifndef ITK_MANUAL_INSTANTIATION
108 #include "itkAnalyticSignalImageFilter.hxx"
109 #endif
110 
111 #endif // __itkAnalyticSignalImageFilter_h
Superclass::RegionType RegionType
Definition: itkImage.h:137
FFTRealToComplexType::Pointer m_FFTRealToComplexFilter
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Definition: itkArray.h:30
virtual void SetDirection(const unsigned int direction)
Image< TPixel, VDimension > InputImageType
ImageToImageFilter< InputImageType, OutputImageType > Superclass
FFT1DRealToComplexConjugateImageFilter< TPixel, VDimension > FFTRealToComplexType
virtual unsigned int GetDirection() const
OutputImageType::RegionType OutputImageRegionType
FFT1DComplexToComplexImageFilter< TPixel, VDimension > FFTComplexToComplexType
Divide an image region into several pieces.
FFTComplexToComplexType::Pointer m_FFTComplexToComplexFilter
unsigned int ThreadIdType
Definition: itkIntTypes.h:159
Base class for filters that take an image as input and produce an image as output.
ImageRegionSplitterDirection::Pointer m_ImageRegionSplitter
Control indentation during Print() invocation.
Definition: itkIndent.h:49
Base class for all data objects in ITK.
Templated n-dimensional image class.
Definition: itkImage.h:75
Image< std::complex< TPixel >, VDimension > OutputImageType