ITK  6.0.0
Insight Toolkit
itkNormalizeToConstantImageFilter.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 itkNormalizeToConstantImageFilter_h
19#define itkNormalizeToConstantImageFilter_h
20
22#include "itkConceptChecking.h"
23
24namespace itk
25{
26
55template <typename TInputImage, typename TOutputImage>
56class ITK_TEMPLATE_EXPORT NormalizeToConstantImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
57{
58public:
59 ITK_DISALLOW_COPY_AND_MOVE(NormalizeToConstantImageFilter);
60
63
65
68
70 using InputImageType = TInputImage;
71 using OutputImageType = TOutputImage;
74 using InputImagePixelType = typename InputImageType::PixelType;
77 using OutputImagePixelType = typename OutputImageType::PixelType;
81
83
85 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
86 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
87 static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
88
90 itkNewMacro(Self);
91
93 itkOverrideGetNameOfClassMacro(NormalizeToConstantImageFilter);
94
96 itkSetMacro(Constant, RealType);
97 itkGetConstMacro(Constant, RealType);
100#ifdef ITK_USE_CONCEPT_CHECKING
101 // Begin concept checking
104 // End concept checking
105#endif
106
107protected:
110 void
111 PrintSelf(std::ostream & os, Indent indent) const override;
112
113 void
115
116 void
117 GenerateData() override;
118
119private:
120 RealType m_Constant{};
121
122}; // end of class
123} // end namespace itk
124
125#ifndef ITK_MANUAL_INSTANTIATION
126# include "itkNormalizeToConstantImageFilter.hxx"
127#endif
128
129#endif
Base class for all process objects that output image data.
typename OutputImageType::PixelType OutputImagePixelType
TOutputImage OutputImageType
typename OutputImageType::Pointer OutputImagePointer
Base class for filters that take an image as input and produce an image as output.
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::Pointer InputImagePointer
typename InputImageType::PixelType InputImagePixelType
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Scales image pixel intensities to make the sum of all pixels equal a user-defined constant.
~NormalizeToConstantImageFilter() override=default
typename InputImageType::RegionType RegionType
typename InputImageType::IndexType IndexType
typename OutputImageType::ConstPointer OutputImageConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override
typename NumericTraits< InputImagePixelType >::RealType RealType
void GenerateInputRequestedRegion() override
Define additional traits for native types such as int or float.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....