Biomedical Image Analysis Library
The Biomedical Image Analysis Library is a poweful tool for developers, physicians, researchers, engineers, and so on.
Bial::PathFunction< C, D > Class Template Referenceabstract

Path function to compute the initial path-values and propagated path-values. More...

#include <PathFunction.hpp>

Inheritance diagram for Bial::PathFunction< C, D >:
Inheritance graph
Collaboration diagram for Bial::PathFunction< C, D >:
Collaboration graph

Public Types

typedef bool(PathFunction< C, D >::* RemoveFn) (size_t index, BucketState state)
 Initialization functions of IFT. It will operate on valid maps among value, label, predecessor, and. More...
 
typedef void(PathFunction< C, D >::* UpdateFn) (size_t index, size_t adj_index)
 Update functions of IFT. It will operate on valid maps among value, label, and predecessor. More...
 

Public Member Functions

 PathFunction ()
 Basic constructor. More...
 
 PathFunction (const PathFunction< C, D > &pf)
 Copy constructor. More...
 
virtual ~PathFunction ()
 Virtual destructor required for virtual classes. More...
 
virtual void Initialize (C< D > &init_value, C< int > *init_label, C< int > *init_predecessor, bool sequential_label)
 Initializes object attributes. More...
 
void UpdateCompleteData (size_t index, size_t adj_index)
 Updates value, label, and predecessor images of index adj_index according to 'index' and value. One of these functions will be used depending on the chosen resultant images. More...
 
void UpdatePredecessorData (size_t index, size_t adj_index)
 
void UpdateLabelData (size_t index, size_t adj_index)
 
void UpdateSimpleData (size_t index, size_t adj_index)
 
virtual bool RemoveSimple (size_t index, BucketState state)=0
 Sets initial value for root pixel of index 'index'. More...
 
virtual bool RemoveLabel (size_t index, BucketState state)=0
 Sets initial value for root pixel of index 'index'. Also sets its label value. More...
 
virtual bool Capable (int index, int adj_index, BucketState adj_state)=0
 Checks if index can offer better value to adj_index, prior to computing it by Propagate function. This function makes IFT faster. More...
 
virtual bool Propagate (int index, int adj_index)=0
 Updates adjacent pixel values and returns true if path_function is propagated. More...
 
virtual bool Increasing ()=0
 Returns whether this path function uses increasing or decreasing values. More...
 
PathFunction< C, D >::RemoveFn RemoveFunction ()
 Returns a root initialization function that will be used depending on used maps. More...
 
PathFunction< C, D >::UpdateFn UpdateFunction ()
 Returns an update function that will be used depending on used maps. More...
 

Protected Attributes

C< D > * value
 Pointer to value container (Vector, Matrix, Image, etc). More...
 
C< int > * label
 Pointer to label container (Vector, Matrix, Image, etc). More...
 
C< int > * predecessor
 Pointer to predecessor container (Vector, Matrix, Image, etc). More...
 
int next_label
 

Friends

class IFT
 

Detailed Description

template<template< class D > class C, class D>
class Bial::PathFunction< C, D >

Path function to compute the initial path-values and propagated path-values.

Definition at line 25 of file PathFunction.hpp.

Member Typedef Documentation

template<template< class D > class C, class D>
typedef bool( PathFunction< C, D >::* Bial::PathFunction< C, D >::RemoveFn) (size_t index, BucketState state)

Initialization functions of IFT. It will operate on valid maps among value, label, predecessor, and.

Definition at line 94 of file PathFunction.hpp.

template<template< class D > class C, class D>
typedef void( PathFunction< C, D >::* Bial::PathFunction< C, D >::UpdateFn) (size_t index, size_t adj_index)

Update functions of IFT. It will operate on valid maps among value, label, and predecessor.

Definition at line 97 of file PathFunction.hpp.

Constructor & Destructor Documentation

template<template< class D > class C, class D>
Bial::PathFunction< C, D >::PathFunction ( )

Basic constructor.

Date
2015/Mar/09
Parameters
none.
Returns
none.
Warning
none.
template<template< class D > class C, class D>
Bial::PathFunction< C, D >::PathFunction ( const PathFunction< C, D > &  pf)

Copy constructor.

Date
2015/Mar/09
Parameters
pfA queue.
Returns
none.
Warning
none.
template<template< class D > class C, class D>
virtual Bial::PathFunction< C, D >::~PathFunction ( )
inlinevirtual

Virtual destructor required for virtual classes.

Date
2013/Nov/19
Parameters
none.
Returns
none.
Warning
none.

Definition at line 75 of file PathFunction.hpp.

Member Function Documentation

template<template< class D > class C, class D>
virtual bool Bial::PathFunction< C, D >::Capable ( int  index,
int  adj_index,
BucketState  adj_state 
)
pure virtual

Checks if index can offer better value to adj_index, prior to computing it by Propagate function. This function makes IFT faster.

