Orfeo Toolbox
3.16
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
OTB
Utilities
ITK
Code
Review
itkComplexBSplineInterpolateImageFunction.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Insight Segmentation & Registration Toolkit
4
Module: $RCSfile: itkComplexBSplineInterpolateImageFunction.h,v $
5
Language: C++
6
Date: $Date: 2009-05-15 20:10:02 $
7
Version: $Revision: 1.2 $
8
9
Copyright ( c ) Insight Software Consortium. All rights reserved.
10
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11
12
This software is distributed WITHOUT ANY WARRANTY; without even
13
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14
PURPOSE. See the above copyright notices for more information.
15
16
=========================================================================*/
17
18
#ifndef __itkComplexBSplineInterpolateImageFunction_h
19
#define __itkComplexBSplineInterpolateImageFunction_h
20
21
#include "
itkInterpolateImageFunction.h
"
22
#include "
itkBSplineInterpolateImageFunction.h
"
23
#include "
itkComplexToRealImageFilter.h
"
24
#include "
itkComplexToImaginaryImageFilter.h
"
25
26
namespace
itk {
42
template
<
class
TImageType,
class
TCoordRep =
double
,
class
TCoefficientType =
double
>
43
class
ITK_EXPORT
ComplexBSplineInterpolateImageFunction
:
44
public
InterpolateImageFunction
< TImageType, TCoordRep >
45
{
46
public
:
48
typedef
ComplexBSplineInterpolateImageFunction
Self
;
50
typedef
InterpolateImageFunction< TImageType, TCoordRep >
Superclass
;
52
typedef
SmartPointer< Self >
Pointer
;
54
typedef
SmartPointer< const Self >
ConstPointer
;
55
57
itkTypeMacro(
ComplexBSplineInterpolateImageFunction
,
InterpolateImageFunction
);
58
59
61
itkNewMacro(
Self
);
62
64
itkStaticConstMacro( ImageDimension,
unsigned
int
,Superclass::ImageDimension );
65
67
typedef
typename
Superclass::OutputType
OutputType
;
68
70
typedef
typename
Superclass::InputImageType
InputImageType
;
71
73
typedef
typename
Superclass::IndexType
IndexType
;
74
76
typedef
typename
Superclass::ContinuousIndexType
ContinuousIndexType
;
77
79
typedef
typename
Superclass::PointType
PointType
;
80
82
typedef
Image< double, itkGetStaticConstMacro( ImageDimension ) >
InternalImageType
;
83
85
typedef
ComplexToRealImageFilter< InputImageType, InternalImageType >
RealFilterType
;
86
typedef
ComplexToImaginaryImageFilter< InputImageType, InternalImageType >
ImaginaryFilterType
;
87
89
typedef
BSplineInterpolateImageFunction< InternalImageType, TCoordRep, TCoefficientType >
InterpolatorType
;
90
91
92
101
virtual
OutputType
EvaluateAtContinuousIndex(
const
ContinuousIndexType
& index )
const
;
102
104
/* typedef CovariantVector< OutputType, itkGetStaticConstMacro( ImageDimension ) > CovariantVectorType;
105
106
CovariantVectorType EvaluateDerivative( const PointType & point ) const
107
{
108
ContinuousIndexType index;
109
this->GetInputImage()->TransformPhysicalPointToContinuousIndex( point, index );
110
return ( this->EvaluateDerivativeAtContinuousIndex( index ) );
111
}
112
113
CovariantVectorType EvaluateDerivativeAtContinuousIndex( const ContinuousIndexType & x ) const;
114
*/
115
118
void
SetSplineOrder(
unsigned
int
SplineOrder );
119
itkGetConstMacro( SplineOrder,
int
);
120
122
virtual
void
SetInputImage(
const
TImageType * inputData);
123
124
125
protected
:
126
ComplexBSplineInterpolateImageFunction
();
127
virtual
~ComplexBSplineInterpolateImageFunction
() {};
128
void
operator=(
const
Self& );
//purposely not implemented
129
void
PrintSelf(std::ostream& os,
Indent
indent)
const
;
130
131
132
private
:
133
ComplexBSplineInterpolateImageFunction
(
const
Self& );
//purposely not implemented
134
135
136
unsigned
int
m_SplineOrder
;
137
typename
InterpolatorType::Pointer
m_RealInterpolator
;
138
typename
InterpolatorType::Pointer
m_ImaginaryInterpolator
;
139
typename
RealFilterType::Pointer
m_RealFilter
;
140
typename
ImaginaryFilterType::Pointer
m_ImaginaryFilter
;
141
142
};
// class
143
144
145
}
// namespace
146
147
148
#ifndef ITK_MANUAL_INSTANTIATION
149
#include "
itkComplexBSplineInterpolateImageFunction.txx
"
150
#endif
151
152
#endif
Generated at Sat Feb 2 2013 23:32:37 for
Orfeo Toolbox
with
doxygen 1.8.1.1