ITK  6.0.0
Insight Toolkit
itkProjectedIterativeDeconvolutionImageFilter.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 itkProjectedIterativeDeconvolutionImageFilter_h
19#define itkProjectedIterativeDeconvolutionImageFilter_h
20
22
24
25namespace itk
26{
45template <typename TSuperclass>
46class ITK_TEMPLATE_EXPORT ProjectedIterativeDeconvolutionImageFilter : public TSuperclass
47{
48public:
49 ITK_DISALLOW_COPY_AND_MOVE(ProjectedIterativeDeconvolutionImageFilter);
50
53 using Superclass = TSuperclass;
56
58 using typename Superclass::InputImageType;
59 using typename Superclass::KernelImageType;
60 using typename Superclass::OutputImageType;
61
63 using typename Superclass::InternalImageType;
64 using typename Superclass::InternalImagePointerType;
65 using typename Superclass::InternalComplexType;
66 using typename Superclass::InternalComplexImageType;
67 using typename Superclass::InternalComplexImagePointerType;
68
70 itkNewMacro(Self);
71
73 itkOverrideGetNameOfClassMacro(ProjectedIterativeDeconvolutionImageFilter);
74
75protected:
78
79 void
80 Initialize(ProgressAccumulator * progress, float progressWeight, float iterationProgressWeight) override;
81
82 void
83 Iteration(ProgressAccumulator * progress, float iterationProgressWeight) override;
84
85private:
87
88 typename ProjectionFilterType::Pointer m_ProjectionFilter{};
89};
90} // namespace itk
91
92#ifndef ITK_MANUAL_INSTANTIATION
93# include "itkProjectedIterativeDeconvolutionImageFilter.hxx"
94#endif
95
96#endif
Facilitates progress reporting for filters that wrap around multiple other filters.
Mix-in class that adds a projection step after each iteration.
void Initialize(ProgressAccumulator *progress, float progressWeight, float iterationProgressWeight) override
void Iteration(ProgressAccumulator *progress, float iterationProgressWeight) override
Set image values to a user-specified value if they are below, above, or outside threshold values.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....