Date
2013/Oct/14
Parameters
sourceSource pixel index.
targetAdjacent pixel index.
Returns
True if it is possible to propagate.
Warning
none.

Implemented in Bial::GeodesicRestrictionPathFunction< D >, Bial::MaxSumPathFunction< C, D >, Bial::OrientedInternPathFunction< D >, Bial::OrientedExternPathFunction< D >, Bial::HierarchicalPathFunction< C, D >, Bial::EdgeMaxPathFunction< D >, Bial::MinPathFunction< C, D >, Bial::GeodesicDistancePathFunction< D >, Bial::ConnPathFunction< C, D >, Bial::DiffPathFunction< C, D >, Bial::MaxPathFunction< C, D >, Bial::SumPathFunction< C, D >, Bial::FeatureDistanceFunction< C, D >, and Bial::LocalMaxPathFunction< C, D >.

template<template< class D > class C, class D>
virtual void Bial::PathFunction< C, D >::Initialize ( C< D > &  init_value,
C< int > *  init_label,
C< int > *  init_predecessor,
bool  sequential_label 
)
virtual

Initializes object attributes.

Date
2012/Oct/02
Parameters
init_valueReference for initial value container.
init_labelReference for initial label container.
init_predecessorReference for predecessor container.
sequential_labelSets labeling sequentially.
Returns
none.
Warning
This function is called automatically by IFT constructor.

Reimplemented in Bial::MaxSumPathFunction< C, D >, Bial::GeodesicRestrictionPathFunction< D >, Bial::OrientedInternPathFunction< D >, Bial::OrientedExternPathFunction< D >, Bial::HierarchicalPathFunction< C, D >, Bial::MinPathFunction< C, D >, Bial::EdgeMaxPathFunction< D >, Bial::GeodesicDistancePathFunction< D >, Bial::ConnPathFunction< C, D >, Bial::DiffPathFunction< C, D >, Bial::MaxPathFunction< C, D >, Bial::SumPathFunction< C, D >, Bial::FeatureDistanceFunction< C, D >, and Bial::LocalMaxPathFunction< C, D >.

template<template< class D > class C, class D>
virtual bool Bial::PathFunction< C, D >::Propagate ( int  index,
int  adj_index 
)
pure virtual
template<template< class D > class C, class D>
PathFunction< C, D >::RemoveFn Bial::PathFunction< C, D >::RemoveFunction ( )

Returns a root initialization function that will be used depending on used maps.

Date
2013/Jun/28
Parameters
none.
Returns
A pointer to one of root initialization functions.
Warning
none.
template<template< class D > class C, class D>
virtual bool Bial::PathFunction< C, D >::RemoveLabel ( size_t  index,
BucketState  state 
)
pure virtual
template<template< class D > class C, class D>
virtual bool Bial::PathFunction< C, D >::RemoveSimple ( size_t  index,
BucketState  state 
)
pure virtual
template<template< class D > class C, class D>
void Bial::PathFunction< C, D >::UpdateCompleteData ( size_t  index,
size_t  adj_index 
)

Updates value, label, and predecessor images of index adj_index according to 'index' and value. One of these functions will be used depending on the chosen resultant images.

Date
2013/Jun/28
Parameters
indexData index.
adj_indexAdjacent index;
Returns
none.
Warning
none.
template<template< class D > class C, class D>
PathFunction< C, D >::UpdateFn Bial::PathFunction< C, D >::UpdateFunction ( )

Returns an update function that will be used depending on used maps.

Date
2013/Jun/28
Parameters
none.
Returns
A pointer to one of update functions.
Warning
none.
template<template< class D > class C, class D>
void Bial::PathFunction< C, D >::UpdateLabelData ( size_t  index,
size_t  adj_index 
)
template<template< class D > class C, class D>
void Bial::PathFunction< C, D >::UpdatePredecessorData ( size_t  index,
size_t  adj_index 
)
template<template< class D > class C, class D>
void Bial::PathFunction< C, D >::UpdateSimpleData ( size_t  index,
size_t  adj_index 
)

Friends And Related Function Documentation

template<template< class D > class C, class D>
friend class IFT
friend

Definition at line 27 of file PathFunction.hpp.

Member Data Documentation

template<template< class D > class C, class D>
C< int >* Bial::PathFunction< C, D >::label
protected

Pointer to label container (Vector, Matrix, Image, etc).

Definition at line 34 of file PathFunction.hpp.

template<template< class D > class C, class D>
int Bial::PathFunction< C, D >::next_label
protected

Definition at line 37 of file PathFunction.hpp.

template<template< class D > class C, class D>
C< int >* Bial::PathFunction< C, D >::predecessor
protected

Pointer to predecessor container (Vector, Matrix, Image, etc).

Definition at line 36 of file PathFunction.hpp.

template<template< class D > class C, class D>
C< D >* Bial::PathFunction< C, D >::value
protected

Pointer to value container (Vector, Matrix, Image, etc).

Definition at line 32 of file PathFunction.hpp.


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