aimsalgo  5.1.2
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 ()
 
carto::VolumeRef< T > doit (carto::rc_ptr< carto::Volume< T > > &, carto::rc_ptr< carto::Volume< T > > &)
 
void set_safe_status (bool safe=true)
 

Protected Member Functions

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

Protected Attributes

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
 

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.

Member Function Documentation

◆ doit()

◆ doit_voxel()

template<class T >
T 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 
)
inlineprotected

called for each voxel (user selected function)

Definition at line 168 of file convol.h.

◆ doit_voxel_safe()

template<class T >
T AimsConvolution< 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 
)
inlineprotectedvirtual

called for each voxel (safe version)

Reimplemented in AimsMaskedConvolution< T >.

Definition at line 176 of file convol.h.

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

◆ doit_voxel_unsafe()

template<class T >
T AimsConvolution< 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 
)
inlineprotectedvirtual

called for each voxel (unsafe version)

Reimplemented in AimsMaskedConvolution< T >.

Definition at line 213 of file convol.h.

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

◆ max() [1/12]

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

◆ max() [2/12]

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

Definition at line 273 of file convol.h.

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

◆ max() [3/12]

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

Definition at line 289 of file convol.h.

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

◆ max() [4/12]

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

Definition at line 305 of file convol.h.

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

◆ max() [5/12]

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

Definition at line 321 of file convol.h.

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

◆ max() [6/12]

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

Definition at line 337 of file convol.h.

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

◆ max() [7/12]

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

Definition at line 353 of file convol.h.

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

◆ max() [8/12]

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

Definition at line 369 of file convol.h.

◆ max() [9/12]

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

Definition at line 385 of file convol.h.

◆ max() [10/12]

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

Definition at line 404 of file convol.h.

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

◆ max() [11/12]

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

Definition at line 421 of file convol.h.

◆ max() [12/12]

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

Definition at line 437 of file convol.h.

◆ min() [1/12]

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

◆ min() [2/12]

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

Definition at line 265 of file convol.h.

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

◆ min() [3/12]

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

Definition at line 281 of file convol.h.

◆ min() [4/12]

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

Definition at line 297 of file convol.h.

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

◆ min() [5/12]

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

Definition at line 313 of file convol.h.

◆ min() [6/12]

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

Definition at line 329 of file convol.h.

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

◆ min() [7/12]

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

Definition at line 345 of file convol.h.

◆ min() [8/12]

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

Definition at line 361 of file convol.h.

◆ min() [9/12]

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

Definition at line 377 of file convol.h.

◆ min() [10/12]

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

Definition at line 396 of file convol.h.

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

◆ min() [11/12]

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

Definition at line 413 of file convol.h.

◆ min() [12/12]

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

Definition at line 429 of file convol.h.

◆ set_safe_status()

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

Member Data Documentation

◆ _doit_voxel_method

template<class T >
T(AimsConvolution::* AimsConvolution< T >::_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)
protected

Definition at line 88 of file convol.h.

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

◆ _safe

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

Definition at line 92 of file convol.h.

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


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