#include <Resample.h>
|
virtual float | eval (const float x) const |
| Evaluates the filter at coordinate 't'.
|
|
| MitchellFilter (const float width=1.0, const float B=1.0/3.0, const float C=1.0/3.0) |
|
virtual float | support () const |
| Radial width of the filter (half of diameter)
|
|
virtual float | initialValue () const |
| Initial value (zero by default, but need to be different for min/max)
|
|
|
template<typename Value_T > |
static void | op (Value_T &accumValue, const Value_T value) |
|
Definition at line 340 of file Resample.h.
◆ Ptr
◆ CPtr
◆ MitchellFilter()
MitchellFilter::MitchellFilter |
( |
const float | width = 1.0, |
|
|
const float | B = 1.0 / 3.0, |
|
|
const float | C = 1.0 / 3.0 ) |
|
inline |
◆ eval()
virtual float MitchellFilter::eval |
( |
const float | t | ) |
const |
|
inlinevirtual |
Evaluates the filter at coordinate 't'.
Implements Filter.
Definition at line 354 of file Resample.h.
355 {
356 const float ax = std::abs(x /
m_width);
357 if (ax < 1) {
358 return ((12 - 9 *
m_B - 6 *
m_C) * ax * ax * ax +
359 (-18 + 12 *
m_B + 6 *
m_C) * ax * ax + (6 - 2 *
m_B)) / 6;
360 } else if ((ax >= 1) && (ax < 2)) {
361 return ((-
m_B - 6 *
m_C) * ax * ax * ax +
362 (6 *
m_B + 30 *
m_C) * ax * ax + (-12 *
m_B - 48 *
m_C) *
363 ax + (8 *
m_B + 24 *
m_C)) / 6;
364 } else {
365 return 0;
366 }
367 }
References m_B, m_C, and m_width.
◆ support()
virtual float MitchellFilter::support |
( |
| ) |
const |
|
inlinevirtual |
◆ op()
template<typename Value_T >
static void MitchellFilter::op |
( |
Value_T & | accumValue, |
|
|
const Value_T | value ) |
|
inlinestatic |
◆ isAnalytic
const bool MitchellFilter::isAnalytic = false |
|
static |
◆ m_B
const float MitchellFilter::m_B |
|
private |
◆ m_C
const float MitchellFilter::m_C |
|
private |
◆ m_width
const float MitchellFilter::m_width |
|
private |
The documentation for this struct was generated from the following file: