ITK
5.1.0
Insight Toolkit
ITK
Modules
Core
ImageFunction
include
itkExtrapolateImageFunction.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
* http://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 itkExtrapolateImageFunction_h
19
#define itkExtrapolateImageFunction_h
20
21
#include "
itkImageFunction.h
"
22
23
namespace
itk
24
{
43
template
<
typename
TInputImage,
typename
TCoordRep =
float
>
44
class
ExtrapolateImageFunction
45
:
public
ImageFunction
<TInputImage, typename NumericTraits<typename TInputImage::PixelType>::RealType, TCoordRep>
46
{
47
public
:
48
ITK_DISALLOW_COPY_AND_ASSIGN(
ExtrapolateImageFunction
);
49
51
using
Self
=
ExtrapolateImageFunction
;
52
using
Superclass
=
53
ImageFunction<TInputImage, typename NumericTraits<typename TInputImage::PixelType>::RealType
, TCoordRep>;
54
using
Pointer
=
SmartPointer<Self>
;
55
using
ConstPointer
=
SmartPointer<const Self>
;
56
58
itkTypeMacro(
ExtrapolateImageFunction
,
ImageFunction
);
59
61
using
OutputType
=
typename
Superclass::OutputType
;
62
64
using
InputImageType
=
typename
Superclass::InputImageType
;
65
67
static
constexpr
unsigned
int
ImageDimension
=
Superclass::ImageDimension
;
68
70
using
PointType
=
typename
Superclass::PointType
;
71
73
using
IndexType
=
typename
Superclass::IndexType
;
74
76
using
ContinuousIndexType
=
typename
Superclass::ContinuousIndexType
;
77
79
using
RealType
=
typename
NumericTraits<typename TInputImage::PixelType>::RealType
;
80
86
OutputType
87
Evaluate
(
const
PointType
& point)
const override
88
{
89
ContinuousIndexType
index;
90
91
this->
GetInputImage
()->TransformPhysicalPointToContinuousIndex(point, index);
92
return
(this->
EvaluateAtContinuousIndex
(index));
93
}
94
100
OutputType
101
EvaluateAtContinuousIndex
(
const
ContinuousIndexType
& index)
const override
= 0;
102
108
OutputType
109
EvaluateAtIndex
(
const
IndexType
& index)
const override
= 0;
110
111
protected
:
112
ExtrapolateImageFunction
() =
default
;
113
~ExtrapolateImageFunction
()
override
=
default
;
114
void
115
PrintSelf
(std::ostream & os,
Indent
indent)
const override
116
{
117
Superclass::PrintSelf
(os, indent);
118
}
119
};
120
}
// end namespace itk
121
122
#endif
itk::ExtrapolateImageFunction
Base class for all image extrapolaters.
Definition:
itkExtrapolateImageFunction.h:44
itkImageFunction.h
itk::ExtrapolateImageFunction::PointType
typename Superclass::PointType PointType
Definition:
itkExtrapolateImageFunction.h:70
itk::ImageFunction::OutputType
TOutput OutputType
Definition:
itkImageFunction.h:84
itk::ImageFunction::InputImageType
TInputImage InputImageType
Definition:
itkImageFunction.h:75
itk::ExtrapolateImageFunction::EvaluateAtIndex
OutputType EvaluateAtIndex(const IndexType &index) const override=0
itk::ExtrapolateImageFunction::IndexType
typename Superclass::IndexType IndexType
Definition:
itkExtrapolateImageFunction.h:73
itk::ExtrapolateImageFunction::ExtrapolateImageFunction
ExtrapolateImageFunction()=default
itk::ExtrapolateImageFunction::~ExtrapolateImageFunction
~ExtrapolateImageFunction() override=default
itk::ImageFunction::IndexType
typename InputImageType::IndexType IndexType
Definition:
itkImageFunction.h:90
itk::ExtrapolateImageFunction::ImageDimension
static constexpr unsigned int ImageDimension
Definition:
itkExtrapolateImageFunction.h:67
itk::ExtrapolateImageFunction::InputImageType
typename Superclass::InputImageType InputImageType
Definition:
itkExtrapolateImageFunction.h:64
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition:
itkIndent.h:49
itk::ImageFunction::PointType
Point< TCoordRep, Self::ImageDimension > PointType
Definition:
itkImageFunction.h:97
itk::ExtrapolateImageFunction::OutputType
typename Superclass::OutputType OutputType
Definition:
itkExtrapolateImageFunction.h:61
itk::ImageFunction
Evaluates a function of an image at specified position.
Definition:
itkImageFunction.h:55
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:59
itk::ExtrapolateImageFunction::RealType
typename NumericTraits< typename TInputImage::PixelType >::RealType RealType
Definition:
itkExtrapolateImageFunction.h:79
itk::ImageFunction::ImageDimension
static constexpr unsigned int ImageDimension
Definition:
itkImageFunction.h:61
itk::ImageFunction::ContinuousIndexType
ContinuousIndex< TCoordRep, Self::ImageDimension > ContinuousIndexType
Definition:
itkImageFunction.h:94
itk::ExtrapolateImageFunction::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
Definition:
itkExtrapolateImageFunction.h:115
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkArray.h:26
itk::ExtrapolateImageFunction::Evaluate
OutputType Evaluate(const PointType &point) const override
Definition:
itkExtrapolateImageFunction.h:87
itk::NumericTraits::RealType
double RealType
Definition:
itkNumericTraits.h:84
itk::ExtrapolateImageFunction::EvaluateAtContinuousIndex
OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &index) const override=0
itk::ExtrapolateImageFunction::ContinuousIndexType
typename Superclass::ContinuousIndexType ContinuousIndexType
Definition:
itkExtrapolateImageFunction.h:76
itk::ImageFunction< TInputImage, NumericTraits< TInputImage::PixelType >::RealType, TCoordRep >::GetInputImage
const InputImageType * GetInputImage() const
Definition:
itkImageFunction.h:108
itk::ImageFunction::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
Generated on Sat Apr 25 2020 01:42:24 for ITK by
1.8.16