Isis 3 Developer Reference
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,
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
double HotSample()
Returns the sample coordinate of the center pixel in the buffer for the interpolator.
Definition: Interpolator.cpp:281
interpType
The interpolator type, including: None, Nearest Neighbor, BiLinear or Cubic Convultion.
Definition: Interpolator.h:57
double Interpolate(const double isamp, const double iline, const double buf[])
Performs an interpolation on the data according to the parameters set in the constructor.
Definition: Interpolator.cpp:72
Interpolator()
Constructs an empty Interpolator object.
Definition: Interpolator.cpp:33
void SetType(const interpType &type)
Sets the type of interpolation.
Definition: Interpolator.cpp:101
Definition: Interpolator.h:59
double HotLine()
Returns the line coordinate of the center pixel in the buffer for the interpolator.
Definition: Interpolator.cpp:313
Definition: Interpolator.h:58
int Samples()
Returns the number of samples needed by the interpolator.
Definition: Interpolator.cpp:224
~Interpolator()
Destroys the Interpolator object.
Definition: Interpolator.cpp:50
int Lines()
Returns the number of lines needed by the interpolator.
Definition: Interpolator.cpp:252
Pixel interpolator.
Definition: Interpolator.h:51
Definition: Interpolator.h:60
Definition: Interpolator.h:61
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31