aimsalgo 6.0.0
Neuroimaging image processing
aims::MovingAverageKernel Class Reference

1D Moving Average Kernel More...

#include <aims/signalfilter/movingaveragefilter.h>

Collaboration diagram for aims::MovingAverageKernel:

Public Member Functions

 MovingAverageKernel (unsigned length=3, FilterType::Direction symtype=FilterType::Symmetrical)
 Constructor/Destructor/Copy.
 
 MovingAverageKernel (const MovingAverageKernel &other)
 
virtual ~MovingAverageKernel ()
 
MovingAverageKerneloperator= (const MovingAverageKernel &other)
 
double operator() (int x) const
 Get value.
 
double at (int x) const
 
const Point2disupport () const
 
void reset (unsigned length=3, FilterType::Direction symtype=FilterType::Symmetrical)
 Set parameters.
 
void setLength (unsigned length)
 
void setType (FilterType::Direction symtype)
 
unsigned length () const
 Get parameters.
 
FilterType::Direction type () const
 

Protected Member Functions

void setSupport (FilterType::Direction symtype)
 

Protected Attributes

FilterType::Direction _type
 
Point2di _support
 
std::vector< double > _values
 

Detailed Description

1D Moving Average Kernel

This kernel can be used as basis function in ConvolutionFilter and ConvolutionSubSampler classes.

The moving average transfer function is:

  • if Causal: H(z) = 1/l * sum[k=-l+1;k<=0]( z^{-k} )
  • if Anticausal: H(z) = 1/l * sum[k=0;k<=l-1]( z^{-k} )
  • if Symmetrical: H(z) = 1/l * sum[k=-l/2;k<=l/2]( z^{-k} )

The symmetrical version needs an odd length.

Definition at line 60 of file movingaveragefilter.h.

Constructor & Destructor Documentation

◆ MovingAverageKernel() [1/2]

aims::MovingAverageKernel::MovingAverageKernel ( unsigned length = 3,
FilterType::Direction symtype = FilterType::Symmetrical )

Constructor/Destructor/Copy.

If symtype == Symmetrical, length should be odd.

References length(), and aims::FilterType::Symmetrical.

Referenced by MovingAverageKernel(), and operator=().

◆ MovingAverageKernel() [2/2]

aims::MovingAverageKernel::MovingAverageKernel ( const MovingAverageKernel & other)

References MovingAverageKernel().

◆ ~MovingAverageKernel()

virtual aims::MovingAverageKernel::~MovingAverageKernel ( )
virtual

Member Function Documentation

◆ at()

double aims::MovingAverageKernel::at ( int x) const

◆ length()

unsigned aims::MovingAverageKernel::length ( ) const

Get parameters.

Referenced by MovingAverageKernel(), reset(), and setLength().

◆ operator()()

double aims::MovingAverageKernel::operator() ( int x) const

Get value.

◆ operator=()

MovingAverageKernel & aims::MovingAverageKernel::operator= ( const MovingAverageKernel & other)

References MovingAverageKernel().

◆ reset()

void aims::MovingAverageKernel::reset ( unsigned length = 3,
FilterType::Direction symtype = FilterType::Symmetrical )

Set parameters.

Be aware that a call to reset, etc. will trigger a reallocation of the array and a recomputing of the values. If several of these values need changing, it is thus avdised to use the reset() method.

References length(), and aims::FilterType::Symmetrical.

◆ setLength()

void aims::MovingAverageKernel::setLength ( unsigned length)

References length().

◆ setSupport()

void aims::MovingAverageKernel::setSupport ( FilterType::Direction symtype)
protected

◆ setType()

void aims::MovingAverageKernel::setType ( FilterType::Direction symtype)

◆ support()

const Point2di & aims::MovingAverageKernel::support ( ) const

◆ type()

FilterType::Direction aims::MovingAverageKernel::type ( ) const

Member Data Documentation

◆ _support

Point2di aims::MovingAverageKernel::_support
protected

Definition at line 111 of file movingaveragefilter.h.

◆ _type

FilterType::Direction aims::MovingAverageKernel::_type
protected

Definition at line 110 of file movingaveragefilter.h.

◆ _values

std::vector<double> aims::MovingAverageKernel::_values
protected

Definition at line 112 of file movingaveragefilter.h.


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