Medical Imaging Interaction Toolkit  2018.4.99-12ad79a3
Medical Imaging Interaction Toolkit
PhotoacousticsAlgorithms/ITKFilter/ITKUltrasound/itkFFT1DRealToComplexConjugateImageFilter.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 /*=========================================================================
13  *
14  * Copyright Insight Software Consortium
15  *
16  * Licensed under the Apache License, Version 2.0 (the "License");
17  * you may not use this file except in compliance with the License.
18  * You may obtain a copy of the License at
19  *
20  * http://www.apache.org/licenses/LICENSE-2.0.txt
21  *
22  * Unless required by applicable law or agreed to in writing, software
23  * distributed under the License is distributed on an "AS IS" BASIS,
24  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25  * See the License for the specific language governing permissions and
26  * limitations under the License.
27  *
28  *=========================================================================*/
29 #ifndef itkFFT1DRealToComplexConjugateImageFilter_h
30 #define itkFFT1DRealToComplexConjugateImageFilter_h
31 
32 #include <complex>
33 
34 #include "itkImageToImageFilter.h"
35 #include "itkImageRegionSplitterDirection.h"
36 
37 namespace itk
38 {
46 template< typename TInputImage, typename TOutputImage=Image< std::complex< typename TInputImage::PixelType >, TInputImage::ImageDimension > >
48  public ImageToImageFilter< TInputImage, TOutputImage >
49 {
50 public:
51 
53  typedef TInputImage InputImageType;
54  typedef TOutputImage OutputImageType;
55  typedef typename OutputImageType::RegionType OutputImageRegionType;
56 
58  typedef ImageToImageFilter< InputImageType, OutputImageType > Superclass;
61 
62  itkStaticConstMacro( ImageDimension, unsigned int, InputImageType::ImageDimension );
63 
64  itkTypeMacro( FFT1DRealToComplexConjugateImageFilter, ImageToImageFilter );
65 
71  static Pointer New();
72 
74  itkGetMacro(Direction, unsigned int);
75 
77  itkSetClampMacro(Direction, unsigned int, 0, ImageDimension - 1);
78 
79 protected:
82 
83  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
84 
85  void GenerateInputRequestedRegion() ITK_OVERRIDE;
86  void EnlargeOutputRequestedRegion(DataObject *output) ITK_OVERRIDE;
87 
88  void BeforeThreadedGenerateData() ITK_OVERRIDE;
89 
92  const ImageRegionSplitterBase* GetImageRegionSplitter() const ITK_OVERRIDE;
93 
94 private:
96  void operator=( const Self& );
97 
98  ImageRegionSplitterDirection::Pointer m_ImageRegionSplitter;
99 
102  unsigned int m_Direction;
103 
104 };
105 }
106 
107 #ifndef ITK_MANUAL_INSTANTIATION
108 #ifndef itkVnlFFT1DRealToComplexConjugateImageFilter_h
109 #ifndef itkVnlFFT1DRealToComplexConjugateImageFilter_hxx
110 #ifndef itkFFTW1DRealToComplexConjugateImageFilter_h
111 #ifndef itkFFTW1DRealToComplexConjugateImageFilter_hxx
112 #include "itkFFT1DRealToComplexConjugateImageFilter.hxx"
113 #endif
114 #endif
115 #endif
116 #endif
117 #endif
118 
119 #endif // itkFFT1DRealToComplexConjugateImageFilter_h
Perform the Fast Fourier Transform, in the forward direction, with real inputs, but only along one di...
void EnlargeOutputRequestedRegion(DataObject *output) ITK_OVERRIDE
const ImageRegionSplitterBase * GetImageRegionSplitter() const ITK_OVERRIDE
itkStaticConstMacro(ImageDimension, unsigned int, InputImageType::ImageDimension)
void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE