Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
itkSpectra1DSupportWindowImageFilter.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 itkSpectra1DSupportWindowImageFilter_h
30 #define itkSpectra1DSupportWindowImageFilter_h
31 
32 #include <deque>
33 
34 #include "itkImageToImageFilter.h"
35 
36 namespace itk
37 {
38 
52 template< typename TInputImage >
54  public ImageToImageFilter< TInputImage,
55  Image< std::deque< typename TInputImage::IndexType >, TInputImage::ImageDimension > >
56 {
57 public:
58  itkStaticConstMacro( ImageDimension, unsigned int, TInputImage::ImageDimension );
59 
60  typedef TInputImage InputImageType;
61  typedef typename InputImageType::IndexType IndexType;
62 
63  typedef std::deque< IndexType > OutputPixelType;
64  typedef Image< OutputPixelType, ImageDimension > OutputImageType;
65 
66  typedef unsigned int FFT1DSizeType;
67 
70  typedef ImageToImageFilter< InputImageType, OutputImageType > Superclass;
73 
74  itkTypeMacro( Spectra1DSupportWindowImageFilter, ImageToImageFilter );
75  itkNewMacro( Self );
76 
79  itkGetConstMacro( FFT1DSize, FFT1DSizeType );
80  itkSetMacro( FFT1DSize, FFT1DSizeType );
81 
83  itkGetConstMacro( Step, SizeValueType );
84  itkSetMacro( Step, SizeValueType );
85 
86 protected:
89 
90  typedef typename OutputImageType::RegionType OutputImageRegionType;
91 
92  virtual void GenerateOutputInformation() ITK_OVERRIDE;
93 
94  virtual void ThreadedGenerateData( const OutputImageRegionType & outputRegionForThread, ThreadIdType threadId ) ITK_OVERRIDE;
95  virtual void AfterThreadedGenerateData() ITK_OVERRIDE;
96 
97  virtual void PrintSelf( std::ostream & os, Indent indent ) const ITK_OVERRIDE;
98 
99 private:
100  Spectra1DSupportWindowImageFilter( const Self & ); // purposely not implemented
101  void operator=( const Self & ); // purposely not implemented
102 
103  FFT1DSizeType m_FFT1DSize;
104  SizeValueType m_Step;
105 };
106 
107 } // end namespace itk
108 
109 #ifndef ITK_MANUAL_INSTANTIATION
110 #include "itkSpectra1DSupportWindowImageFilter.hxx"
111 #endif
112 
113 #endif // itkSpectra1DSupportWindowImageFilter_h
itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension)
Generate an image of local spectra computation support windows.
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
ImageToImageFilter< InputImageType, OutputImageType > Superclass
virtual void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) ITK_OVERRIDE
virtual void AfterThreadedGenerateData() ITK_OVERRIDE
virtual void GenerateOutputInformation() ITK_OVERRIDE
Image< OutputPixelType, ImageDimension > OutputImageType