aimsalgo  5.0.5
Neuroimaging image processing
aims::ConvolutionFilter< BasisFunction > Class Template Reference

Convolution Filter. More...

#include <aims/signalfilter/convolutionfilter.h>

Inheritance diagram for aims::ConvolutionFilter< BasisFunction >:
Collaboration diagram for aims::ConvolutionFilter< BasisFunction >:

Public Member Functions

 ConvolutionFilter (const BasisFunction &bfunc)
 Constructor / Destructor / Copy. More...
 
 ConvolutionFilter (const std::vector< BasisFunction > &bfunc=std::vector< BasisFunction >())
 A different basis function is used in each direction. More...
 
 ConvolutionFilter (const ConvolutionFilter &other)
 
virtual ~ConvolutionFilter ()
 
ConvolutionFilteroperator= (const ConvolutionFilter &other)
 
template<typename OUT , typename IN >
carto::VolumeRef< OUT > execute (const carto::VolumeRef< IN > &in) const
 Execution. More...
 
template<typename OUT , typename IN >
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 BasisFunction &func)
 Change the basis functions. More...
 
void setBasisFunction (const std::vector< BasisFunction > &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

std::vector< BasisFunction > _func
 
int _verbose
 
std::vector< bool > _dir
 

Detailed Description

template<typename BasisFunction>
class aims::ConvolutionFilter< BasisFunction >

Convolution Filter.

Interpolate a discrete signal with a separable kernel of finite support. The basis function must possess:

  • U operator() ( T )
  • V support() with:
    • support()[0] the lower support boundary
    • support()[1] the upper support boundary

Definition at line 55 of file convolutionfilter.h.

Constructor & Destructor Documentation

◆ ConvolutionFilter() [1/3]

template<typename F>
aims::ConvolutionFilter< F >::ConvolutionFilter ( const F &  bfunc)

Constructor / Destructor / Copy.

The same basis function is used in all directions

Definition at line 49 of file convolutionfilter_d.h.

◆ ConvolutionFilter() [2/3]

template<typename F>
aims::ConvolutionFilter< F >::ConvolutionFilter ( const std::vector< F > &  bfunc = std::vector<BasisFunction>())

A different basis function is used in each direction.

Definition at line 58 of file convolutionfilter_d.h.

◆ ConvolutionFilter() [3/3]

template<typename BasisFunction>
aims::ConvolutionFilter< BasisFunction >::ConvolutionFilter ( const ConvolutionFilter< BasisFunction > &  other)

◆ ~ConvolutionFilter()

template<typename F >
aims::ConvolutionFilter< F >::~ConvolutionFilter ( )
virtual

Definition at line 74 of file convolutionfilter_d.h.

Member Function Documentation

◆ directions()

template<typename F >
const std::vector< bool > & aims::ConvolutionFilter< F >::directions ( ) const

Parameters.

4D vector giving directions along which the filter is applied.

Definition at line 225 of file convolutionfilter_d.h.

◆ execute() [1/2]

template<typename F >
template<typename OUT , typename IN >
carto::VolumeRef< OUT > aims::ConvolutionFilter< F >::execute ( const carto::VolumeRef< IN > &  in) const

Execution.

Function-like operator that filters a given volume

Note
1 copy
Warning
This call risks causing additional precision errors

Definition at line 137 of file convolutionfilter_d.h.

Referenced by aims::DirectBSplineFilter::execute().

◆ execute() [2/2]

template<typename F >
template<typename OUT , typename IN >
carto::VolumeRef< OUT > aims::ConvolutionFilter< F >::execute ( const carto::VolumeRef< IN > &  in,
carto::VolumeRef< OUT > &  out 
) const

Write result in an existing volume.

If the allocated size differs from the needed resulting size, the volume is reallocated.

Note
1 copy
Warning
This call risks causing additional precision errors

Definition at line 145 of file convolutionfilter_d.h.

◆ operator=()

template<typename BasisFunction>
ConvolutionFilter< F > & aims::ConvolutionFilter< F >::operator= ( const ConvolutionFilter< BasisFunction > &  other)

Definition at line 78 of file convolutionfilter_d.h.

◆ setBasisFunction() [1/2]

template<typename F>
void aims::ConvolutionFilter< F >::setBasisFunction ( const F &  func)

Change the basis functions.

Definition at line 231 of file convolutionfilter_d.h.

◆ setBasisFunction() [2/2]

template<typename F>
void aims::ConvolutionFilter< F >::setBasisFunction ( const std::vector< F > &  func)

Change the basis functions.

Definition at line 237 of file convolutionfilter_d.h.

◆ setDirections() [1/2]

template<typename F >
void aims::ConvolutionFilter< F >::setDirections ( const std::vector< bool > &  dir)

Set the directions along which the filter is applied.

Definition at line 243 of file convolutionfilter_d.h.

◆ setDirections() [2/2]

template<typename F >
void aims::ConvolutionFilter< F >::setDirections ( bool  dirx,
bool  diry,
bool  dirz,
bool  dirt 
)

Set the directions along which the filter is applied.

Definition at line 252 of file convolutionfilter_d.h.

◆ setQuiet()

template<typename F >
void aims::ConvolutionFilter< F >::setQuiet ( )

Equivalent to setVerbose(0)

Definition at line 267 of file convolutionfilter_d.h.

◆ setVerbose()

template<typename F >
void aims::ConvolutionFilter< F >::setVerbose ( int  verbose = 1)

Verbosity level.

Definition at line 261 of file convolutionfilter_d.h.

Member Data Documentation

◆ _dir

template<typename BasisFunction>
std::vector<bool> aims::ConvolutionFilter< BasisFunction >::_dir
protected

◆ _func

template<typename BasisFunction>
std::vector<BasisFunction> aims::ConvolutionFilter< BasisFunction >::_func
protected

◆ _verbose

template<typename BasisFunction>
int aims::ConvolutionFilter< BasisFunction >::_verbose
protected

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