A.I.M.S algorithms


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 &options)
 
virtual void updateOptions (const carto::Object &options)
 
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 AimsData< T > execute (const AimsData< 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 56 of file imagealgorithm.h.

Member Typedef Documentation

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

Definition at line 74 of file imagealgorithm.h.

Constructor & Destructor Documentation

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

Definition at line 181 of file imagealgorithm.h.

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

Definition at line 183 of file imagealgorithm.h.

References verbose.

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

Definition at line 184 of file imagealgorithm.h.

Member Function Documentation

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::ImageAlgorithm< T >, aims::singlechannel::LinearFilteringImageAlgorithm< T >, and aims::singlechannel::SubSamplingImageAlgorithm< T >.

Referenced by aims::ImageAlgorithm< T >::doit(), aims::ImageAlgorithmInterface< T >::execute(), aims::ImageAlgorithmSwitch< T, false >::execute(), and aims::ImageAlgorithmSwitch< T, true >::execute().

template<typename T>
virtual AimsData<T> aims::ImageAlgorithmInterface< T >::execute ( const AimsData< T > &  in) const
inlinevirtual
See also
execute( const carto::AimsData<T> & )

Definition at line 163 of file imagealgorithm.h.

References aims::ImageAlgorithmInterface< T >::execute(), and AimsData< T >::volume().

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::ImageAlgorithm< T >, and aims::singlechannel::SubSamplingImageAlgorithm< T >.

Definition at line 85 of file imagealgorithm.h.

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

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 122 of file imagealgorithm.h.

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

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::ImageAlgorithm< T >, and aims::singlechannel::SubSamplingImageAlgorithm< T >.

Definition at line 96 of file imagealgorithm.h.

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

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 131 of file imagealgorithm.h.

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

template<typename T>
ImageAlgorithmInterface& aims::ImageAlgorithmInterface< T >::operator= ( const ImageAlgorithmInterface< T > &  other)
inlineprotected
template<typename T>
virtual void aims::ImageAlgorithmInterface< T >::setQuiet ( )
inlinevirtual
template<typename T>
virtual void aims::ImageAlgorithmInterface< T >::setVerbose ( int  level)
inlinevirtual

Member Data Documentation


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