Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
nr-filter-gaussian.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  Inkscape
 Helper class to stream background task notifications as a series of messages.
 
namespace  Inkscape::Filters
 

Typedefs

typedef double IIRValue
 
typedef Inkscape::Util::FixedPoint< unsigned int, 16 > FIRValue
 

Functions

template<typename InIt , typename OutIt , typename Size >
void copy_n (InIt beg_in, Size N, OutIt beg_out)
 
template<typename T >
static T sqr (T const &v)
 
template<typename T >
static T clip (T const &v, T const &a, T const &b)
 
template<typename Tt , typename Ts >
static Tt round_cast (Ts v)
 
template<typename Tt , typename Ts >
static Tt clip_round_cast (Ts const v)
 
template<typename Tt , typename Ts >
static Tt clip_round_cast_varmax (Ts const v, Tt const maxval_rounded)
 
static int Inkscape::Filters::_effect_area_scr (double const deviation)
 
static void Inkscape::Filters::_make_kernel (FIRValue *const kernel, double const deviation)
 
static int Inkscape::Filters::_effect_subsample_step_log2 (double const deviation, int const quality)
 
static void Inkscape::Filters::calcFilter (double const sigma, double b[N])
 
static void Inkscape::Filters::calcTriggsSdikaM (double const b[N], double M[N *N])
 
template<unsigned int SIZE>
static void Inkscape::Filters::calcTriggsSdikaInitialization (double const M[N *N], IIRValue const uold[N][SIZE], IIRValue const uplus[SIZE], IIRValue const vplus[SIZE], IIRValue const alpha, IIRValue vold[N][SIZE])
 
template<typename PT , unsigned int PC, bool PREMULTIPLIED_ALPHA>
static void Inkscape::Filters::filter2D_IIR (PT *const dest, int const dstr1, int const dstr2, PT const *const src, int const sstr1, int const sstr2, int const n1, int const n2, IIRValue const b[N+1], double const M[N *N], IIRValue *const tmpdata[], dispatch_pool &pool)
 
template<typename PT , unsigned int PC>
static void Inkscape::Filters::filter2D_FIR (PT *const dst, int const dstr1, int const dstr2, PT const *const src, int const sstr1, int const sstr2, int const n1, int const n2, FIRValue const *const kernel, int const scr_len, dispatch_pool &pool)
 
static void Inkscape::Filters::gaussian_pass_IIR (Geom::Dim2 d, double deviation, cairo_surface_t *src, cairo_surface_t *dest, IIRValue **tmpdata, dispatch_pool &pool)
 
static void Inkscape::Filters::gaussian_pass_FIR (Geom::Dim2 d, double deviation, cairo_surface_t *src, cairo_surface_t *dest, dispatch_pool &pool)
 

Variables

static size_t const N = 3
 

Typedef Documentation

◆ FIRValue

typedef Inkscape::Util::FixedPoint<unsigned int,16> FIRValue

Definition at line 58 of file nr-filter-gaussian.cpp.

◆ IIRValue

typedef double IIRValue

Definition at line 55 of file nr-filter-gaussian.cpp.

Function Documentation

◆ clip()

◆ clip_round_cast()

template<typename Tt , typename Ts >
static Tt clip_round_cast ( Ts const  v)
inlinestatic

Definition at line 93 of file nr-filter-gaussian.cpp.

◆ clip_round_cast_varmax()

template<typename Tt , typename Ts >
static Tt clip_round_cast_varmax ( Ts const  v,
Tt const  maxval_rounded 
)
inlinestatic

Definition at line 104 of file nr-filter-gaussian.cpp.

◆ copy_n()

template<typename InIt , typename OutIt , typename Size >
void copy_n ( InIt  beg_in,
Size  N,
OutIt  beg_out 
)
inline

Definition at line 50 of file nr-filter-gaussian.cpp.

References N.

Referenced by Inkscape::Filters::filter2D_FIR(), and Inkscape::Filters::filter2D_IIR().

◆ round_cast()

template<typename Tt , typename Ts >
static Tt round_cast ( Ts  v)
inlinestatic

Definition at line 69 of file nr-filter-gaussian.cpp.

◆ sqr()

template<typename T >
static T sqr ( T const &  v)
inlinestatic

Variable Documentation

◆ N

size_t const N = 3
static

Definition at line 47 of file nr-filter-gaussian.cpp.

Referenced by copy_n().