Data Structures | Typedefs | Functions
Filtering and combining

These classes and functions are related to filtering and combining of 2D and 3D images. More...

Data Structures

class  C2DFifoFilterPlugin
 The plug-in base class for the FIFO filters. More...
 
class  C2DFilterChain
 a convenience class to create a chain of 2D image filters More...
 
class  C2DFuzzyClusterSolver
 A solver for the fuzzy segmentation smoothness constraint. More...
 
class  C2DImageCombiner
 2D Image combiner More...
 
class  C2DImageFifoFilter
 The class to provide filtering of series of 2D images as if they where 3D images. More...
 
class  C2DSolveCG
 solve_sCG – a class providing a CG solver More...
 
class  C3DImageCombiner
 Base class for plug-ins that combine two 3D images in certain ways. More...
 
struct  FDeformer2D
 
class  solve_sCG
 a class providing a CG solver More...
 
class  TCST2DKernel< T >
 Base class for cos/sin transformation filters. More...
 
class  TDataFilter< D >
 Generic interface class to data filters. More...
 
class  TDataFilterPlugin< Image >
 Generic image filter plugin base. More...
 
class  TFifoFilter< T >
 Generic base class for out-of-core FIFO filters. More...
 
struct  TFilter< R >
 base class for all filer type functors. More...
 
class  TFilterChain< Handler >
 create and use a chain of filters More...
 
class  TImageCreator< T >
 The base class for generic image creation. More...
 
class  TWatershed< dim >
 templated version of the standard watershed algorithm More...
 
class  TWatershedFilterPlugin< dim >
 plugin for the templated version of the standard watershed algorithm More...
 

Typedefs

typedef THandlerSingleton
< TFactoryPluginHandler
< C2DFifoFilterPlugin > > 
C2DFifoFilterPluginHandler
 Plugin handler for the FIFO filters. More...
 
typedef TDataFilter< C2DImageC2DFilter
 
typedef TDataFilterPlugin
< C2DImage
C2DFilterPlugin
 
typedef THandlerSingleton
< TFactoryPluginHandler
< C2DFilterPlugin > > 
C2DFilterPluginHandler
 
typedef TFilterChain
< C2DFilterPluginHandler
C2DImageFilterChain
 
typedef TDataFilter< C3DImageC3DFilter
 Base class for 3D image filters. Filters are implemented as plug-ins. More...
 
typedef TDataFilterPlugin
< C3DImage
C3DFilterPlugin
 The 3D filter plugin type. More...
 
typedef THandlerSingleton
< TFactoryPluginHandler
< C3DFilterPlugin > > 
C3DFilterPluginHandler
 The 3D filter plugin handler. More...
 
typedef TFilterChain
< C3DFilterPluginHandler
C3DImageFilterChain
 3D filter chain to apply various filters in one run More...
 
typedef TFilterChain
< CMeshFilterPluginHandler
CMeshFilterChain
 
typedef TDataFilterPlugin
< CTriangleMesh
CMeshFilterPlugin
 
typedef THandlerSingleton
< TFactoryPluginHandler
< CMeshFilterPlugin > > 
CMeshFilterPluginHandler
 
typedef std::shared_ptr
< C2DFilter
P2DFilter
 
typedef TFifoFilter< P2DImage >
::Pointer 
P2DImageFifoFilter
 Pointer type for the FIFO filter. More...
 
typedef std::shared_ptr
< C3DFilter
P3DFilter
 The 3D filter shared pointer. More...
 
typedef std::shared_ptr
< CMeshFilter
PMeshFilter
 

Functions

template<typename F , typename B >
static F::result_type accumulate (F &f, const B &data)
 
template<typename F , typename A , typename B >
static F::result_type accumulate (F &f, const A &a, const B &b)
 */ More...
 
template<typename S >
std::vector< P3DFiltercreate_filter_chain (const std::vector< S > &chain)
 */ More...
 
 DEFINE_Image_Creator (C3DImage)
 The 3D specialization of the TImageCreator template. More...
 
bool fborder (long index, long nx, long ny, long nz)
 function defining field borders More...
 
template<typename F , typename B >
static F::result_type filter (const F &f, const B &b)
 
template<typename F , typename A , typename B >
static F::result_type filter (const F &f, const A &a, const B &b)
 */ More...
 
