mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
mx::improc::cubicConvolTransform< _arithT > Struct Template Reference

template<typename _arithT>
struct mx::improc::cubicConvolTransform< _arithT >

Transformation by cubic convolution interpolation.

Uses the cubic convolution interpolation kernel. See https://en.wikipedia.org/wiki/Bicubic_interpolation .

The parameter cubic should be left as the default -0.5 in most cases, which gives the bicubic spline interpolator. See https://en.wikipedia.org/wiki/Cubic_Hermite_spline.

Template Parameters
_arithTis the type in which to do all calculations. Should be a floating point type.
Test:
Scenario: Verify direction and accuracy of various image shifts [test doc]

Definition at line 89 of file imageTransforms.hpp.

#include <improc/imageTransforms.hpp>

Public Types

typedef _arithT arithT
 The type in which all calculations are performed. More...
 

Public Member Functions

 cubicConvolTransform ()
 Default c'tor. More...
 
 cubicConvolTransform (arithT c)
 Construct setting the kernel parameter. More...
 
 cubicConvolTransform (const cubicConvolTransform &t)
 Copy c'tor. More...
 
arithT cubicConvolKernel (arithT d)
 Calculate the kernel value for a given residual. More...
 

Public Attributes

arithT cubic {-0.5}
 The kernel parameter. The default value -0.5 gives the bicubic spline interpolator. More...
 

Member Typedef Documentation

◆ arithT

template<typename _arithT >
typedef _arithT mx::improc::cubicConvolTransform< _arithT >::arithT

The type in which all calculations are performed.

Definition at line 91 of file imageTransforms.hpp.

Constructor & Destructor Documentation

◆ cubicConvolTransform() [1/3]

template<typename _arithT >
mx::improc::cubicConvolTransform< _arithT >::cubicConvolTransform ( )
inline

Default c'tor.

This will provide the bicubic spline interpolator

Definition at line 102 of file imageTransforms.hpp.

◆ cubicConvolTransform() [2/3]

template<typename _arithT >
mx::improc::cubicConvolTransform< _arithT >::cubicConvolTransform ( arithT  c)
inlineexplicit

Construct setting the kernel parameter.

Parameters
[in]c[optiona] The kernel parameter. The default value -0.5 gives the bicubic spline interpolator.

Definition at line 105 of file imageTransforms.hpp.

References mx::astro::constants::c(), and mx::improc::cubicConvolTransform< _arithT >::cubic.

◆ cubicConvolTransform() [3/3]

template<typename _arithT >
mx::improc::cubicConvolTransform< _arithT >::cubicConvolTransform ( const cubicConvolTransform< _arithT > &  t)
inline

Copy c'tor.

Definition at line 111 of file imageTransforms.hpp.

References mx::improc::cubicConvolTransform< _arithT >::cubic.

Member Function Documentation

◆ cubicConvolKernel()

template<typename _arithT >
arithT mx::improc::cubicConvolTransform< _arithT >::cubicConvolKernel ( arithT  d)
inline

Calculate the kernel value for a given residual.

Definition at line 117 of file imageTransforms.hpp.

References mx::improc::cubicConvolTransform< _arithT >::cubic.

Member Data Documentation

◆ cubic

template<typename _arithT >
arithT mx::improc::cubicConvolTransform< _arithT >::cubic {-0.5}

The kernel parameter. The default value -0.5 gives the bicubic spline interpolator.

Definition at line 96 of file imageTransforms.hpp.

Referenced by mx::improc::cubicConvolTransform< _arithT >::cubicConvolTransform(), and mx::improc::cubicConvolTransform< _arithT >::cubicConvolKernel().


The documentation for this struct was generated from the following file: