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.
WHierarchicalTreeFibers::WHierarchicalTreeFibers | ( | ) |
standard constructor
Definition at line 34 of file WHierarchicalTreeFibers.cpp.
WHierarchicalTreeFibers::~WHierarchicalTreeFibers | ( | ) |
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 | ( | 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.
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.
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().