aimsalgo  5.0.5
Neuroimaging image processing
AimsConvolution< T > Class Template Reference

The template class to make convolutions. More...

#include <aims/signalfilter/convol.h>

Inheritance diagram for AimsConvolution< T >:

Public Member Functions

 AimsConvolution (bool safe=true)
 
virtual ~AimsConvolution ()
 
AimsData< T > doit (AimsData< T > &, AimsData< T > &)
 
void set_safe_status (bool safe=true)
 

Protected Member Functions

doit_voxel (AimsData< T > &img, AimsData< T > &kernel, int x, int y, int z, int t)
 called for each voxel (user selected function) More...
 
virtual T doit_voxel_safe (AimsData< T > &img, AimsData< T > &kernel, int x, int y, int z, int t)
 called for each voxel (safe version) More...
 
virtual T doit_voxel_unsafe (AimsData< T > &img, AimsData< T > &kernel, int x, int y, int z, int t)
 called for each voxel (unsafe version) More...
 
min () const
 
max () const
 
template<>
int8_t min () const
 
template<>
int8_t max () const
 
template<>
uint8_t min () const
 
template<>
uint8_t max () const
 
template<>
int16_t min () const
 
template<>
int16_t max () const
 
template<>
uint16_t min () const
 
template<>
uint16_t max () const
 
template<>
int32_t min () const
 
template<>
int32_t max () const
 
template<>
uint32_t min () const
 
template<>
uint32_t max () const
 
template<>
float min () const
 
template<>
float max () const
 
template<>
double min () const
 
template<>
double max () const
 
template<>
char min () const
 
template<>
char max () const
 
template<>
long min () const
 
template<>
long max () const
 
template<>
ulong min () const
 
template<>
ulong max () const
 

Protected Attributes

T(AimsConvolution::* _doit_voxel_method )(AimsData< T > &img, AimsData< T > &kernel, int x, int y, int z, int t)
 
bool _safe
 

Detailed Description

template<class T>
class AimsConvolution< T >

The template class to make convolutions.

This class is useful to perform a convolution of a data by a given kernel.

if the image has a border unsafe version of convolution is used (no test on borders).

Definition at line 52 of file convol.h.

Constructor & Destructor Documentation

◆ AimsConvolution()

template<class T>
AimsConvolution< T >::AimsConvolution ( bool  safe = true)
inline

Definition at line 56 of file convol.h.

References AimsConvolution< T >::set_safe_status().

◆ ~AimsConvolution()

template<class T>
virtual AimsConvolution< T >::~AimsConvolution ( )
inlinevirtual

Definition at line 59 of file convol.h.

References AimsConvolution< T >::doit().

Member Function Documentation

◆ doit()

◆ doit_voxel()

template<class T >
T AimsConvolution< T >::doit_voxel ( AimsData< T > &  img,
AimsData< T > &  kernel,
int  x,
int  y,
int  z,
int  t 
)
inlineprotected

called for each voxel (user selected function)

Definition at line 152 of file convol.h.

References AimsConvolution< T >::_doit_voxel_method.

Referenced by AimsConvolution< T >::doit(), and AimsConvolution< T >::set_safe_status().

◆ doit_voxel_safe()

template<class T >
T AimsConvolution< T >::doit_voxel_safe ( AimsData< T > &  img,
AimsData< T > &  kernel,
int  x,
int  y,
int  z,
int  t 
)
inlineprotectedvirtual

◆ doit_voxel_unsafe()

template<class T >
T AimsConvolution< T >::doit_voxel_unsafe ( AimsData< T > &  img,
AimsData< T > &  kernel,
int  x,
int  y,
int  z,
int  t 
)
inlineprotectedvirtual

◆ max() [1/12]

template<class T>
T AimsConvolution< T >::max ( ) const
protected

◆ max() [2/12]

template<>
int8_t AimsConvolution< int8_t >::max ( ) const
inlineprotected

Definition at line 250 of file convol.h.

References std::numeric_limits< class >::max().

◆ max() [3/12]

template<>
uint8_t AimsConvolution< uint8_t >::max ( ) const
inlineprotected

