Isis 3 Programmer Reference
Interpolator.h
1#ifndef Interpolator_h
2#define Interpolator_h
8/* SPDX-License-Identifier: CC0-1.0 */
9#include "SpecialPixel.h"
10
11namespace Isis {
35 public:
41 None = 0,
42 NearestNeighborType = 1,
43 BiLinearType = 2,
44 CubicConvolutionType = 4
45 };
46
47 private:
53
54
55 void Init();
56
57
58 double NearestNeighbor(const double isamp, const double iline,
59 const double buf[]);
60
61 // Do a bilinear interpolation on the buf
62 double BiLinear(const double isamp, const double iline,
63 const double buf[]);
64
65 // Do a cubic convolution on the buf
66 double CubicConvolution(const double isamp, const double iline,
67 const double buf[]);
68
69
70 public:
71 // Constructores / destructores
73 Interpolator(const interpType &type);
75
76
77 // Perform the interpolation with the current settings
78 double Interpolate(const double isamp, const double iline,
79 const double buf[]);
80
81
82 // Set the type of interpolation
83 void SetType(const interpType &type);
84
85
86 // Return sizes needed by the interpolator
87 int Samples();
88 int Lines();
89
90
91 // Return the hot spot (center pixel) of the interpolator zero based
92 double HotSample();
93 double HotLine();
94 };
95};
96#endif
Pixel interpolator.
Interpolator()
Constructs an empty Interpolator object.
int Samples()
Returns the number of samples needed by the interpolator.
~Interpolator()
Destroys the Interpolator object.
double CubicConvolution(const double isamp, const double iline, const double buf[])
Performs a cubic-convulsion interpolation on the buffer data.
int Lines()
Returns the number of lines needed by the interpolator.
double HotSample()
Returns the sample coordinate of the center pixel in the buffer for the interpolator.
double NearestNeighbor(const double isamp, const double iline, const double buf[])
Performs a nearest-neighbor interpolation on the buffer data.
void Init()
Initializes the object data members.
double BiLinear(const double isamp, const double iline, const double buf[])
Performs a bi-linear interpolation on the buffer data.
double HotLine()
Returns the line coordinate of the center pixel in the buffer for the interpolator.
interpType p_type
The type of interpolation to be performed.
interpType
The interpolator type, including: None, Nearest Neighbor, BiLinear or Cubic Convultion.
void SetType(const interpType &type)
Sets the type of interpolation.
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.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16