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

#include <HierarchicalPathFunction.hpp>

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

Public Member Functions

 HierarchicalPathFunction (const C< D > &handicap, C< int > *merge_label, C< int > *split_label, D new_bucket_size=1.0)
 Basic constructor. More...
 
 HierarchicalPathFunction (const HierarchicalPathFunction< C, D > &pf)
 Copy constructor. More...
 
 ~HierarchicalPathFunction ()
 Destructor. More...
 
HierarchicalPathFunction< C, D > operator= (const HierarchicalPathFunction< C, D > &pf)
 Assignment operator. More...
 
void Initialize (C< D > &init_value, C< int > *init_label, C< int > *init_predecessor, bool sequential_label)
 Initializes object attributes. More...
 
bool RemoveSimple (size_t index, BucketState state)
 Sets initial value for root pixel of index 'index'. More...
 
bool RemoveLabel (size_t index, BucketState state)
 Sets initial value for root pixel of index 'index'. Also sets its label value. More...
 
bool Capable (int index, int adj_index, BucketState adj_state)
 Checks if index can offer better value to adj_index, prior to computing it by Propagate function. This function makes IFT faster. More...
 
bool Propagate (int index, int adj_index)
 Updates adjacent pixel values and returns true if path_function is propagated. More...
 
bool Increasing ()
 Returns whether this path function uses increasing or decreasing values. More...
 
- Public Member Functions inherited from Bial::PathFunction< C, D >
 PathFunction ()
 Basic constructor. More...
 
 PathFunction (const PathFunction< C, D > &pf)
 Copy constructor. More...
 
virtual ~PathFunction ()
 Virtual destructor required for virtual classes. 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)
 
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 > handicap
 
C< int > * merge_label
 
C< int > * split_label
 
Vector< int > new_merge_label
 
bucket_size
 
- Protected Attributes inherited from Bial::PathFunction< C, D >
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
 

Additional Inherited Members

- Public Types inherited from Bial::PathFunction< C, D >
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...
 

Detailed Description

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

Definition at line 25 of file HierarchicalPathFunction.hpp.

Constructor & Destructor Documentation

template<template< class D > class C, class D>
Bial::HierarchicalPathFunction< C, D >::HierarchicalPathFunction ( const C< D > &  handicap,
C< int > *  merge_label,
C< int > *  split_label,
new_bucket_size = 1.0 
)

Basic constructor.

Date
2013/Jul/02
Parameters
new_bucket_sizesize of bucke in queue.
Returns
none.
Warning
none.
template<template< class D > class C, class D>
Bial::HierarchicalPathFunction< C, D >::HierarchicalPathFunction ( const HierarchicalPathFunction< C, D > &  pf)

Copy constructor.

Date
2013/Jul/01
Parameters
pfpath-function to be copied.
Returns
none.
Warning
none.
template<template< class D > class C, class D>
Bial::HierarchicalPathFunction< C, D >::~HierarchicalPathFunction ( )

Destructor.

Date
2013/Jul/01
Parameters
none.
Returns
none.
Warning
none.

Member Function Documentation

template<template< class D > class C, class D>
bool Bial::HierarchicalPathFunction< C, D >::Capable ( int  index,
int  adj_index,
BucketState  adj_state 
)
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.

Implements Bial::PathFunction< C, D >.

template<template< class D > class C, class D>
bool Bial::HierarchicalPathFunction< C, D >::Increasing ( )
virtual

Returns whether this path function uses increasing or decreasing values.

Date
2012/Sep/19
Parameters
none.
Returns
True for increasing and false for decreasing values.
Warning
none.

Implements Bial::PathFunction< C, D >.

template<template< class D > class C, class D>
void Bial::HierarchicalPathFunction< 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 from Bial::PathFunction< C, D >.

template<template< class D > class C, class D>
HierarchicalPathFunction< C, D > Bial::HierarchicalPathFunction< C, D >::operator= ( const HierarchicalPathFunction< C, D > &  pf)

Assignment operator.

Date
2013/Jul/01
Parameters
pfpath-function to be assigned.
Returns
none.
Warning
none.
template<template< class D > class C, class D>
bool Bial::HierarchicalPathFunction< C, D >::Propagate ( int  index,
int  adj_index 
)
virtual

Updates adjacent pixel values and returns true if path_function is propagated.

Date
2013/Jun/28
Parameters
sourceSource pixel index.
targetAdjacent pixel index.
Returns
True if path-value is propagated.
Warning
none.

Implements Bial::PathFunction< C, D >.

template<template< class D > class C, class D>
bool Bial::HierarchicalPathFunction< C, D >::RemoveLabel ( size_t  index,
BucketState  state 
)
virtual

Sets initial value for root pixel of index 'index'. Also sets its label value.

Date
2014/Dec/05
Parameters
indexThe index of the pixel to be initalized.
Returns
Whether this node can propagate or not.
Warning
none.

Implements Bial::PathFunction< C, D >.

template<template< class D > class C, class D>
bool Bial::HierarchicalPathFunction< C, D >::RemoveSimple ( size_t  index,
BucketState  state 
)
virtual

Sets initial value for root pixel of index 'index'.

Date
2012/Sep/25
Parameters
indexThe index of the pixel to be initalized.
Returns
Whether this node can propagate or not.
Warning
none.

Implements Bial::PathFunction< C, D >.

Member Data Documentation

template<template< class D > class C, class D>
D Bial::HierarchicalPathFunction< C, D >::bucket_size
protected

Definition at line 33 of file HierarchicalPathFunction.hpp.

template<template< class D > class C, class D>
C< D > Bial::HierarchicalPathFunction< C, D >::handicap
protected

Definition at line 29 of file HierarchicalPathFunction.hpp.

template<template< class D > class C, class D>
C< int >* Bial::HierarchicalPathFunction< C, D >::merge_label
protected

Definition at line 30 of file HierarchicalPathFunction.hpp.

template<template< class D > class C, class D>
Vector< int > Bial::HierarchicalPathFunction< C, D >::new_merge_label
protected

Definition at line 32 of file HierarchicalPathFunction.hpp.

template<template< class D > class C, class D>
C< int >* Bial::HierarchicalPathFunction< C, D >::split_label
protected

Definition at line 31 of file HierarchicalPathFunction.hpp.


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