aimsalgo  5.1.2
Neuroimaging image processing
aims::CausalSinglePoleIIRFilter Class Reference

Special case of Infinite Impulse Response filter. More...

#include <aims/signalfilter/iirfilter.h>

Inheritance diagram for aims::CausalSinglePoleIIRFilter:
Collaboration diagram for aims::CausalSinglePoleIIRFilter:

Public Member Functions

 CausalSinglePoleIIRFilter (double pole=0., double gain=1.)
 Constructor / Destructor / Copy. More...
 
 CausalSinglePoleIIRFilter (const CausalSinglePoleIIRFilter &other)
 
virtual ~CausalSinglePoleIIRFilter ()
 
CausalSinglePoleIIRFilteroperator= (const CausalSinglePoleIIRFilter &other)
 
virtual void filter1d (const carto::VolumeRef< double > in, carto::VolumeRef< double > out, int dir=-1) const
 Execution. More...
 
const double & gain () const
 Parameters. More...
 
const double & pole () const
 
void setPole (const double &pole)
 
void setGain (const double &gain)
 
- Public Member Functions inherited from aims::IIRFilterBase
 IIRFilterBase ()
 Constructor / Destructor / Copy. More...
 
 IIRFilterBase (const IIRFilterBase &other)
 
virtual ~IIRFilterBase ()
 
IIRFilterBaseoperator= (const IIRFilterBase &other)
 
template<typename T >
carto::VolumeRef< double > execute (const carto::VolumeRef< T > &in) const
 Execution. More...
 
carto::VolumeRef< double > execute (carto::VolumeRef< double > &in, bool inplace=false) const
 
virtual const std::vector< bool > & directions () const
 Parameters. More...
 
virtual void setDirections (const std::vector< bool > &dir)
 
virtual void setDirections (bool dirx, bool diry, bool dirz, bool dirt)
 
virtual void setDirectionX (bool dirx)
 default: true More...
 
virtual void setDirectionY (bool diry)
 default: true More...
 
virtual void setDirectionZ (bool dirz)
 default: true More...
 
virtual void setDirectionT (bool dirt)
 default: false More...
 
virtual const FilterType::Boundaryboundary () const
 Because the filter is infinite, the signal must be extended outisde the image domain. More...
 
virtual void setBoundary (const FilterType::Boundary &boundary)
 
virtual void setVerbose (int verbose=1)
 Verbosity level. More...
 
virtual void setQuiet ()
 Set verbosity level to 0 -> Remove all possible traces. More...
 

Protected Member Functions

void computeK0 ()
 Helpers. More...
 
- Protected Member Functions inherited from aims::IIRFilterBase
virtual void filter (carto::VolumeRef< double > vol) const
 Helpers. More...
 
virtual void filter1d (carto::VolumeRef< double > vol, int dir=-1, carto::VolumeRef< double > tmp=carto::VolumeRef< double >((carto::Volume< double > *) 0)) const
 redirection for in place fitlering More...
 
virtual double & at (carto::VolumeRef< double > &vector, long k, int dir) const
 Fast access : k must be in [0, size-1]. More...
 
virtual const double & at (const carto::VolumeRef< double > &vector, long k, int dir) const
 Fast access : k must be in [0, size-1]. More...
 
virtual double at (const carto::VolumeRef< double > &vector, long k, int dir, long fullsize, int binf) const
 Mirror access : k can be outside [0, size - 1]. More...
 
virtual long mirrorCoeff (long i, long size) const
 If i is outside [0, size-1], it is mirrored to fall inside. More...
 
virtual long selectCoeff (long i, long fullsize, int binf) const
 If i is outside [binf, fullsize-1], it is mirrored to fall inside. More...
 
virtual long computeK0 (double pole, double tolerance=-1.) const
 compute K0 so that pole^K0 < precision More...
 

Protected Attributes

double _gain
 
double _pole
 
long _k0
 
- Protected Attributes inherited from aims::IIRFilterBase
int _verbose
 
std::vector< bool > _dir
 
FilterType::Boundary _boundary
 
FilterType::CopyType _copy
 

Detailed Description

Special case of Infinite Impulse Response filter.

Its transfer function is of the form: H(z) = b0 / ( 1 - a1 * z^-1 )

Definition at line 301 of file iirfilter.h.

Constructor & Destructor Documentation

◆ CausalSinglePoleIIRFilter() [1/2]

aims::CausalSinglePoleIIRFilter::CausalSinglePoleIIRFilter ( double  pole = 0.,
double  gain = 1. 
)

Constructor / Destructor / Copy.

◆ CausalSinglePoleIIRFilter() [2/2]

aims::CausalSinglePoleIIRFilter::CausalSinglePoleIIRFilter ( const CausalSinglePoleIIRFilter other)

◆ ~CausalSinglePoleIIRFilter()

virtual aims::CausalSinglePoleIIRFilter::~CausalSinglePoleIIRFilter ( )
virtual

Member Function Documentation

◆ computeK0()

void aims::CausalSinglePoleIIRFilter::computeK0 ( )
protected

Helpers.

◆ filter1d()

virtual void aims::CausalSinglePoleIIRFilter::filter1d ( const carto::VolumeRef< double >  in,
carto::VolumeRef< double >  out,
int  dir = -1 
) const
virtual

Execution.

Implements aims::IIRFilterBase.

◆ gain()

const double& aims::CausalSinglePoleIIRFilter::gain ( ) const

Parameters.

◆ operator=()

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

◆ pole()

const double& aims::CausalSinglePoleIIRFilter::pole ( ) const

◆ setGain()

void aims::CausalSinglePoleIIRFilter::setGain ( const double &  gain)

◆ setPole()

void aims::CausalSinglePoleIIRFilter::setPole ( const double &  pole)

Member Data Documentation

◆ _gain

double aims::CausalSinglePoleIIRFilter::_gain
protected

Definition at line 340 of file iirfilter.h.

◆ _k0

long aims::CausalSinglePoleIIRFilter::_k0
protected

Definition at line 342 of file iirfilter.h.

◆ _pole

double aims::CausalSinglePoleIIRFilter::_pole
protected

Definition at line 341 of file iirfilter.h.


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