vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
Public Member Functions | Public Attributes | List of all members
ev_gsm Struct Reference

we build a vspline::unary_functor which calculates the sum of gradient squared magnitudes. Note how the 'compound evaluator' we construct follows a pattern of More...

Inheritance diagram for ev_gsm:
vspline::unary_functor< coordinate_type, pixel_type > vspline::unary_functor_tag< vspline::vector_traits< coordinate_type > ::size >

Public Member Functions

 ev_gsm (const spline_type &bspl)
 
template<class IN , class OUT >
void eval (const IN &c, OUT &result) const
 

Public Attributes

const vigra::TinyVector< float, 2 > dx1_spec { 1 , 0 }
 
const vigra::TinyVector< float, 2 > dy1_spec { 0 , 1 }
 
const ev_type xev
 
const ev_type yev
 

Additional Inherited Members

- Public Types inherited from vspline::unary_functor< coordinate_type, pixel_type >
enum  
 
enum  
 
enum  
 
typedef coordinate_type in_type
 
typedef pixel_type out_type
 
typedef vspline::vector_traits< coordinate_type >::ele_type in_ele_type
 
typedef vspline::vector_traits< pixel_type >::ele_type out_ele_type
 
typedef vigra::TinyVector< in_ele_type, dim_inin_nd_ele_type
 
typedef vigra::TinyVector< out_ele_type, dim_outout_nd_ele_type
 
typedef vector_traits< coordinate_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< pixel_type, vsize >::ele_v out_ele_v
 
typedef vector_traits< coordinate_type, vsize >::nd_ele_v in_nd_ele_v
 
typedef vector_traits< pixel_type, vsize >::nd_ele_v out_nd_ele_v
 
typedef vector_traits< coordinate_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< pixel_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...
 
- Static Public Attributes inherited from vspline::unary_functor< coordinate_type, pixel_type >
static const bool has_capped_eval
 

Detailed Description

we build a vspline::unary_functor which calculates the sum of gradient squared magnitudes. Note how the 'compound evaluator' we construct follows a pattern of

Definition at line 85 of file gsm2.cc.

Constructor & Destructor Documentation

◆ ev_gsm()

ev_gsm::ev_gsm ( const spline_type bspl)
inline

Definition at line 104 of file gsm2.cc.

Member Function Documentation

◆ eval()

template<class IN , class OUT >
void ev_gsm::eval ( const IN &  c,
OUT &  result 
) const
inline

Definition at line 113 of file gsm2.cc.

Member Data Documentation

◆ dx1_spec

const vigra::TinyVector< float , 2 > ev_gsm::dx1_spec { 1 , 0 }

Definition at line 94 of file gsm2.cc.

◆ dy1_spec

const vigra::TinyVector< float , 2 > ev_gsm::dy1_spec { 0 , 1 }

Definition at line 95 of file gsm2.cc.

◆ xev

const ev_type ev_gsm::xev

Definition at line 99 of file gsm2.cc.

◆ yev

const ev_type ev_gsm::yev

Definition at line 99 of file gsm2.cc.


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