template<typename F , typename B , typename O >
static F::result_type filter_and_output (const F &f, const B &a, O &b)
 
template<typename F , typename B >
static F::result_type filter_equal (const F &f, const B &a, const B &b)
 
template<typename F , typename B >
static void filter_equal_inplace (const F &f, const B &a, B &b)
 
template<typename F , typename B >
static F::result_type filter_inplace (const F &f, B &b)
 
EXPORT_2D P2DImage fuzzy_segment_2d (const C2DImage &src, size_t noOfClasses, const SFuzzySegParams &residuum, C2DImageVector &classes, P2DImage &gain)
 Run a fuzzy c-mean segmentation with gain field correction. More...
 
EXPORT_3D P3DImage fuzzy_segment_3d (const C3DImage &src, size_t noOfClasses, float residuum, C3DImageVector &classes)
 Fuzzy c-means segmentation with gain field estimation. More...
 
PTriangleMesh EXPORT_MESH run_filter (const CTriangleMesh &mesh, const char *filter)
 
PTriangleMesh run_filter (PTriangleMesh mesh, const char *filter)
 
P2DImage EXPORT_2D run_filter (const C2DImage &image, const char *filter)
 
P2DImage EXPORT_2D run_filter (P2DImage image, const char *filter)
 
P3DImage EXPORT_3D run_filter (const C3DImage &image, const char *filter)
 convenience function: create and run a filter on an image More...
 
PTriangleMesh EXPORT_MESH run_filter_chain (PTriangleMesh mesh, const std::vector< const char * > &filters)
 
P2DImage EXPORT_2D run_filter_chain (P2DImage image, size_t nfilters, const char *filters[]) __attribute__((deprecated))
 
P2DImage EXPORT_2D run_filter_chain (P2DImage image, const std::vector< const char * > &filters)
 
P3DImage EXPORT_3D run_filter_chain (P3DImage image, const std::vector< const char * > &filters)
 
template<typename PData , typename... Filters>
PData run_filters (PData image, Filters...filters)
 run a chain of filters on an input image More...
 

Detailed Description

These classes and functions are related to filtering and combining of 2D and 3D images.

Typedef Documentation

Plugin handler for the FIFO filters.

Definition at line 147 of file 2dimagefifofilter.hh.

2D image filter

Definition at line 35 of file 2d/filter.hh.

2D image filter plugin

Definition at line 41 of file 2d/filter.hh.

2D filter plugin handler

Definition at line 53 of file 2d/filter.hh.

2D filter chain to apply various filters in one run

Definition at line 81 of file 2d/filter.hh.

Base class for 3D image filters. Filters are implemented as plug-ins.

Definition at line 42 of file 3d/filter.hh.

The 3D filter plugin type.

Definition at line 48 of file 3d/filter.hh.

The 3D filter plugin handler.

Definition at line 54 of file 3d/filter.hh.

3D filter chain to apply various filters in one run

Definition at line 143 of file 3d/filter.hh.

2D filter chain to apply various filters in one run

Definition at line 80 of file mesh/filter.hh.

2D image filter plugin

Definition at line 40 of file mesh/filter.hh.

2D filter plugin handler

Definition at line 52 of file mesh/filter.hh.

typedef std::shared_ptr<C2DFilter > P2DFilter

shared pointer type for the C2DFilter class

Definition at line 47 of file 2d/filter.hh.

Pointer type for the FIFO filter.

Definition at line 141 of file 2dimagefifofilter.hh.

typedef std::shared_ptr<C3DFilter> P3DFilter

The 3D filter shared pointer.

Definition at line 60 of file 3d/filter.hh.

typedef std::shared_ptr<CMeshFilter > PMeshFilter

shared pointer type for the C2DFilter class

Definition at line 46 of file mesh/filter.hh.

Function Documentation

template<typename F , typename B >
static F::result_type accumulate ( F &  f,
const B &  data 
)
static

A accumulator function that handles data containers of different types. The data container is provided by a pointer or reference to its type independen base class. Data type dependency is introduced by using a templated derivative. The accumulator object is not const and can be used to accumulate data.

Parameters
fa accumulator to be applied to the data.
datathe input data to be filtered
Returns
whathever the filter f defines as return type and provides as a result of its operator ()

Definition at line 267 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

Referenced by kmeans().

template<typename F , typename A , typename B >
static F::result_type accumulate ( F &  f,
const A &  a,
const B &  b 
)
static

*/

A accumulatro type that handles data containers of different types. The data container is provided by a pointer or reference to its type independedn base class. Data type dependency is introduced by using a templated derivative. Input objects can be of different types

Parameters
fa filter to be applied to the data.
ainput data to be filtered
binput data to be filtered
Returns
whathever the filter f defines as return type and provides as a result of its operator ()

Definition at line 504 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

template<typename S >
std::vector<P3DFilter> create_filter_chain ( const std::vector< S > &  chain)

*/

Convenience function to create a filter chain from a series of filter descriptions

Parameters
chainthe descriptions
Returns
the filter chain as a vector
Remarks
obsolete, should use C3DImageFilterChain

Definition at line 121 of file 3d/filter.hh.

References cvdebug(), filter(), and THandlerSingleton< T >::instance().

DEFINE_Image_Creator ( C3DImage  )

The 3D specialization of the TImageCreator template.

bool fborder ( long  index,
long  nx,
long  ny,
long  nz 
)

function defining field borders

Parameters
indexindex running from 0 to NoOfPixels
nxno of pixels in x
nyno of pixels in y
nzno of pixels in z
template<typename F , typename B >
static F::result_type filter ( const F &  f,
const B &  b 
)
static

A filter type that handles data containers of different types. The data container is provided by a pointer or reference to its type independedn base class. Data type dependency is introduced by using a templated derivative. The filter object is const.

Template Parameters
aFilter that must provide a type result_type, and an operator template < typename T > F::result_type F::operator()(const D<T>& b) const; with D<T> being a derived class of B
bthe data to be processed in form of a reference to the base class of a class template D<T>
Parameters
fa filter to be applied to the data.
bthe input data to be filtered
Returns
whathever the filter F defines as return type and provides as a result of its operator ()

Definition at line 196 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

Referenced by create_filter_chain(), normalize(), FConvert3DImageToPixeltypeO< O >::operator()(), FConvert2DImageToPixeltypeO< O >::operator()(), TFilterChain< Handler >::push_back(), and TFilterChain< Handler >::push_front().

template<typename F , typename A , typename B >
static F::result_type filter ( const F &  f,
const A &  a,
const B &  b 
)
static

*/

A filter type that handles data containers of different types. The data container is provided by a pointer or reference to its type independedn base class. Data type dependency is introduced by using a templated derivative. Input objects can be of different types

Parameters
fa filter to be applied to the data.
ainput data to be filtered
binput data to be filtered
Returns
whathever the filter f defines as return type and provides as a result of its operator ()

Definition at line 441 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

template<typename F , typename B , typename O >
static F::result_type filter_and_output ( const F &  f,
const B &  a,
O &  b 
)
static

A filter type that handles data containers of equal types. The data container is provided by a pointer or reference to its type independedn base class. Data type dependency is introduced by using a templated derivative. Both input objects need to use the same data type

Parameters
fa filter to be applied to the data.
ainput data to be filtered
boutput of filtered data

Definition at line 377 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

template<typename F , typename B >
static F::result_type filter_equal ( const F &  f,
const B &  a,
const B &  b 
)
static

A filter type that handles data containers of different types. The data container is provided by a pointer or reference to its type independedn base class. Data type dependency is introduced by using a templated derivative. Both input objects need to use the same data type

Parameters
fa filter to be applied to the data.
ainput data to be filtered
binput data to be filtered
Returns
whathever the filter f defines as return type and provides as a result of its operator ()

Definition at line 303 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

template<typename F , typename B >
static void filter_equal_inplace ( const F &  f,
const B &  a,
B &  b 
)
static

A filter type that handles data containers of equal types. The data container is provided by a pointer or reference to its type independedn base class. Data type dependency is introduced by using a templated derivative. Both input objects need to use the same data type

Parameters
fa filter to be applied to the data.
ainput data to be filtered
boutput of filtered data

Definition at line 340 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

template<typename F , typename B >
static F::result_type filter_inplace ( const F &  f,
B &  b 
)
static

The in-place type of the function typename F::result_type filter(const F& f, const B& b). A filter type that handles data containers of different types. The data container is provided by a pointer or reference to its type independedn base class. Data type dependency is introduced by using a templated derivative. The filter object is const.

Parameters
fa filter to be applied to the data.
bthe input data to be filtered
Returns
whathever the filter f defines as return type and provides as a result of its operator ()

Definition at line 232 of file core/filter.hh.

References it_bit, it_double, it_float, it_sbyte, it_sint, it_sshort, it_ubyte, it_uint, and it_ushort.

EXPORT_2D P2DImage fuzzy_segment_2d ( const C2DImage src,
size_t  noOfClasses,
const SFuzzySegParams residuum,
C2DImageVector classes,
P2DImage gain 
)

Run a fuzzy c-mean segmentation with gain field correction.

This function runs a fuzzy c-means segmentation with B-field correction in the input data set according to D.L. Pham and J.L.Prince, "An adaptive fuzzy C-means algorithm for image segmentation in the presence of intensity inhomogeneities", Pat. Rec. Let., 20:57-68,1999

Parameters
[in]srcthe input image
[in]noOfClassesnumber of segmentation classes
[in]residuumlimit for optimization
[out]classesprobability images after segmentation
[out]gainmultiplicative gain field
Returns
the B-field corrected image
EXPORT_3D P3DImage fuzzy_segment_3d ( const C3DImage src,
size_t  noOfClasses,
float  residuum,
C3DImageVector classes 
)

Fuzzy c-means segmentation with gain field estimation.

This function runs a fuzzy c-means segmentation with B-field correction in the input data set.

Parameters
[in]srcthe input image
[in]noOfClassesnumber of segmentation classes
[in]residuumlimit for optimization
[out]classesprobability images after segmentation
Returns
the B-field corrected image
PTriangleMesh EXPORT_MESH run_filter ( const CTriangleMesh mesh,
const char *  filter 
)

convenience function: create and run a filter on an mesh

Parameters
meshinput mesh
filterstring defining the filter to be applied
Returns
the filtered mesh
PTriangleMesh run_filter ( PTriangleMesh  mesh,
const char *  filter 
)
inline

convenience function: create and run a filter on an mesh

Parameters
meshinput mesh
filterstring defining the filter to be applied
Returns
the filtered mesh

Definition at line 107 of file mesh/filter.hh.

References run_filter().

P2DImage EXPORT_2D run_filter ( const C2DImage image,
const char *  filter 
)

convenience function: create and run a filter on an image

Parameters
imageinput image
filterstring defining the filter to be applied
Returns
the filtered image

Referenced by run_filter().

P2DImage EXPORT_2D run_filter ( P2DImage  image,
const char *  filter 
)
inline

convenience function: create and run a filter on an image

Parameters
imageinput image
filterstring defining the filter to be applied
Returns
the filtered image

Definition at line 120 of file 2d/filter.hh.

References run_filter().

P3DImage EXPORT_3D run_filter ( const C3DImage image,
const char *  filter 
)

convenience function: create and run a filter on an image

Parameters
imageinput image
filterstring defining the filter to be applied
Returns
the filtered image
PTriangleMesh EXPORT_MESH run_filter_chain ( PTriangleMesh  mesh,
const std::vector< const char * > &  filters 
)

convenience function: run a filter chain on an mesh

Parameters
meshinput mesh
filtersvector of strings defining the filter to be applied
Returns
the filtered mesh
P2DImage EXPORT_2D run_filter_chain ( P2DImage  image,
size_t  nfilters,
const char *  filters[] 
)

convenience function: run a filter chain on an image

Parameters
imageinput image
nfiltersnumber of filter definitions following
filtersarray of strings defining the filter to be applied
Returns
the filtered image
P2DImage EXPORT_2D run_filter_chain ( P2DImage  image,
const std::vector< const char * > &  filters 
)

convenience function: run a filter chain on an image

Parameters
imageinput image
filtersvector of strings defining the filter to be applied
Returns
the filtered image
P3DImage EXPORT_3D run_filter_chain ( P3DImage  image,
const std::vector< const char * > &  filters 
)

convenience function: run a filter chain on an image

Parameters
imageinput image
filtersvector of strings defining the filter to be applied
Returns
the filtered image
template<typename PData , typename... Filters>
PData run_filters ( PData  image,
Filters...  filters 
)

run a chain of filters on an input image

This template is used to run a chain of filters on an input image The filters can be described by strings, or given as already created filters

Template Parameters
PDatathe image pointer type of the image to be filtered
Filtersthe filter description types or filters

Definition at line 134 of file filter_chain.hh.