aimsalgo  5.1.2
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 (const carto::rc_ptr< carto::Volume< short > > &mask, short sources=0, bool safe=true)
 
virtual ~AimsMaskedConvolution ()
 
virtual T doit_voxel_safe (carto::rc_ptr< carto::Volume< T > > &img, carto::rc_ptr< carto::Volume< T > > &kernel, int x, int y, int z, int t)
 called for each voxel (safe version) More...
 
virtual T doit_voxel_unsafe (carto::rc_ptr< carto::Volume< T > > &img, carto::rc_ptr< carto::Volume< 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 ()
 
carto::VolumeRef< T > doit (carto::rc_ptr< carto::Volume< T > > &, carto::rc_ptr< carto::Volume< T > > &)
 
void set_safe_status (bool safe=true)
 

Protected Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from AimsConvolution< T >
doit_voxel (carto::rc_ptr< carto::Volume< T > > &img, carto::rc_ptr< carto::Volume< T > > &kernel, int x, int y, int z, int t)
 called for each voxel (user selected function) More...
 
min () const
 
max () const
 
int8_t min () const
 
int8_t max () const
 
uint8_t min () const
 
uint8_t max () const
 
int16_t min () const
 
int16_t max () const
 
uint16_t min () const
 
uint16_t max () const
 
int32_t min () const
 
int32_t max () const
 
uint32_t min () const
 
uint32_t max () const
 
float min () const
 
float max () const
 
double min () const
 
double max () const
 
char min () const
 
char max () const
 
long min () const
 
long max () const
 
ulong min () const
 
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 103 of file convol.h.

Constructor & Destructor Documentation

◆ AimsMaskedConvolution()

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

Definition at line 107 of file convol.h.

References mask().

◆ ~AimsMaskedConvolution()

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

Definition at line 113 of file convol.h.

Member Function Documentation

◆ doit_voxel_safe()

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

called for each voxel (safe version)

Reimplemented from AimsConvolution< T >.

Definition at line 244 of file convol.h.

References AimsConvolution< T >::doit_voxel_safe().

◆ doit_voxel_unsafe()

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

called for each voxel (unsafe version)

Reimplemented from AimsConvolution< T >.

Definition at line 254 of file convol.h.

References AimsConvolution< T >::doit_voxel_unsafe().

Member Data Documentation

◆ _mask

template<class T >
const carto::VolumeRef<short> AimsMaskedConvolution< T >::_mask
protected

Definition at line 125 of file convol.h.

◆ _sources

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

Definition at line 124 of file convol.h.


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