ITK  6.0.0
Insight Toolkit
itkBSplineCenteredResampleImageFilterBase.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/*=========================================================================
19 *
20 * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21 *
22 * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23 *
24 * For complete copyright, license and disclaimer of warranty information
25 * please refer to the NOTICE file at the top of the ITK source tree.
26 *
27 *=========================================================================*/
28#ifndef itkBSplineCenteredResampleImageFilterBase_h
29#define itkBSplineCenteredResampleImageFilterBase_h
30
32#include "itkProgressReporter.h"
33#include <vector>
34
35namespace itk
36{
37
64template <typename TInputImage, typename TOutputImage>
66 : public BSplineResampleImageFilterBase<TInputImage, TOutputImage>
67{
68public:
69 ITK_DISALLOW_COPY_AND_MOVE(BSplineCenteredResampleImageFilterBase);
70
76
78 itkOverrideGetNameOfClassMacro(BSplineCenteredResampleImageFilterBase);
79
81 itkNewMacro(Self);
82
84 using typename Superclass::OutputImagePixelType;
85
87 using typename Superclass::OutputImageIterator;
88
89protected:
90 void
91 InitializePyramidSplineFilter(int SplineOrder) override;
92
93 void
94 Reduce1DImage(const std::vector<double> & in,
96 unsigned int inTraverseSize,
97 ProgressReporter & progress) override;
98
99 void
100 Expand1DImage(const std::vector<double> & in,
102 unsigned int inTraverseSize,
103 ProgressReporter & progress) override;
104
105protected:
108 void
109 PrintSelf(std::ostream & os, Indent indent) const override;
110
111private:
114
115 // implemented
116};
117} // namespace itk
118
119#ifndef ITK_MANUAL_INSTANTIATION
120# include "itkBSplineCenteredResampleImageFilterBase.hxx"
121#endif
122
123#endif
Evaluates the Centered B-Spline interpolation of an image. Spline order may be from 0 to 5.
void Expand1DImage(const std::vector< double > &in, OutputImageIterator &out, unsigned int inTraverseSize, ProgressReporter &progress) override
void PrintSelf(std::ostream &os, Indent indent) const override
void Reduce1DImage(const std::vector< double > &in, OutputImageIterator &out, unsigned int inTraverseSize, ProgressReporter &progress) override
~BSplineCenteredResampleImageFilterBase() override=default
void InitializePyramidSplineFilter(int SplineOrder) override
Uses the "l2" spline pyramid implementation of B-Spline Filters to up/down sample an image by a facto...
A multi-dimensional image iterator that visits image pixels within a region in a "scan-line" order.
Base class for all process objects that output image data.
Control indentation during Print() invocation.
Definition: itkIndent.h:50
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Implements progress tracking for a filter.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
long IndexValueType
Definition: itkIntTypes.h:93
unsigned long SizeValueType
Definition: itkIntTypes.h:86