Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Interpolator.h
Go to the documentation of this file.
1
23
#ifndef Interpolator_h
24
#define Interpolator_h
25
26
#include "
SpecialPixel.h
"
27
28
namespace
Isis {
51
class
Interpolator
{
52
public
:
57
enum
interpType
{
58
None = 0,
59
NearestNeighborType = 1,
60
BiLinearType = 2,
61
CubicConvolutionType = 4
62
};
63
64
private
:
69
interpType
p_type
;
70
71
72
void
Init
();
73
74
75
double
NearestNeighbor
(
const
double
isamp,
const
double
iline,
76
const
double
buf[]);
77
78
// Do a bilinear interpolation on the buf
79
double
BiLinear
(
const
double
isamp,
const
double
iline,
80
const
double
buf[]);
81
82
// Do a cubic convolution on the buf
83
double
CubicConvolution
(
const
double
isamp,
const
double
iline,
84
const
double
buf[]);
85
86
87
public
:
88
// Constructores / destructores
89
Interpolator
();
90
Interpolator
(
const
interpType
&type);
91
~Interpolator
();
92
93
94
// Perform the interpolation with the current settings
95
double
Interpolate
(
const
double
isamp,
const
double
iline,
96
const
double
buf[]);
97
98
99
// Set the type of interpolation
100
void
SetType
(
const
interpType
&type);
101
102
103
// Return sizes needed by the interpolator
104
int
Samples
();
105
int
Lines
();
106
107
108
// Return the hot spot (center pixel) of the interpolator zero based
109
double
HotSample
();
110
double
HotLine
();
111
};
112
};
113
#endif