ITK  6.0.0
Insight Toolkit
itkHistogramToIntensityImageFilter.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 itkHistogramToIntensityImageFilter_h
19 #define itkHistogramToIntensityImageFilter_h
20 
22 
23 namespace itk
24 {
39 namespace Function
40 {
41 template <typename TInput, typename TOutput = SizeValueType>
43 {
44 public:
45  // Intensity function returns pixels of SizeValueType.
46  using OutputPixelType = TOutput;
47 
48  HistogramIntensityFunction() = default;
49 
50  ~HistogramIntensityFunction() = default;
51 
52  inline OutputPixelType
53  operator()(const TInput & A) const
54  {
55  return static_cast<OutputPixelType>(A);
56  }
57 
58  void
60  {
61  m_TotalFrequency = n;
62  }
63 
66  {
67  return m_TotalFrequency;
68  }
69 
70 private:
72 };
73 } // namespace Function
74 
75 template <typename THistogram, typename TImage = Image<SizeValueType, 3>>
77  : public HistogramToImageFilter<THistogram,
78  TImage,
79  Function::HistogramIntensityFunction<SizeValueType, typename TImage::PixelType>>
80 {
81 public:
82  ITK_DISALLOW_COPY_AND_MOVE(HistogramToIntensityImageFilter);
83 
86 
88  using Superclass =
89  HistogramToImageFilter<THistogram,
90  TImage,
92 
93  // using FunctorType = typename Function::HistogramIntensityFunction;
96 
98  itkOverrideGetNameOfClassMacro(HistogramToIntensityImageFilter);
99 
101  itkNewMacro(Self);
102 
103 protected:
105  ~HistogramToIntensityImageFilter() override = default;
106 };
107 } // end namespace itk
108 
109 #endif
itk::HistogramToIntensityImageFilter
The class takes a histogram as an input and produces an image as the output. A pixel,...
Definition: itkHistogramToIntensityImageFilter.h:76
itk::Function::HistogramIntensityFunction::m_TotalFrequency
SizeValueType m_TotalFrequency
Definition: itkHistogramToIntensityImageFilter.h:71
itk::Function::HistogramIntensityFunction::operator()
OutputPixelType operator()(const TInput &A) const
Definition: itkHistogramToIntensityImageFilter.h:53
itk::Function::HistogramIntensityFunction
Definition: itkHistogramToIntensityImageFilter.h:42
itkHistogramToImageFilter.h
itk::SmartPointer< Self >
itk::HistogramToIntensityImageFilter::~HistogramToIntensityImageFilter
~HistogramToIntensityImageFilter() override=default
itk::Function::HistogramIntensityFunction< SizeValueType, TImage::PixelType >::OutputPixelType
TImage::PixelType OutputPixelType
Definition: itkHistogramToIntensityImageFilter.h:46
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::Function::HistogramIntensityFunction::~HistogramIntensityFunction
~HistogramIntensityFunction()=default
itk::Function::HistogramIntensityFunction::GetTotalFrequency
SizeValueType GetTotalFrequency() const
Definition: itkHistogramToIntensityImageFilter.h:65
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnatomicalOrientation.h:29
itk::Function::HistogramIntensityFunction::HistogramIntensityFunction
HistogramIntensityFunction()=default
itk::Function::HistogramIntensityFunction::SetTotalFrequency
void SetTotalFrequency(SizeValueType n)
Definition: itkHistogramToIntensityImageFilter.h:59
itk::HistogramToImageFilter
This class takes a histogram as an input and returns an image of type specified by the functor.
Definition: itkHistogramToImageFilter.h:50
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:86
itk::HistogramToIntensityImageFilter::HistogramToIntensityImageFilter
HistogramToIntensityImageFilter()=default