ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkMeanImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkMeanImageFilter_h
19 #define itkMeanImageFilter_h
20 
21 #include "itkBoxImageFilter.h"
22 #include "itkImage.h"
23 #include "itkNumericTraits.h"
24 
25 namespace itk
26 {
47 template< typename TInputImage, typename TOutputImage >
48 class ITK_TEMPLATE_EXPORT MeanImageFilter:
49  public BoxImageFilter< TInputImage, TOutputImage >
50 {
51 public:
52  ITK_DISALLOW_COPY_AND_ASSIGN(MeanImageFilter);
53 
55  static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
56  static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
57 
59  using InputImageType = TInputImage;
60  using OutputImageType = TOutputImage;
61 
67 
69  itkNewMacro(Self);
70 
72  itkTypeMacro(MeanImageFilter, BoxImageFilter);
73 
75  using InputPixelType = typename InputImageType::PixelType;
76  using OutputPixelType = typename OutputImageType::PixelType;
78 
81 
83 
84 #ifdef ITK_USE_CONCEPT_CHECKING
85  // Begin concept checking
86  itkConceptMacro( InputHasNumericTraitsCheck,
88  // End concept checking
89 #endif
90 
91 protected:
93  ~MeanImageFilter() override = default;
94 
105  void DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
106 
107 };
108 } // end namespace itk
109 
110 #ifndef ITK_MANUAL_INSTANTIATION
111 #include "itkMeanImageFilter.hxx"
112 #endif
113 
114 #endif
Define numeric traits for std::vector.
typename TOutputImage::PixelType OutputPixelType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Applies an averaging filter to an image.
Base class for all process objects that output image data.
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
typename TInputImage::PixelType InputPixelType
A base class for all the filters working on a box neighborhood.
typename InputImageType::RegionType InputImageRegionType
#define itkConceptMacro(name, concept)
typename NumericTraits< InputPixelType >::RealType InputRealType
typename InputImageType::SizeType InputSizeType