A.I.M.S algorithms


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

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

Definition at line 56 of file convol.h.

References AimsConvolution< T >::set_safe_status().

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

Definition at line 59 of file convol.h.

Member Function Documentation

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.

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

called for each voxel (safe version)

Reimplemented in AimsMaskedConvolution< T >.

Definition at line 159 of file convol.h.

References AimsData< T >::dimX(), AimsData< T >::dimY(), and AimsData< T >::dimZ().

Referenced by AimsMaskedConvolution< T >::doit_voxel_safe().

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

called for each voxel (unsafe version)

Reimplemented in AimsMaskedConvolution< T >.

Definition at line 195 of file convol.h.

References AimsData< T >::dimX(), AimsData< T >::dimY(), and AimsData< T >::dimZ().

Referenced by AimsMaskedConvolution< T >::doit_voxel_unsafe().

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

Definition at line 250 of file convol.h.

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

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

Definition at line 266 of file convol.h.

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

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

Definition at line 282 of file convol.h.

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

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

Definition at line 298 of file convol.h.

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

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

Definition at line 314 of file convol.h.

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

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

Definition at line 330 of file convol.h.

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

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

Definition at line 346 of file convol.h.

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

Definition at line 362 of file convol.h.

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

Definition at line 381 of file convol.h.

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

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

Definition at line 398 of file convol.h.

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

Definition at line 414 of file convol.h.

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

Definition at line 242 of file convol.h.

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

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

Definition at line 258 of file convol.h.

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

Definition at line 274 of file convol.h.

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

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

Definition at line 290 of file convol.h.

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

Definition at line 306 of file convol.h.

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

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

Definition at line 322 of file convol.h.

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

Definition at line 338 of file convol.h.

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

Definition at line 354 of file convol.h.

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

Definition at line 373 of file convol.h.

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

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

Definition at line 390 of file convol.h.

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

Definition at line 406 of file convol.h.

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

Member Data Documentation

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

Definition at line 84 of file convol.h.

Referenced by AimsConvolution< T >::set_safe_status().

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

Definition at line 87 of file convol.h.

Referenced by AimsConvolution< T >::set_safe_status().


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