ITK  6.0.0
Insight Toolkit
itkAddPixelAccessor.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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 * https://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 itkAddPixelAccessor_h
19#define itkAddPixelAccessor_h
20
21#include "itkNumericTraits.h"
22
23namespace itk
24{
25namespace Accessor
26{
44template <typename TPixel>
46{
47public:
49 using Self = AddPixelAccessor;
50
53 using ExternalType = TPixel;
54
57 using InternalType = TPixel;
58
60 inline void
61 Set(InternalType & output, const ExternalType & input) const
62 {
63 output = static_cast<InternalType>(input - m_Value);
64 }
65
68 Get(const InternalType & input) const
69 {
70 return static_cast<ExternalType>(input + m_Value);
71 }
72
74 void
75 SetValue(const TPixel & newvalue)
76 {
77 m_Value = newvalue;
78 }
79
81 TPixel
82 GetValue() const
83 {
84 return m_Value;
85 }
86
89 operator=(const Self & apa)
90 {
91 this->m_Value = apa.m_Value;
92 return *this;
93 }
94
97 : m_Value(TPixel{})
98 {}
99 AddPixelAccessor(const Self & apa)
100 : m_Value(apa.m_Value)
101 {}
104private:
105 TPixel m_Value;
106};
107} // end namespace Accessor
108} // end namespace itk
109
110#endif
Pixel-wise addition of two images.
Simulates the effect of adding a constant value to all pixels.
ExternalType Get(const InternalType &input) const
Self & operator=(const Self &apa)
void Set(InternalType &output, const ExternalType &input) const
void SetValue(const TPixel &newvalue)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....