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

Make convolution only on a specified mask. More...

#include <aims/signalfilter/convol.h>

Inheritance diagram for AimsMaskedConvolution< T >:
Collaboration diagram for AimsMaskedConvolution< T >:

Public Member Functions

 AimsMaskedConvolution (AimsData< short > &mask, short sources=0, bool safe=true)
 
virtual ~AimsMaskedConvolution ()
 
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...
 
- Public Member Functions inherited from AimsConvolution< T >
 AimsConvolution (bool safe=true)
 
virtual ~AimsConvolution ()
 
AimsData< T > doit (AimsData< T > &, AimsData< T > &)
 
void set_safe_status (bool safe=true)
 

Protected Attributes

short _sources
 
AimsData< short > & _mask
 
- Protected Attributes inherited from AimsConvolution< T >
T(AimsConvolution::* _doit_voxel_method )(AimsData< T > &img, AimsData< T > &kernel, int x, int y, int z, int t)
 
bool _safe
 

Additional Inherited Members

- Protected Member Functions inherited from AimsConvolution< T >
doit_voxel (AimsData< T > &img, AimsData< T > &kernel, int x, int y, int z, int t)
 called for each voxel (user selected function) 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
 

Detailed Description

template<class T>
class AimsMaskedConvolution< T >

Make convolution only on a specified mask.

In the mask, voxels with value :

  • sources : omitted from convolution computation, but are used by unmasked neighbouring voxels (corresponding to Dirichlet border conditions when convolution is used in ODE or PDE).
  • other : corresponds to unmask voxels.

Definition at line 98 of file convol.h.

Constructor & Destructor Documentation

◆ AimsMaskedConvolution()

template<class T>
AimsMaskedConvolution< T >::AimsMaskedConvolution ( AimsData< short > &  mask,
short  sources = 0,
bool  safe = true 
)
inline

Definition at line 102 of file convol.h.

◆ ~AimsMaskedConvolution()

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

Member Function Documentation

◆ doit_voxel_safe()

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

called for each voxel (safe version)

Reimplemented from AimsConvolution< T >.

Definition at line 225 of file convol.h.

References AimsConvolution< T >::doit_voxel_safe().

◆ doit_voxel_unsafe()

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

called for each voxel (unsafe version)

Reimplemented from AimsConvolution< T >.

Definition at line 233 of file convol.h.

References AimsConvolution< T >::doit_voxel_unsafe().

Member Data Documentation

◆ _mask

template<class T>
AimsData<short>& AimsMaskedConvolution< T >::_mask
protected

Definition at line 115 of file convol.h.

◆ _sources

template<class T>
short AimsMaskedConvolution< T >::_sources
protected

Definition at line 114 of file convol.h.


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