vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
|
mirror gate 'folds' coordinates into the range. From the infinite number of mirror images resulting from mirroring the input on the bounds, the only one inside the range is picked as the result. When using this gate type with splines with MIRROR boundary conditions, if the shape of the core for the axis in question is M, _lower would be passed 0 and _upper M-1. For splines with REFLECT boundary conditions, we'd pass -0.5 to _lower and M-0.5 to upper, since here we mirror 'between bounds' and the defined range is wider. More...
#include <map.h>
Public Types | |
typedef vspline::unary_functor< rc_type, rc_type, _vsize > | base_type |
typedef vector_traits< IN, vsize >::type | in_v |
vectorized in_type and out_type. vspline::vector_traits supplies these types so that multidimensional/multichannel data come as vigra::TinyVectors, while 'singular' data won't be made into TinyVectors of one element. More... | |
typedef vector_traits< OUT, vsize >::type | out_v |
![]() | |
enum | |
enum | |
enum | |
typedef rc_type | in_type |
typedef rc_type | out_type |
typedef vspline::vector_traits< rc_type >::ele_type | in_ele_type |
typedef vspline::vector_traits< rc_type >::ele_type | out_ele_type |
typedef vigra::TinyVector< in_ele_type, dim_in > | in_nd_ele_type |
typedef vigra::TinyVector< out_ele_type, dim_out > | out_nd_ele_type |
typedef vector_traits< rc_type, vsize >::ele_v | in_ele_v |
a simdized type of the elementary type of result_type, which is used for coefficients and results. this is fixed via the traits class vector_traits (in vector.h). Note how we derive this type using vsize from the template argument, not what vspline::vector_traits deems appropriate for ele_type - though both numbers will be the same in most cases. More... | |
typedef vector_traits< rc_type, vsize >::ele_v | out_ele_v |
typedef vector_traits< rc_type, vsize >::nd_ele_v | in_nd_ele_v |
typedef vector_traits< rc_type, vsize >::nd_ele_v | out_nd_ele_v |
typedef vector_traits< rc_type, vsize >::type | in_v |
vectorized in_type and out_type. vspline::vector_traits supplies these types so that multidimensional/multichannel data come as vigra::TinyVectors, while 'singular' data won't be made into TinyVectors of one element. More... | |
typedef vector_traits< rc_type, vsize >::type | out_v |
typedef vector_traits< int, vsize >::ele_v | ic_v |
vsize wide vector of ints, used for gather/scatter indexes More... | |
Public Member Functions | |
mirror_gate (rc_type _lower, rc_type _upper) | |
void | eval (const rc_type &c, rc_type &result) const |
template<typename = std::enable_if < ( _vsize > 1 ) >> | |
void | eval (const in_v &c, out_v &result) const |
Public Attributes | |
const rc_type | lower |
const rc_type | upper |
Additional Inherited Members | |
![]() | |
static const bool | has_capped_eval |
mirror gate 'folds' coordinates into the range. From the infinite number of mirror images resulting from mirroring the input on the bounds, the only one inside the range is picked as the result. When using this gate type with splines with MIRROR boundary conditions, if the shape of the core for the axis in question is M, _lower would be passed 0 and _upper M-1. For splines with REFLECT boundary conditions, we'd pass -0.5 to _lower and M-0.5 to upper, since here we mirror 'between bounds' and the defined range is wider.
Note how this mode of 'mirroring' allows use of arbitrary coordinates, rather than limiting the range of acceptable input to the first reflection, as some implementations do.
typedef vspline::unary_functor< rc_type , rc_type , _vsize > vspline::mirror_gate< rc_type, _vsize >::base_type |
typedef vector_traits<IN,vsize>::type vspline::unary_functor< IN, OUT, _vsize >::in_v |
vectorized in_type and out_type. vspline::vector_traits supplies these types so that multidimensional/multichannel data come as vigra::TinyVectors, while 'singular' data won't be made into TinyVectors of one element.
Definition at line 254 of file unary_functor.h.
typedef vector_traits<OUT,vsize>::type vspline::unary_functor< IN, OUT, _vsize >::out_v |
Definition at line 255 of file unary_functor.h.
|
inline |
|
inline |
|
inline |
const rc_type vspline::mirror_gate< rc_type, _vsize >::lower |
const rc_type vspline::mirror_gate< rc_type, _vsize >::upper |