vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
|
we need a 'generator functor' to implement grid_eval using the code in wielding.h. this functor precalculates the b-spline evaluation weights corresponding to the coordinates in the grid and stores them in vectorized format, to speed up their use as much as possible. More...
#include <transform.h>
Public Types | |
typedef ET | evaluator_type |
typedef evaluator_type::inner_type | inner_type |
typedef evaluator_type::math_ele_type | weight_type |
typedef evaluator_type::out_type | out_type |
typedef evaluator_type::out_ele_type | out_ele_type |
typedef evaluator_type::out_nd_ele_type | out_nd_ele_type |
typedef evaluator_type::out_v | out_v |
typedef evaluator_type::out_ele_v | out_ele_v |
typedef evaluator_type::out_nd_ele_v | out_nd_ele_v |
typedef vspline::vector_traits< weight_type, vsize >::type | weight_v |
typedef evaluator_type::rc_ele_type | rc_type |
typedef vigra::MultiArrayView< dimension, typename evaluator_type::trg_type > | target_type |
typedef vigra::TinyVector< size_t, dimension > | shape_type |
typedef vspline::vector_traits< int, vsize >::type | ofs_ele_v |
typedef vspline::grid_spec< dimension, rc_type > | grid_spec_type |
using | allocator_t = typename vspline::allocator_traits< weight_v > ::type |
Public Member Functions | |
void | reset (shape_type crd, size_t _aggregates) |
void | fetch_weights () |
grev_generator (const vspline::grid_spec< dimension, rc_type > &_grid, const evaluator_type &_itp, size_t _axis, shape_type _shape) | |
template<typename = std::enable_if < ( vsize > 1 ) >> | |
void | eval (out_v &result) |
void | eval (out_type &result) |
void | eval (vigra::MultiArrayView< 1, out_ele_v > &vresult, vigra::MultiArrayView< 1, out_type > &leftover) |
void | eval (vigra::MultiArrayView< 1, out_type > &result) |
~grev_generator () | |
Public Attributes | |
const int | spline_order |
const shape_type | shape |
const grid_spec_type & | grid |
const evaluator_type & | itp |
const size_t | axis |
const size_t | aggregates |
const size_t | rest |
const size_t | w_pack_sz |
int | socket_offset |
void * | memory_guard |
weight_type * | grid_weight [dimension] |
weight_type * | shuffled_weights |
int * | grid_ofs [dimension] |
size_t | current_pack |
shape_type | tail_crd |
vigra::MultiArray< 2, weight_type > | weight |
vigra::MultiArray< 2, weight_v, allocator_t > | vweight |
Static Public Attributes | |
static const size_t | dimension = evaluator_type::dimension |
static const size_t | vsize = evaluator_type::vsize |
static const size_t | channels = evaluator_type::channels |
we need a 'generator functor' to implement grid_eval using the code in wielding.h. this functor precalculates the b-spline evaluation weights corresponding to the coordinates in the grid and stores them in vectorized format, to speed up their use as much as possible.
Definition at line 717 of file transform.h.
using vspline::detail::grev_generator< ET >::allocator_t = typename vspline::allocator_traits < weight_v > :: type |
Definition at line 801 of file transform.h.
typedef ET vspline::detail::grev_generator< ET >::evaluator_type |
Definition at line 719 of file transform.h.
typedef vspline::grid_spec< dimension , rc_type > vspline::detail::grev_generator< ET >::grid_spec_type |
Definition at line 745 of file transform.h.
typedef evaluator_type::inner_type vspline::detail::grev_generator< ET >::inner_type |
Definition at line 725 of file transform.h.
typedef vspline::vector_traits<int,vsize>::type vspline::detail::grev_generator< ET >::ofs_ele_v |
Definition at line 743 of file transform.h.
typedef evaluator_type::out_ele_type vspline::detail::grev_generator< ET >::out_ele_type |
Definition at line 729 of file transform.h.
typedef evaluator_type::out_ele_v vspline::detail::grev_generator< ET >::out_ele_v |
Definition at line 732 of file transform.h.
typedef evaluator_type::out_nd_ele_type vspline::detail::grev_generator< ET >::out_nd_ele_type |
Definition at line 730 of file transform.h.
typedef evaluator_type::out_nd_ele_v vspline::detail::grev_generator< ET >::out_nd_ele_v |
Definition at line 733 of file transform.h.
typedef evaluator_type::out_type vspline::detail::grev_generator< ET >::out_type |
Definition at line 728 of file transform.h.
typedef evaluator_type::out_v vspline::detail::grev_generator< ET >::out_v |
Definition at line 731 of file transform.h.
typedef evaluator_type::rc_ele_type vspline::detail::grev_generator< ET >::rc_type |
Definition at line 737 of file transform.h.
typedef vigra::TinyVector< size_t , dimension > vspline::detail::grev_generator< ET >::shape_type |
Definition at line 740 of file transform.h.
typedef vigra::MultiArrayView< dimension , typename evaluator_type::trg_type > vspline::detail::grev_generator< ET >::target_type |
Definition at line 739 of file transform.h.
typedef evaluator_type::math_ele_type vspline::detail::grev_generator< ET >::weight_type |
Definition at line 726 of file transform.h.
typedef vspline::vector_traits<weight_type,vsize>::type vspline::detail::grev_generator< ET >::weight_v |
Definition at line 736 of file transform.h.
|
inline |
Definition at line 872 of file transform.h.
|
inline |
Definition at line 1083 of file transform.h.
|
inline |
Definition at line 1013 of file transform.h.
|
inline |
Definition at line 968 of file transform.h.
|
inline |
Definition at line 1039 of file transform.h.
|
inline |
Definition at line 1065 of file transform.h.
|
inline |
Definition at line 854 of file transform.h.
|
inline |
Definition at line 818 of file transform.h.
const size_t vspline::detail::grev_generator< ET >::aggregates |
Definition at line 752 of file transform.h.
const size_t vspline::detail::grev_generator< ET >::axis |
Definition at line 751 of file transform.h.
|
static |
Definition at line 723 of file transform.h.
size_t vspline::detail::grev_generator< ET >::current_pack |
Definition at line 786 of file transform.h.
|
static |
Definition at line 721 of file transform.h.
const grid_spec_type& vspline::detail::grev_generator< ET >::grid |
Definition at line 749 of file transform.h.
int* vspline::detail::grev_generator< ET >::grid_ofs[dimension] |
Definition at line 781 of file transform.h.
weight_type* vspline::detail::grev_generator< ET >::grid_weight[dimension] |
Definition at line 770 of file transform.h.
const evaluator_type& vspline::detail::grev_generator< ET >::itp |
Definition at line 750 of file transform.h.
void* vspline::detail::grev_generator< ET >::memory_guard |
Definition at line 764 of file transform.h.
const size_t vspline::detail::grev_generator< ET >::rest |
Definition at line 753 of file transform.h.
const shape_type vspline::detail::grev_generator< ET >::shape |
Definition at line 748 of file transform.h.
weight_type* vspline::detail::grev_generator< ET >::shuffled_weights |
Definition at line 777 of file transform.h.
int vspline::detail::grev_generator< ET >::socket_offset |
Definition at line 756 of file transform.h.
const int vspline::detail::grev_generator< ET >::spline_order |
Definition at line 747 of file transform.h.
shape_type vspline::detail::grev_generator< ET >::tail_crd |
Definition at line 793 of file transform.h.
|
static |
Definition at line 722 of file transform.h.
vigra::MultiArray< 2 , weight_v , allocator_t > vspline::detail::grev_generator< ET >::vweight |
Definition at line 804 of file transform.h.
const size_t vspline::detail::grev_generator< ET >::w_pack_sz |
Definition at line 754 of file transform.h.
vigra::MultiArray< 2 , weight_type > vspline::detail::grev_generator< ET >::weight |
Definition at line 797 of file transform.h.