![]() |
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... | |
Public Member Functions inherited from aims::SymAllPoleIIRFilter | |
| 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... | |
Public Member Functions inherited from aims::IIRFilterBase | |
| 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... | |
Protected Member Functions inherited from aims::SymAllPoleIIRFilter | |
| void | computeK0 () |
| Helpers. More... | |
| void | computePreciseGain () |
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 | |
| unsigned | _order |
Protected Attributes inherited from aims::SymAllPoleIIRFilter | |
| std::vector< double > | _poles |
| std::vector< long > | _k0 |
| double | _gain |
| double | _precisegain |
| bool | _precise |
Protected Attributes inherited from aims::IIRFilterBase | |
| 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.