Biomedical Image Analysis Library
The Biomedical Image Analysis Library is a poweful tool for developers, physicians, researchers, engineers, and so on.
|
Path function to compute the initial path-values and propagated path-values. More...
#include <PathFunction.hpp>
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 |
Path function to compute the initial path-values and propagated path-values.
Definition at line 25 of file PathFunction.hpp.
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.
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.
Bial::PathFunction< C, D >::PathFunction | ( | ) |
Basic constructor.
none. |
Bial::PathFunction< C, D >::PathFunction | ( | const PathFunction< C, D > & | pf | ) |
Copy constructor.
pf | A queue. |
|
inlinevirtual |
Virtual destructor required for virtual classes.
none. |
Definition at line 75 of file PathFunction.hpp.
|
pure virtual |
Checks if index can offer better value to adj_index, prior to computing it by Propagate function. This function makes IFT faster.
source | Source pixel index. |
target | Adjacent pixel index. |
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 >.
|
pure virtual |
Returns whether this path function uses increasing or decreasing values.
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 >.
|
virtual |
Initializes object attributes.
init_value | Reference for initial value container. |
init_label | Reference for initial label container. |
init_predecessor | Reference for predecessor container. |
sequential_label | Sets labeling sequentially. |
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 >.
|
pure virtual |
Updates adjacent pixel values and returns true if path_function is propagated.
source | Source pixel index. |
target | Adjacent pixel index. |
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 >.
PathFunction< C, D >::RemoveFn Bial::PathFunction< C, D >::RemoveFunction | ( | ) |
Returns a root initialization function that will be used depending on used maps.
none. |
|
pure virtual |
Sets initial value for root pixel of index 'index'. Also sets its label value.
index | The index of the pixel to be initalized. |
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 >.
|
pure virtual |
Sets initial value for root pixel of index 'index'.
index | The index of the pixel to be initalized. |
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 >.
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.
index | Data index. |
adj_index | Adjacent index; |
PathFunction< C, D >::UpdateFn Bial::PathFunction< C, D >::UpdateFunction | ( | ) |
Returns an update function that will be used depending on used maps.
none. |
void Bial::PathFunction< C, D >::UpdateLabelData | ( | size_t | index, |
size_t | adj_index | ||
) |
void Bial::PathFunction< C, D >::UpdatePredecessorData | ( | size_t | index, |
size_t | adj_index | ||
) |
void Bial::PathFunction< C, D >::UpdateSimpleData | ( | size_t | index, |
size_t | adj_index | ||
) |
|
friend |
Definition at line 27 of file PathFunction.hpp.
|
protected |
Pointer to label container (Vector, Matrix, Image, etc).
Definition at line 34 of file PathFunction.hpp.
|
protected |
Definition at line 37 of file PathFunction.hpp.
|
protected |
Pointer to predecessor container (Vector, Matrix, Image, etc).
Definition at line 36 of file PathFunction.hpp.
|
protected |
Pointer to value container (Vector, Matrix, Image, etc).
Definition at line 32 of file PathFunction.hpp.