aimsalgo  5.0.5
Neuroimaging image processing
aims::DirectBSplineFilter Class Reference

This filter uses a convolution with Spline basis functions. More...

#include <aims/signalfilter/splinefilter.h>

Inheritance diagram for aims::DirectBSplineFilter:
Collaboration diagram for aims::DirectBSplineFilter:

Public Member Functions

 DirectBSplineFilter (float scale=1., bool normalize=false, unsigned order=3)
 Constructor / Copy. More...
 
 DirectBSplineFilter (const Point4df &scale, bool normalize=false, unsigned order=3)
 
 DirectBSplineFilter (const DirectBSplineFilter &other)
 
virtual ~DirectBSplineFilter ()
 
DirectBSplineFilteroperator= (const DirectBSplineFilter &other)
 
unsigned order () const
 Parameters. More...
 
Point4df scale () const
 Get spline scaling coefficient. More...
 
bool normalize () const
 Get normalization mode. More...
 
void setOrder (const unsigned &order)
 Set spline order Updates underlyong basis functions. More...
 
void setScale (const float &scale)
 Set scaling coefficient Updates underlyong basis functions. More...
 
void setScale (const Point4df &scale)
 Set scaling coefficient Updates underlyong basis functions. More...
 
void setNormalize (const bool &normalize=true)
 Set normalization mode. More...
 
template<typename OUTP , typename INP >
carto::VolumeRef< OUTP > execute (const carto::VolumeRef< INP > &in, carto::VolumeRef< OUTP > &out) const
 Execution. More...
 
- Public Member Functions inherited from aims::ConvolutionFilter< DiscreteBSpline >
 ConvolutionFilter (const DiscreteBSpline &bfunc)
 Constructor / Destructor / Copy. More...
 
 ConvolutionFilter (const std::vector< DiscreteBSpline > &bfunc=std::vector< DiscreteBSpline >())
 A different basis function is used in each direction. More...
 
 ConvolutionFilter (const ConvolutionFilter &other)
 
virtual ~ConvolutionFilter ()
 
ConvolutionFilteroperator= (const ConvolutionFilter &other)
 
carto::VolumeRef< OUT > execute (const carto::VolumeRef< IN > &in) const
 Execution. More...
 
carto::VolumeRef< OUT > execute (const carto::VolumeRef< IN > &in, carto::VolumeRef< OUT > &out) const
 Write result in an existing volume. More...
 
const std::vector< bool > & directions () const
 Parameters. More...
 
void setBasisFunction (const DiscreteBSpline &func)
 Change the basis functions. More...
 
void setBasisFunction (const std::vector< DiscreteBSpline > &func)
 Change the basis functions. More...
 
void setDirections (const std::vector< bool > &dir)
 Set the directions along which the filter is applied. More...
 
void setDirections (bool dirx, bool diry, bool dirz, bool dirt)
 Set the directions along which the filter is applied. More...
 
void setVerbose (int verbose=1)
 Verbosity level. More...
 
void setQuiet ()
 Equivalent to setVerbose(0) More...
 

Protected Attributes

bool _normalize
 
- Protected Attributes inherited from aims::ConvolutionFilter< DiscreteBSpline >
std::vector< DiscreteBSpline_func
 
int _verbose
 
std::vector< bool > _dir
 

Detailed Description

This filter uses a convolution with Spline basis functions.

It can be used to interpolate a signal from its spline representation

See: Unser, Aldroubi & Eden, "B-Spline Signal Processing" in IEEE Transactions on Signal Processing (1993)

Definition at line 129 of file splinefilter.h.

Constructor & Destructor Documentation

◆ DirectBSplineFilter() [1/3]

aims::DirectBSplineFilter::DirectBSplineFilter ( float  scale = 1.,
bool  normalize = false,
unsigned  order = 3 
)

Constructor / Copy.

◆ DirectBSplineFilter() [2/3]

aims::DirectBSplineFilter::DirectBSplineFilter ( const Point4df scale,
bool  normalize = false,
unsigned  order = 3 
)

◆ DirectBSplineFilter() [3/3]

aims::DirectBSplineFilter::DirectBSplineFilter ( const DirectBSplineFilter other)

◆ ~DirectBSplineFilter()

virtual aims::DirectBSplineFilter::~DirectBSplineFilter ( )
virtual

Member Function Documentation

◆ execute()

template<typename OUTP , typename INP >
carto::VolumeRef< OUTP > aims::DirectBSplineFilter::execute ( const carto::VolumeRef< INP > &  in,
carto::VolumeRef< OUTP > &  out 
) const

Execution.

Function-like operator that filters a given volume

Write result in an existing volume. If the allocated size differs from the needed resulting size, the volume is reallocated.

DirectBSplineFilter overrides the inherited version to add normalization.

Note
1 copy
Warning
This call risks causing additional precision errors

Definition at line 52 of file splinefilter_d.h.

References aims::ConvolutionFilter< DiscreteBSpline >::_dir, aims::ConvolutionFilter< DiscreteBSpline >::_func, aims::_lambda, aims::ConvolutionFilter< BasisFunction >::execute(), carto::VolumeRef< T >::getSize(), aims::IIRFilterBase::operator=(), and carto::toString().

◆ normalize()

bool aims::DirectBSplineFilter::normalize ( ) const

Get normalization mode.

◆ operator=()

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

◆ order()

unsigned aims::DirectBSplineFilter::order ( ) const

Parameters.

Get spline order

◆ scale()

Point4df aims::DirectBSplineFilter::scale ( ) const

Get spline scaling coefficient.

◆ setNormalize()

void aims::DirectBSplineFilter::setNormalize ( const bool &  normalize = true)

Set normalization mode.

◆ setOrder()

void aims::DirectBSplineFilter::setOrder ( const unsigned &  order)

Set spline order Updates underlyong basis functions.

◆ setScale() [1/2]

void aims::DirectBSplineFilter::setScale ( const float &  scale)

Set scaling coefficient Updates underlyong basis functions.

◆ setScale() [2/2]

void aims::DirectBSplineFilter::setScale ( const Point4df scale)

Set scaling coefficient Updates underlyong basis functions.

Member Data Documentation

◆ _normalize

bool aims::DirectBSplineFilter::_normalize
protected

Definition at line 189 of file splinefilter.h.


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