aimsalgo  5.1.2
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 BasisFunction >
aims::ConvolutionFilter< BasisFunction >::ConvolutionFilter ( const BasisFunction &  bfunc)

Constructor / Destructor / Copy.

The same basis function is used in all directions

◆ ConvolutionFilter() [2/3]

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

A different basis function is used in each direction.

◆ 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

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.

References execute.

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.

References aims::convolutionfilter::at(), carto::VolumeRef< class >::getBorders(), carto::VolumeRef< class >::getSize(), carto::VolumeRef< class >::getSizeT(), carto::VolumeRef< class >::getSizeX(), carto::VolumeRef< class >::getSizeY(), carto::VolumeRef< class >::getSizeZ(), aims::ProgressInfo< class, class >::print(), and carto::toString().

◆ 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 BasisFunction >
void aims::ConvolutionFilter< BasisFunction >::setBasisFunction ( const BasisFunction &  func)

Change the basis functions.

◆ setBasisFunction() [2/2]

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

Change the basis functions.

◆ setDirections() [1/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.

◆ setDirections() [2/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.

◆ 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.

References verbose.

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: