MDSTk Libraries  1.1.0
Medical Data Segmentation Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
mds::img::CVolumeConvolutionFilter< V, N > Class Template Reference

General convolution volume filter. More...

#include <mdsConvolution.h>

Inheritance diagram for mds::img::CVolumeConvolutionFilter< V, N >:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { TEMPLATE_PARAMETER_IS_NOT_VOLUME = V::CLASS_VOLUME }
 Check that type V is a volume. More...
typedef CNormVolumeFilter< V, Nbase
 Volume filter base.
typedef mds::base::CData
< tConvKernelData
data
 Data base.
typedef data::tConstDataPtr tConstDataPtr
 Pointer to the constant data.
typedef data::tData tData
 Data type.
typedef data::tDataPtr tDataPtr
 Pointer to the data.
typedef base::tResult tResult
 Filter response type.
typedef base::tVolume tVolume
 Volume type.
typedef base::tVoxel tVoxel
 Volume voxel type.

Public Member Functions

tDataat (tSize x, tSize y, tSize z)
 Returns reference to the kernel coefficient [x][y][z].
const tDataat (tSize x, tSize y, tSize z) const
void create (tSize Size)
 Creates a new 2D convolution kernel.
 CVolumeConvolutionFilter (tSize Size)
 Constructor that creates a new 2D convolution kernel.
 CVolumeConvolutionFilter (tSize Size, const tData &Value)
 Constructor.
 CVolumeConvolutionFilter (const tConstDataPtr pData, tSize Size)
 Constructor.
 CVolumeConvolutionFilter (const CKernel3D &k)
 Constructor.
tDataPtr getPtr (tSize x, tSize y, tSize z)
 Returns pointer to a given kernel data [x][y][z].
tConstDataPtr getPtr (tSize x, tSize y, tSize z) const
tDataPtr getPtr ()
 Returns pointer to the kernel data.
tConstDataPtr getPtr () const
tResult getResponse (const tVolume &SrcVolume, tSize x, tSize y, tSize z)
 Returns filter response at specified volume position.
tSize getSize () const
 Returns the kernel size.
bool operator() (const tVolume &SrcVolume, tVolume &DstVolume)
 Filtering of input/source volume.
tDataoperator() (tSize i)
 Returns reference to the subscripted element [i].
const tDataoperator() (tSize i) const
tDataoperator() (tSize x, tSize y, tSize z)
 Returns the subscripted kernel coefficient [x][y][z].
const tDataoperator() (tSize x, tSize y, tSize z) const
void set (tSize x, tSize y, tSize z, const tData &Value)
 Sets the kernel data.
 ~CVolumeConvolutionFilter ()
 Destructor.

Protected Member Functions

void init (tSize Size)
 Allocates data of a given size.

Protected Attributes

tSize m_YOffset
 Kernel size.
tSize m_ZOffset

Detailed Description

template<class V, template< typename > class N = CDefaultFilterPolicy>
class mds::img::CVolumeConvolutionFilter< V, N >

General convolution volume filter.


Member Typedef Documentation

template<class V , template< typename > class N = CDefaultFilterPolicy>
typedef CNormVolumeFilter<V,N> mds::img::CVolumeConvolutionFilter< V, N >::base

Volume filter base.

Reimplemented from mds::img::CNormVolumeFilter< V, N >.

Data base.

Pointer to the constant data.

Reimplemented from mds::base::CData< tConvKernelData >.

Data type.

Reimplemented from mds::base::CData< tConvKernelData >.

Pointer to the data.

Reimplemented from mds::base::CData< tConvKernelData >.

template<class V , template< typename > class N = CDefaultFilterPolicy>
typedef base::tResult mds::img::CVolumeConvolutionFilter< V, N >::tResult

Filter response type.

Reimplemented from mds::img::CNormVolumeFilter< V, N >.

template<class V , template< typename > class N = CDefaultFilterPolicy>
typedef base::tVolume mds::img::CVolumeConvolutionFilter< V, N >::tVolume

Volume type.

Reimplemented from mds::img::CNormVolumeFilter< V, N >.

template<class V , template< typename > class N = CDefaultFilterPolicy>
typedef base::tVoxel mds::img::CVolumeConvolutionFilter< V, N >::tVoxel

Volume voxel type.

Reimplemented from mds::img::CNormVolumeFilter< V, N >.


Member Enumeration Documentation

template<class V>
anonymous enum [inherited]

Check that type V is a volume.

You will see name of this enum somewhere in compiler error message if the type V is not volume.

Enumerator:
TEMPLATE_PARAMETER_IS_NOT_VOLUME 

Constructor & Destructor Documentation

template<class V , template< typename > class N = CDefaultFilterPolicy>
mds::img::CVolumeConvolutionFilter< V, N >::CVolumeConvolutionFilter ( tSize  Size)

Constructor that creates a new 2D convolution kernel.

  • Parameter 'Size' must be an odd number
template<class V , template< typename > class N = CDefaultFilterPolicy>
mds::img::CVolumeConvolutionFilter< V, N >::CVolumeConvolutionFilter ( tSize  Size,
const tData Value 
)

Constructor.

template<class V , template< typename > class N = CDefaultFilterPolicy>
mds::img::CVolumeConvolutionFilter< V, N >::CVolumeConvolutionFilter ( const tConstDataPtr  pData,
tSize  Size 
)

Constructor.

template<class V , template< typename > class N = CDefaultFilterPolicy>
mds::img::CVolumeConvolutionFilter< V, N >::CVolumeConvolutionFilter ( const CKernel3D k)

Constructor.

  • Filter is based on a given convolution kernel
template<class V , template< typename > class N = CDefaultFilterPolicy>
mds::img::CVolumeConvolutionFilter< V, N >::~CVolumeConvolutionFilter ( )

Destructor.


Member Function Documentation

tData& mds::img::CKernel3D::at ( tSize  x,
tSize  y,
tSize  z 
) [inherited]

Returns reference to the kernel coefficient [x][y][z].

  • Kernel data are viewed as three dimensional.
const tData& mds::img::CKernel3D::at ( tSize  x,
tSize  y,
tSize  z 
) const [inherited]
void mds::img::CKernel3D::create ( tSize  Size) [inherited]

Creates a new 2D convolution kernel.

Reimplemented from mds::base::CData< tConvKernelData >.

tDataPtr mds::img::CKernel3D::getPtr ( tSize  x,
tSize  y,
tSize  z 
) [inherited]

Returns pointer to a given kernel data [x][y][z].

  • 3D version.
tConstDataPtr mds::img::CKernel3D::getPtr ( tSize  x,
tSize  y,
tSize  z 
) const [inherited]

Returns pointer to the kernel data.

Reimplemented from mds::base::CData< tConvKernelData >.

template<class V , template< typename > class N = CDefaultFilterPolicy>
tResult mds::img::CVolumeConvolutionFilter< V, N >::getResponse ( const tVolume SrcVolume,
tSize  x,
tSize  y,
tSize  z 
)

Returns filter response at specified volume position.

  • Value is not normalized!
tSize mds::img::CKernel3D::getSize ( ) const [inherited]

Returns the kernel size.

Reimplemented from mds::base::CData< tConvKernelData >.

void mds::img::CKernel3D::init ( tSize  Size) [protected, inherited]

Allocates data of a given size.

  • This method is primarily designed for kernel data allocation when the default constructor was used.
  • Provides no checking of the existing data and its (de,re)allocation.
  • Avoid of using it!
template<class V , template< typename > class N>
bool CVolumeConvolutionFilter::operator() ( const tVolume SrcVolume,
tVolume DstVolume 
) [virtual]

Filtering of input/source volume.

Point filter responses are written to the destination volume.

  • Returns false on failure

Implements mds::img::CNormVolumeFilter< V, N >.

tData& mds::base::CData< tConvKernelData >::operator() ( tSize  i) [inherited]

Returns reference to the subscripted element [i].

Reimplemented in mds::img::CKernel1D.

const tData& mds::base::CData< tConvKernelData >::operator() ( tSize  i) const [inherited]

Reimplemented in mds::img::CKernel1D.

tData& mds::img::CKernel3D::operator() ( tSize  x,
tSize  y,
tSize  z 
) [inherited]

Returns the subscripted kernel coefficient [x][y][z].

  • Kernel data are viewed as three dimensional.
const tData& mds::img::CKernel3D::operator() ( tSize  x,
tSize  y,
tSize  z 
) const [inherited]
void mds::img::CKernel3D::set ( tSize  x,
tSize  y,
tSize  z,
const tData Value 
) [inherited]

Sets the kernel data.

  • 3D version.

Member Data Documentation

tSize mds::img::CKernel3D::m_YOffset [protected, inherited]

Kernel size.

tSize mds::img::CKernel3D::m_ZOffset [protected, inherited]

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