All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Interpolator.cpp File Reference

It interpolates one pixel based on a selected algorithm. More...

#include "Interpolator.h"
#include "Band.h"
#include "BandProperty.h"
#include "Utils.h"
#include "Exception.h"
#include <cassert>

Go to the source code of this file.

Macros

#define BICUBIC_K1(x, a)
 
#define BICUBIC_K2(x, a)
 
#define BICUBIC_KERNEL(x, a)   BICUBIC_RANGES( BICUBIC_MODULE(x) , a )
 
#define BICUBIC_MODULE(x)   ( ( x < 0 ) ? ( -1 * x ) : x )
 
#define BICUBIC_RANGES(x, a)
 

Detailed Description

It interpolates one pixel based on a selected algorithm.

Definition in file Interpolator.cpp.

Macro Definition Documentation

#define BICUBIC_K1 (   x,
 
)
Value:
( ( ( a + 2 ) * x * x * x ) - \
( ( a + 3 ) * x * x ) + 1 )

Definition at line 37 of file Interpolator.cpp.

#define BICUBIC_K2 (   x,
 
)
Value:
( ( a * x * x * x ) - ( 5 * a * x * x ) + \
( 8 * a * x ) - ( 4 * a ) )

Definition at line 39 of file Interpolator.cpp.

#define BICUBIC_KERNEL (   x,
 
)    BICUBIC_RANGES( BICUBIC_MODULE(x) , a )

Definition at line 47 of file Interpolator.cpp.

Referenced by te::rst::Interpolator::bicubicGetValue().

#define BICUBIC_MODULE (   x)    ( ( x < 0 ) ? ( -1 * x ) : x )

Definition at line 36 of file Interpolator.cpp.

#define BICUBIC_RANGES (   x,
 
)
Value:
( ( ( 0 <= x ) && ( x <= 1 ) ) ? \
BICUBIC_K1(x,a) \
: ( ( ( 1 < x ) && ( x <= 2 ) ) ? \
BICUBIC_K2(x,a) \
: 0 ) )
#define BICUBIC_K2(x, a)
#define BICUBIC_K1(x, a)

Definition at line 41 of file Interpolator.cpp.