ITK  6.0.0
Insight Toolkit
itkBSplineResampleImageFunction.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 itkBSplineResampleImageFunction_h
29 #define itkBSplineResampleImageFunction_h
30 
32 
33 namespace itk
34 {
56 template <typename TImageType, typename TCoordRep = float>
58  : public BSplineInterpolateImageFunction<TImageType, TCoordRep, typename TImageType::PixelType>
59 {
60 public:
61  ITK_DISALLOW_COPY_AND_MOVE(BSplineResampleImageFunction);
62 
66 
69 
71  itkOverrideGetNameOfClassMacro(BSplineResampleImageFunction);
72 
74  itkNewMacro(Self);
75 
77  void
78  SetInputImage(const TImageType * inputData) override
79  {
80  // bypass my superclass
82  this->m_Coefficients = inputData;
83  if (this->m_Coefficients.IsNotNull())
84  {
85  this->m_DataLength = this->m_Coefficients->GetBufferedRegion().GetSize();
86  }
87  }
90 protected:
91  BSplineResampleImageFunction() = default;
92  ~BSplineResampleImageFunction() override = default;
93 };
94 } // namespace itk
95 
96 #endif
itk::BSplineResampleImageFunction::~BSplineResampleImageFunction
~BSplineResampleImageFunction() override=default
itk::BSplineInterpolateImageFunction
Evaluates the B-Spline interpolation of an image. Spline order may be from 0 to 5.
Definition: itkBSplineInterpolateImageFunction.h:83
itk::SmartPointer< Self >
itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TImageType::PixelType >::m_DataLength
TImageType::SizeType m_DataLength
Definition: itkBSplineInterpolateImageFunction.h:362
itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TImageType::PixelType >::m_Coefficients
CoefficientImageType::ConstPointer m_Coefficients
Definition: itkBSplineInterpolateImageFunction.h:367
itkBSplineInterpolateImageFunction.h
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::BSplineResampleImageFunction
Resample image intensity from a BSpline coefficient image.
Definition: itkBSplineResampleImageFunction.h:57
itk::ImageFunction< TInputImage, NumericTraits< TInputImage::PixelType >::RealType, TCoordRep >::SetInputImage
virtual void SetInputImage(const InputImageType *ptr)
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnatomicalOrientation.h:29
itk::SmartPointer::IsNotNull
bool IsNotNull() const noexcept
Definition: itkSmartPointer.h:117
itk::BSplineResampleImageFunction::SetInputImage
void SetInputImage(const TImageType *inputData) override
Definition: itkBSplineResampleImageFunction.h:78
itk::BSplineResampleImageFunction::BSplineResampleImageFunction
BSplineResampleImageFunction()=default