Field3D
GaussianFilter Struct Reference

#include <Resample.h>

Inheritance diagram for GaussianFilter:
Filter

Public Types

typedef boost::shared_ptr< const GaussianFilterCPtr
 
typedef boost::shared_ptr< GaussianFilterPtr
 
- Public Types inherited from Filter
typedef boost::shared_ptr< const FilterCPtr
 
typedef boost::shared_ptr< FilterPtr
 

Public Member Functions

virtual float eval (const float t) const
 Evaluates the filter at coordinate 't'.
 
 GaussianFilter (const float alpha=2.0, const float width=2.0)
 
virtual float support () const
 Radial width of the filter (half of diameter)
 
- Public Member Functions inherited from Filter
virtual float initialValue () const
 Initial value (zero by default, but need to be different for min/max)
 

Static Public Member Functions

template<typename Value_T >
static void op (Value_T &accumValue, const Value_T value)
 

Static Public Attributes

static const bool isAnalytic = false
 

Private Attributes

const float m_alpha
 
const float m_exp
 
const float m_width
 

Detailed Description

Definition at line 305 of file Resample.h.

Member Typedef Documentation

◆ Ptr

Definition at line 308 of file Resample.h.

◆ CPtr

Definition at line 309 of file Resample.h.

Constructor & Destructor Documentation

◆ GaussianFilter()

GaussianFilter::GaussianFilter ( const float alpha = 2.0,
const float width = 2.0 )
inline

Definition at line 314 of file Resample.h.

315 : m_alpha(alpha),
316 m_exp(std::exp(-alpha * width * width)),
318 { /* Empty */ }
#define FIELD3D_MTX_T
Definition StdMathLib.h:99
const float m_exp
Definition Resample.h:333
const float m_alpha
Definition Resample.h:333
const float m_width
Definition Resample.h:333

Member Function Documentation

◆ eval()

virtual float GaussianFilter::eval ( const float t) const
inlinevirtual

Evaluates the filter at coordinate 't'.

Implements Filter.

Definition at line 320 of file Resample.h.

321 {
322 const float x = t / m_width;
323 return std::max(0.0f, std::exp(-m_alpha * x * x) - m_exp);
324 }

References FIELD3D_MTX_T, m_alpha, m_exp, and m_width.

◆ support()

virtual float GaussianFilter::support ( ) const
inlinevirtual

Radial width of the filter (half of diameter)

Implements Filter.

Definition at line 325 of file Resample.h.

326 {
327 return 2.0f * m_width;
328 }

References m_width.

◆ op()

template<typename Value_T >
static void GaussianFilter::op ( Value_T & accumValue,
const Value_T value )
inlinestatic

Definition at line 330 of file Resample.h.

331 { /* No-op */ }

Member Data Documentation

◆ isAnalytic

const bool GaussianFilter::isAnalytic = false
static

Definition at line 311 of file Resample.h.

◆ m_alpha

const float GaussianFilter::m_alpha
private

Definition at line 333 of file Resample.h.

Referenced by eval().

◆ m_exp

const float GaussianFilter::m_exp
private

Definition at line 333 of file Resample.h.

Referenced by eval().

◆ m_width

const float GaussianFilter::m_width
private

Definition at line 333 of file Resample.h.

Referenced by eval(), and support().


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