![]() |
aimsalgo
5.1.2
Neuroimaging image processing
|
This filter uses an inverse B-Spline convolution function to transform a discrete signal to its spline representation. More...
#include <aims/signalfilter/splinefilter.h>
Public Member Functions | |
InverseBSplineFilter (unsigned order=3) | |
Constructor / Copy. More... | |
InverseBSplineFilter (const InverseBSplineFilter &other) | |
The internal order of the copied filter is kept, meaning that the built filter's order might differ from N and ORDER. More... | |
virtual | ~InverseBSplineFilter () |
InverseBSplineFilter & | operator= (const InverseBSplineFilter &other) |
The internal order of the copied filter is kept, meaning that the built filter's order might differ from N and ORDER. More... | |
const unsigned & | order () const |
Parameters. More... | |
void | setOrder (const unsigned &order) |
Set spline order The gain and poles of the underlying IIR filter will be updated accordingly. More... | |
![]() | |
SymAllPoleIIRFilter (const double gain=0., const std::vector< double > &poles=std::vector< double >()) | |
Constructor / Destructor / Copy. More... | |
SymAllPoleIIRFilter (const SymAllPoleIIRFilter &other) | |
virtual | ~SymAllPoleIIRFilter () |
SymAllPoleIIRFilter & | operator= (const SymAllPoleIIRFilter &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 std::vector< double > & | poles () const |
void | setPoles (const std::vector< double > &poles) |
void | addPole (const double &pole) |
void | setGain (const double &gain) |
Relative to Unser & al, gain = c0. More... | |
void | setModePreciseGain (bool precise=true) |
If this mode is activated, provided gain should be c * prod(-poles). More... | |
![]() | |
IIRFilterBase () | |
Constructor / Destructor / Copy. More... | |
IIRFilterBase (const IIRFilterBase &other) | |
virtual | ~IIRFilterBase () |
IIRFilterBase & | operator= (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::Boundary & | boundary () 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 | setPoles () |
Helpers. More... | |
![]() | |
void | computeK0 () |
Helpers. More... | |
void | computePreciseGain () |
![]() | |
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 | |
unsigned | _order |
![]() | |
std::vector< double > | _poles |
std::vector< long > | _k0 |
double | _gain |
double | _precisegain |
bool | _precise |
![]() | |
int | _verbose |
std::vector< bool > | _dir |
FilterType::Boundary | _boundary |
FilterType::CopyType | _copy |
This filter uses an inverse B-Spline convolution function to transform a discrete signal to its spline representation.
This is the underlying process used for spline interpolation.
It actually performs a direct spline transformation (image space -> spline space)
See: Unser, Aldroubi & Eden, "B-Spline Signal Processing" in IEEE Transactions on Signal Processing (1993)
Definition at line 61 of file splinefilter.h.
aims::InverseBSplineFilter::InverseBSplineFilter | ( | unsigned | order = 3 | ) |
Constructor / Copy.
Even though the spline order is templated, it can be overriden at run time.
aims::InverseBSplineFilter::InverseBSplineFilter | ( | const InverseBSplineFilter & | other | ) |
The internal order of the copied filter is kept, meaning that the built filter's order might differ from N and ORDER.
|
virtual |
InverseBSplineFilter& aims::InverseBSplineFilter::operator= | ( | const InverseBSplineFilter & | other | ) |
The internal order of the copied filter is kept, meaning that the built filter's order might differ from N and ORDER.
const unsigned& aims::InverseBSplineFilter::order | ( | ) | const |
Parameters.
Get spline order
void aims::InverseBSplineFilter::setOrder | ( | const unsigned & | order | ) |
Set spline order The gain and poles of the underlying IIR filter will be updated accordingly.
|
protected |
Helpers.
Set the poles of the underlying IIR filter that corresponds to the chosen order.
|
protected |
Definition at line 102 of file splinefilter.h.