aimsalgo  5.1.2
Neuroimaging image processing
aims::ImageAlgorithmInterface< T > Class Template Referenceabstract

aims::ImageAlgorithmInterface is the interface for an image processing algorithm. More...

#include <aims/algorithm/imagealgorithm.h>

Inheritance diagram for aims::ImageAlgorithmInterface< T >:

Public Types

typedef T VoxelType
 

Public Member Functions

virtual Point4dl getOutputImageDimensions (const Point4dl &dims) const
 Returns the output dimensions of the processed image. More...
 
virtual Point4df getOutputImageVoxelSize (const Point4df &voxelsize) const
 Returns the output voxel size of the processed image. More...
 
virtual void execute (const carto::VolumeRef< T > &in, carto::VolumeRef< T > &out) const =0
 ImageAlgorithmInterface<T> Pure virtual method. More...
 
virtual void setOptions (const carto::Object &)
 
virtual void updateOptions (const carto::Object &)
 
virtual ImageAlgorithmInterfaceclone () const =0
 ImageAlgorithmInterface<T> Pure virtual method. More...
 
virtual Point4dl getOutputImageDimensions (const long &dx=1, const long &dy=1, const long &dz=1, const long &dt=1) const
 
virtual Point4df getOutputImageVoxelSize (const float &vx=1.0, const float &vy=1.0, const float &vz=1.0, const float &vt=1.0) const
 
virtual carto::VolumeRef< T > execute (const carto::VolumeRef< T > &in) const
 
virtual void setVerbose (int level)
 
virtual void setQuiet ()
 
virtual ~ImageAlgorithmInterface ()
 

Protected Member Functions

 ImageAlgorithmInterface ()
 
 ImageAlgorithmInterface (const ImageAlgorithmInterface &other)
 
ImageAlgorithmInterfaceoperator= (const ImageAlgorithmInterface &other)
 

Protected Attributes

int _verbose
 

Detailed Description

template<typename T>
class aims::ImageAlgorithmInterface< T >

aims::ImageAlgorithmInterface is the interface for an image processing algorithm.

Image processing algorithms take volumes as input and output. Output dimensions and voxel size may differ from input ones.

Definition at line 68 of file imagealgorithm.h.

Member Typedef Documentation

◆ VoxelType

template<typename T >
typedef T aims::ImageAlgorithmInterface< T >::VoxelType

Definition at line 73 of file imagealgorithm.h.

Constructor & Destructor Documentation

◆ ~ImageAlgorithmInterface()

template<typename T >
virtual aims::ImageAlgorithmInterface< T >::~ImageAlgorithmInterface ( )
inlinevirtual

Definition at line 174 of file imagealgorithm.h.

◆ ImageAlgorithmInterface() [1/2]

template<typename T >
aims::ImageAlgorithmInterface< T >::ImageAlgorithmInterface ( )
inlineprotected

Definition at line 176 of file imagealgorithm.h.

References verbose.

◆ ImageAlgorithmInterface() [2/2]

template<typename T >
aims::ImageAlgorithmInterface< T >::ImageAlgorithmInterface ( const ImageAlgorithmInterface< T > &  other)
inlineprotected

Definition at line 177 of file imagealgorithm.h.

Member Function Documentation

◆ clone()

◆ execute() [1/2]

◆ execute() [2/2]

template<typename T >
virtual void aims::ImageAlgorithmInterface< T >::execute ( const carto::VolumeRef< T > &  in,
carto::VolumeRef< T > &  out 
) const
pure virtual

ImageAlgorithmInterface<T> Pure virtual method.

Returns the image processed by an algorithm on the input image into an already allocated output volume.

Parameters
inInput image to process
outOutput image processed

Implemented in aims::singlechannel::ElementFilteringImageAlgorithm< T >, aims::singlechannel::LinearFilteringImageAlgorithm< T >, aims::singlechannel::SubSamplingImageAlgorithm< T >, and aims::ImageAlgorithm< T >.

Referenced by aims::ImageAlgorithmInterface< T >::execute().

◆ getOutputImageDimensions() [1/2]

template<typename T >
virtual Point4dl aims::ImageAlgorithmInterface< T >::getOutputImageDimensions ( const long &  dx = 1,
const long &  dy = 1,
const long &  dz = 1,
const long &  dt = 1 
) const
inlinevirtual
See also
getOutputImageDimensions( const Point4dl & )

Definition at line 121 of file imagealgorithm.h.

References aims::ImageAlgorithmInterface< T >::getOutputImageDimensions().

◆ getOutputImageDimensions() [2/2]

template<typename T >
virtual Point4dl aims::ImageAlgorithmInterface< T >::getOutputImageDimensions ( const Point4dl dims) const
inlinevirtual

Returns the output dimensions of the processed image.

This is used when output image does not have the same dimensions as input image.

Parameters
Point4dldims dimensions of the input image.
Returns
Point4dl dimensions of the output image.

The default implementation returns same dimensions as input.

Reimplemented in aims::singlechannel::SubSamplingImageAlgorithm< T >, and aims::ImageAlgorithm< T >.

Definition at line 84 of file imagealgorithm.h.

Referenced by aims::ImageAlgorithmInterface< T >::execute(), and aims::ImageAlgorithmInterface< T >::getOutputImageDimensions().

◆ getOutputImageVoxelSize() [1/2]

template<typename T >
virtual Point4df aims::ImageAlgorithmInterface< T >::getOutputImageVoxelSize ( const float &  vx = 1.0,
const float &  vy = 1.0,
const float &  vz = 1.0,
const float &  vt = 1.0 
) const
inlinevirtual
See also
getOutputImageVoxelSize( const Point4df & )

Definition at line 130 of file imagealgorithm.h.

References aims::ImageAlgorithmInterface< T >::getOutputImageVoxelSize().

◆ getOutputImageVoxelSize() [2/2]

template<typename T >
virtual Point4df aims::ImageAlgorithmInterface< T >::getOutputImageVoxelSize ( const Point4df voxelsize) const
inlinevirtual

Returns the output voxel size of the processed image.

This is used when output image does not have the same voxel size as input image.

Parameters
Point4dfvoxelsize voxel size of the input image.
Returns
Point4df voxel size of the output image.

The default implementation returns same voxel size as input.

Reimplemented in aims::singlechannel::SubSamplingImageAlgorithm< T >, and aims::ImageAlgorithm< T >.

Definition at line 95 of file imagealgorithm.h.

Referenced by aims::ImageAlgorithmInterface< T >::execute(), and aims::ImageAlgorithmInterface< T >::getOutputImageVoxelSize().

◆ operator=()

template<typename T >
ImageAlgorithmInterface& aims::ImageAlgorithmInterface< T >::operator= ( const ImageAlgorithmInterface< T > &  other)
inlineprotected

◆ setOptions()

◆ setQuiet()

template<typename T >
virtual void aims::ImageAlgorithmInterface< T >::setQuiet ( )
inlinevirtual

◆ setVerbose()

template<typename T >
virtual void aims::ImageAlgorithmInterface< T >::setVerbose ( int  level)
inlinevirtual

◆ updateOptions()

Member Data Documentation

◆ _verbose


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