vspline 1.1.0
Generic C++11 Code for Uniform B-Splines
Public Types | Static Public Member Functions | List of all members
vspline::bracer< _dimension, _value_type > Struct Template Reference

class bracer encodes the entire bracing process. Note that contrary to my initial implementation, class bracer is now used exclusively for populating the frame around a core area of data. It has no code to determine which size a brace/frame should have. This is now determined in class bspline, see especially class bspline's methods get_left_brace_size(), get_right_brace_size() and setup_metrics(). More...

#include <brace.h>

Public Types

enum  { dimension = _dimension }
 
typedef _value_type value_type
 
typedef vigra::MultiArrayView< dimension, value_typeview_type
 
typedef view_type::difference_type shape_type
 

Static Public Member Functions

static void apply (view_type &a, bc_code bc, int lsz, int rsz, int axis)
 apply the bracing to the array, performing the required copy/arithmetic operations to the 'frame' around the core. This routine performs the operation along axis 'dim'. This is also the routine to be used for explicitly extrapolating a signal: you place the data into the center of a larger array, and pass in the sizes of the 'empty' space which is to be filled with the extrapolated data. More...
 
static void apply (view_type &a, vigra::TinyVector< bc_code, dimension > bcv, shape_type left_corner, shape_type right_corner)
 This overload of 'apply' braces along all axes in one go. More...
 

Detailed Description

template<unsigned int _dimension, typename _value_type>
struct vspline::bracer< _dimension, _value_type >

class bracer encodes the entire bracing process. Note that contrary to my initial implementation, class bracer is now used exclusively for populating the frame around a core area of data. It has no code to determine which size a brace/frame should have. This is now determined in class bspline, see especially class bspline's methods get_left_brace_size(), get_right_brace_size() and setup_metrics().

Definition at line 131 of file brace.h.

Member Typedef Documentation

◆ shape_type

template<unsigned int _dimension, typename _value_type >
typedef view_type::difference_type vspline::bracer< _dimension, _value_type >::shape_type

Definition at line 136 of file brace.h.

◆ value_type

template<unsigned int _dimension, typename _value_type >
typedef _value_type vspline::bracer< _dimension, _value_type >::value_type

Definition at line 133 of file brace.h.

◆ view_type

template<unsigned int _dimension, typename _value_type >
typedef vigra::MultiArrayView< dimension , value_type > vspline::bracer< _dimension, _value_type >::view_type

Definition at line 135 of file brace.h.

Member Enumeration Documentation

◆ anonymous enum

template<unsigned int _dimension, typename _value_type >
anonymous enum
Enumerator
dimension 

Definition at line 134 of file brace.h.

Member Function Documentation

◆ apply() [1/2]

template<unsigned int _dimension, typename _value_type >
static void vspline::bracer< _dimension, _value_type >::apply ( view_type a,
bc_code  bc,
int  lsz,
int  rsz,
int  axis 
)
inlinestatic

apply the bracing to the array, performing the required copy/arithmetic operations to the 'frame' around the core. This routine performs the operation along axis 'dim'. This is also the routine to be used for explicitly extrapolating a signal: you place the data into the center of a larger array, and pass in the sizes of the 'empty' space which is to be filled with the extrapolated data.

the bracing is done one-left-one-right, to avoid corner cases as best as posible. This makes it possible to have signals which are shorter than the brace and still produce a correct brace for them.

Definition at line 148 of file brace.h.

◆ apply() [2/2]

template<unsigned int _dimension, typename _value_type >
static void vspline::bracer< _dimension, _value_type >::apply ( view_type a,
vigra::TinyVector< bc_code, dimension bcv,
shape_type  left_corner,
shape_type  right_corner 
)
inlinestatic

This overload of 'apply' braces along all axes in one go.

Definition at line 329 of file brace.h.


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