OpenWalnut
1.4.0
|
Class implements a hierarchical tree and provides helper functions for selection and navigation. More...
#include <WHierarchicalTreeFibers.h>
Public Member Functions | |
WHierarchicalTreeFibers () | |
standard constructor | |
~WHierarchicalTreeFibers () | |
destructor | |
void | addLeaf () |
A leaf is at the very bottom of the tree, it represents a single fiber or voxel, for several purposes a leaf also counts as a cluster. | |
void | addCluster (size_t cluster1, size_t cluster2, size_t level, std::vector< size_t > leafes, float customData) |
adds a cluster to the set, it combines 2 already existing clusters | |
boost::shared_ptr< std::vector < bool > > | getOutputBitfield (size_t cluster) |
generates a bitfield where for every leaf in the selected cluster the value is true, false otherwise | |
boost::shared_ptr< std::vector < bool > > | getOutputBitfield (std::vector< size_t >clusters) |
generates a bitfield where for every leaf in the selected cluster the value is true, false otherwise | |
std::vector< size_t > | getBestClustersFittingRoi (float ratio=0.9, size_t number=1) |
finds clusters that match a given ROI up to a certain percentage | |
float | getRatio (size_t cluster) |
calculates the ratio of fibers in the roi for a given cluster | |
void | setRoiBitField (boost::shared_ptr< std::vector< bool > > bitfield) |
setter | |
Private Attributes | |
boost::shared_ptr< std::vector < bool > > | m_roiSelection |
stores a pointer to the bitfield by the current roi setting |
Class implements a hierarchical tree and provides helper functions for selection and navigation.
Definition at line 43 of file WHierarchicalTreeFibers.h.
standard constructor
Definition at line 34 of file WHierarchicalTreeFibers.cpp.
destructor
Definition at line 39 of file WHierarchicalTreeFibers.cpp.
void WHierarchicalTreeFibers::addCluster | ( | size_t | cluster1, |
size_t | cluster2, | ||
size_t | level, | ||
std::vector< size_t > | leafes, | ||
float | customData | ||
) |
adds a cluster to the set, it combines 2 already existing clusters
cluster1 | first cluster to add |
cluster2 | second cluster to add |
level | level of the new cluster |
leafes | vector of leafes the new cluster contains |
customData | some arbitrary data stored with the cluster |
Definition at line 64 of file WHierarchicalTreeFibers.cpp.
References WHierarchicalTree::m_children, WHierarchicalTree::m_clusterCount, WHierarchicalTree::m_colors, WHierarchicalTree::m_containsLeafes, WHierarchicalTree::m_customData, WHierarchicalTree::m_leafesLocked, WHierarchicalTree::m_level, WHierarchicalTree::m_maxLevel, and WHierarchicalTree::m_parents.
void WHierarchicalTreeFibers::addLeaf | ( | ) | [virtual] |
A leaf is at the very bottom of the tree, it represents a single fiber or voxel, for several purposes a leaf also counts as a cluster.
Implements WHierarchicalTree.
Definition at line 43 of file WHierarchicalTreeFibers.cpp.
References WHierarchicalTree::m_children, WHierarchicalTree::m_clusterCount, WHierarchicalTree::m_colors, WHierarchicalTree::m_containsLeafes, WHierarchicalTree::m_customData, WHierarchicalTree::m_leafCount, WHierarchicalTree::m_leafesLocked, WHierarchicalTree::m_level, and WHierarchicalTree::m_parents.
std::vector< size_t > WHierarchicalTreeFibers::getBestClustersFittingRoi | ( | float | ratio = 0.9 , |
size_t | number = 1 |
||
) |
finds clusters that match a given ROI up to a certain percentage
ratio | value of [0,1] of how many leafs have to be in the ROI to activate the cluster |
number | number of clusters to select, if more than given number matches the ratio criterion only the biggest clusters are returned |
Definition at line 133 of file WHierarchicalTreeFibers.cpp.
References WHierarchicalTree::getChildren(), WHierarchicalTree::getClusterCount(), WHierarchicalTree::getLevel(), and getRatio().
boost::shared_ptr< std::vector< bool > > WHierarchicalTreeFibers::getOutputBitfield | ( | size_t | cluster | ) |
generates a bitfield where for every leaf in the selected cluster the value is true, false otherwise
cluster |
Definition at line 85 of file WHierarchicalTreeFibers.cpp.
References WHierarchicalTree::m_clusterCount, WHierarchicalTree::m_containsLeafes, and WHierarchicalTree::m_leafCount.
boost::shared_ptr< std::vector< bool > > WHierarchicalTreeFibers::getOutputBitfield | ( | std::vector< size_t > | clusters | ) |
generates a bitfield where for every leaf in the selected cluster the value is true, false otherwise
clusters |
Definition at line 114 of file WHierarchicalTreeFibers.cpp.
References WHierarchicalTree::m_containsLeafes, and WHierarchicalTree::m_leafCount.
float WHierarchicalTreeFibers::getRatio | ( | size_t | cluster | ) |
calculates the ratio of fibers in the roi for a given cluster
cluster |
Definition at line 189 of file WHierarchicalTreeFibers.cpp.
References WHierarchicalTree::m_containsLeafes, and m_roiSelection.
Referenced by getBestClustersFittingRoi().
void WHierarchicalTreeFibers::setRoiBitField | ( | boost::shared_ptr< std::vector< bool > > | bitfield | ) | [inline] |
setter
bitfield |
Definition at line 122 of file WHierarchicalTreeFibers.h.
References m_roiSelection.
boost::shared_ptr< std::vector<bool> > WHierarchicalTreeFibers::m_roiSelection [private] |
stores a pointer to the bitfield by the current roi setting
Definition at line 118 of file WHierarchicalTreeFibers.h.
Referenced by getRatio(), and setRoiBitField().