aimsalgo  5.1.2
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. More...
 
 MovingAverageKernel (const MovingAverageKernel &other)
 
virtual ~MovingAverageKernel ()
 
MovingAverageKerneloperator= (const MovingAverageKernel &other)
 
double operator() (int x) const
 Get value. More...
 
double at (int x) const
 
const Point2disupport () const
 
void reset (unsigned length=3, FilterType::Direction symtype=FilterType::Symmetrical)
 Set parameters. More...
 
void setLength (unsigned length)
 
void setType (FilterType::Direction symtype)
 
unsigned length () const
 Get parameters. More...
 
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.

◆ MovingAverageKernel() [2/2]

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

◆ ~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.

◆ operator()()

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

Get value.

◆ operator=()

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

◆ 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.

◆ setLength()

void aims::MovingAverageKernel::setLength ( unsigned  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: