ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkAddImageFilter.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 itkAddImageFilter_h
19 #define itkAddImageFilter_h
20 
23 #include "itkNumericTraits.h"
24 
25 namespace itk
26 {
27 
78 template< typename TInputImage1, typename TInputImage2 = TInputImage1, typename TOutputImage = TInputImage1 >
79 class ITK_TEMPLATE_EXPORT AddImageFilter:
80  public
81  BinaryGeneratorImageFilter< TInputImage1, TInputImage2, TOutputImage >
82 
83 {
84 public:
85 
86  ITK_DISALLOW_COPY_AND_ASSIGN(AddImageFilter);
87 
91 
92 
95 
96  using FunctorType = Functor::Add2< typename TInputImage1::PixelType,
97  typename TInputImage2::PixelType,
98  typename TOutputImage::PixelType >;
99 
101  itkNewMacro(Self);
102 
104  itkTypeMacro(AddImageFilter,
106 
107 #ifdef ITK_USE_CONCEPT_CHECKING
108  // Begin concept checking
109  itkConceptMacro( Input1Input2OutputAdditiveOperatorsCheck,
110  ( Concept::AdditiveOperators< typename TInputImage1::PixelType,
111  typename TInputImage2::PixelType,
112  typename TOutputImage::PixelType > ) );
113  // End concept checking
114 #endif
115 
116 protected:
118  {
119 #if !defined( ITK_WRAPPING_PARSER )
120  Superclass::SetFunctor(FunctorType());
121 #endif
122  }
123  ~AddImageFilter() override = default;
124 };
125 } // end namespace itk
126 
127 #endif
Pixel-wise addition of two images.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for all process objects that output image data.
Implements pixel-wise generic operation of two images, or of an image and a constant.
#define itkConceptMacro(name, concept)