Definition at line 266 of file convol.h.

References std::numeric_limits< class >::max().

◆ max() [4/12]

template<>
int16_t AimsConvolution< int16_t >::max ( ) const
inlineprotected

Definition at line 282 of file convol.h.

References std::numeric_limits< class >::max().

◆ max() [5/12]

template<>
uint16_t AimsConvolution< uint16_t >::max ( ) const
inlineprotected

Definition at line 298 of file convol.h.

References std::numeric_limits< class >::max().

◆ max() [6/12]

template<>
int32_t AimsConvolution< int32_t >::max ( ) const
inlineprotected

Definition at line 314 of file convol.h.

References std::numeric_limits< class >::max().

◆ max() [7/12]

template<>
uint32_t AimsConvolution< uint32_t >::max ( ) const
inlineprotected

Definition at line 330 of file convol.h.

References std::numeric_limits< class >::max().

◆ max() [8/12]

template<>
float AimsConvolution< float >::max ( ) const
inlineprotected

Definition at line 346 of file convol.h.

◆ max() [9/12]

template<>
double AimsConvolution< double >::max ( ) const
inlineprotected

Definition at line 362 of file convol.h.

◆ max() [10/12]

template<>
char AimsConvolution< char >::max ( ) const
inlineprotected

Definition at line 381 of file convol.h.

References std::numeric_limits< class >::max().

◆ max() [11/12]

template<>
long AimsConvolution< long >::max ( ) const
inlineprotected

Definition at line 398 of file convol.h.

◆ max() [12/12]

template<>
ulong AimsConvolution< ulong >::max ( ) const
inlineprotected

Definition at line 414 of file convol.h.

◆ min() [1/12]

template<class T>
T AimsConvolution< T >::min ( ) const
protected

◆ min() [2/12]

template<>
int8_t AimsConvolution< int8_t >::min ( ) const
inlineprotected

Definition at line 242 of file convol.h.

References std::numeric_limits< class >::min().

◆ min() [3/12]

template<>
uint8_t AimsConvolution< uint8_t >::min ( ) const
inlineprotected

Definition at line 258 of file convol.h.

◆ min() [4/12]

template<>
int16_t AimsConvolution< int16_t >::min ( ) const
inlineprotected

Definition at line 274 of file convol.h.

References std::numeric_limits< class >::min().

◆ min() [5/12]

template<>
uint16_t AimsConvolution< uint16_t >::min ( ) const
inlineprotected

Definition at line 290 of file convol.h.

◆ min() [6/12]

template<>
int32_t AimsConvolution< int32_t >::min ( ) const
inlineprotected

Definition at line 306 of file convol.h.

References std::numeric_limits< class >::min().

◆ min() [7/12]

template<>
uint32_t AimsConvolution< uint32_t >::min ( ) const
inlineprotected

Definition at line 322 of file convol.h.

◆ min() [8/12]

template<>
float AimsConvolution< float >::min ( ) const
inlineprotected

Definition at line 338 of file convol.h.

◆ min() [9/12]

template<>
double AimsConvolution< double >::min ( ) const
inlineprotected

Definition at line 354 of file convol.h.

◆ min() [10/12]

template<>
char AimsConvolution< char >::min ( ) const
inlineprotected

Definition at line 373 of file convol.h.

References std::numeric_limits< class >::min().

◆ min() [11/12]

template<>
long AimsConvolution< long >::min ( ) const
inlineprotected

Definition at line 390 of file convol.h.

◆ min() [12/12]

template<>
ulong AimsConvolution< ulong >::min ( ) const
inlineprotected

Definition at line 406 of file convol.h.

◆ set_safe_status()

Member Data Documentation

◆ _doit_voxel_method

template<class T>
T(AimsConvolution::* AimsConvolution< T >::_doit_voxel_method) (AimsData< T > &img, AimsData< T > &kernel, int x, int y, int z, int t)
protected

◆ _safe

template<class T>
bool AimsConvolution< T >::_safe
protected

Definition at line 87 of file convol.h.

Referenced by AimsConvolution< T >::doit(), and AimsConvolution< T >::set_safe_status().


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