MeVisLab Toolbox Reference
|
Class VesselEdge. More...
#include <mlVesselEdge.h>
Public Member Functions | |
VesselEdge (const VesselEdge &other) | |
Copy constructor (creates an unconnected object, only copies properties), deprecated. | |
~VesselEdge () override | |
Destructor. | |
void | copyProperties (const VesselEdge *other) |
Copy all properties (topology information is left unchanged) | |
bool | operator== (const VesselEdge &other) const |
bool | operator!= (const VesselEdge &other) const |
void | setSTLabel (Graph *pGraph) |
Set label of edge and the attached subtree defined by edge directions according to labels of pGraph. | |
bool | markST (int a_label, float r, float g, float b, float a, Vector3 pos, int snap) |
Set label and rgb color of edge and the attached subtree defined by edge directions. | |
bool | markEdge (int a_label, float r, float g, float b, float a, Vector3 pos, int snap) |
Graph topology | |
Get the predecessor node of this edge. | |
VesselNode * | predNode () |
const VesselNode * | predNode () const |
VesselNode * | succNode () |
Get the successor node of this edge. | |
const VesselNode * | succNode () const |
void | setPred (VesselNode *node) |
Connect edge-head to node node . | |
void | setSucc (VesselNode *node) |
Connect edge-tail to node node . | |
bool | isPred (const VesselNode *node) const |
Is the graphNode the preceding node of the edge? | |
bool | isSucc (const VesselNode *node) const |
Is the graphNode the succeeding node of the edge? | |
void | switchDirection () |
Change direction of the edge by exchanging pred. and succ. node. | |
void | setCycle () |
Separate circles in the graph or connections between trees. | |
void | unsetCycle () |
bool | isCycle () const |
Graph geometry | |
Get the euclidean distance between the edge and vp. Here: get the distance to the nearest skeleton voxel. | |
double | distance (Vector3 vp) const |
std::pair< MLdouble, size_t > | getDistanceAndNearestSkeletonIndex (const Vector3 &pos) const |
Vector3 | extent () const |
Get the edge's extent. | |
SubImageBoxd | getBoundingBox () const |
Bounding box of the edge. | |
void | transform (const Matrix4 &m) |
Apply a 4x4 homogeneous transformation matrix to all skeleton positions. | |
void | convertToVoxel (Matrix4 *mat) |
Convert all skeleton coordinates. | |
void | convertToWorld (Matrix4 *mat) |
Skeletons | |
Skeleton * | createSkeleton (const Vector3 &pos=Vector3(0), double minDistance=0.0, double maxDistance=0.0) |
Skeleton * | createSkeleton (const ImageVector &pos, double minDistance=0.0, double maxDistance=0.0) |
Skeleton * | createSkeleton (const Skeleton *skeletonTemplate) |
void | removeLeadingSkeletons (size_t count) |
void | removeTrailingSkeletons (size_t count) |
void | removeSkeleton (size_t index) |
size_t | numSkeletons (void) const |
Skeleton * | skeleton (size_t index) |
const Skeleton * | skeleton (size_t index) const |
void | skeletonsAscending (std::vector< Skeleton * > &skeletons) |
Return copy of skeletons' addresses in ascending order (graph hierarchy) | |
void | skeletonsAscending (std::vector< const Skeleton * > &skeletons) const |
Return copy of skeletons' addresses in ascending order (graph hierarchy) | |
void | skeletonsDescending (std::vector< Skeleton * > &skeletons) |
Return copy of skeletons' addresses in descending order (graph hierarchy) | |
void | skeletonsDescending (std::vector< const Skeleton * > &skeletons) const |
Return copy of skeletons' addresses in descending order (graph hierarchy) | |
void | orderSkeletonsAscending () |
void | skeletonsAscending (std::vector< Skeleton > &skeletons) const |
Return copy of skeletons in ascending order (graph hierarchy from pred -> succ) | |
void | skeletonsDescending (std::vector< Skeleton > &skeletons) const |
Return copy of skeletons in descending order (graph hierarchy from succ -> pred) | |
bool | skeletonsAreAscending () const |
Returns if the skeletons are ordered ascending. | |
void | clearSkeletons () |
Encapsulate std::vector access. | |
Skeleton * | frontSkeleton () |
Skeleton * | backSkeleton () |
const Skeleton * | frontSkeleton () const |
const Skeleton * | backSkeleton () const |
Skeleton * | skeleton (Vector3 pos, int itemType) |
Get the skeleton with minimal distance to pos . | |
const Skeleton * | skeleton (Vector3 pos, int itemType) const |
Get the skeleton with minimal distance to pos . | |
size_t | getVoxelNum () const |
Get number of edge voxels. | |
void | smooth (unsigned int numSmoothingPasses, double positionSmoothingFactor, double radiusSmoothingFactor, double smoothingLimit=0.0f) |
Smooths the skeletons' positions and radii. | |
Persistence | |
Attaches the object state as children of the given parent node. | |
void | addStateToTree (TreeNode *parent) const override |
ML_SET_ADDSTATE_VERSION (3) | |
Set current addStateToTree() version number: | |
void | readStateFromTree (TreeNode *parent) override |
Reads the object state from the children of the given parent node. | |
Public Member Functions inherited from BaseGraphItem | |
MLint | getRootId () const |
Get root id. | |
void | setRootId (MLint rootId) |
Sets the root id. Usually called by calling setRootIdToAllChildren on the graph itself. | |
Graph * | getGraph (void) |
const Graph * | getGraph (void) const |
MLint | getId (void) const |
Get unique id of the object. | |
Public Member Functions inherited from PropertyContainer | |
PropertyContainer (const ManagerPointer &manager) | |
PropertyContainer (const PropertyContainer &other) | |
~PropertyContainer () override | |
bool | operator== (const PropertyContainer &other) const |
Check for equality (managers and values). | |
bool | operator!= (const PropertyContainer &other) const |
Check for inequality (managers and values). | |
void | copyProperties (const PropertyContainer &other) |
Copy all properties from the given container to this object. | |
const PropertyManager * | getPropertyManager () const |
Get read-only access to the associated property manager. | |
PropertyManager * | getPropertyManager () |
Get access to the associated property manager. | |
PropertyMap | getPropertyMap () const |
Get a map of the contained properties, can be useful for comparison. | |
size_t | numberOfProperties () const |
Return the number of properties currently available. | |
const PropertyValue & | property (size_t index) const |
Get the property with index index as PropertyValue. | |
template<typename T > | |
T & | property (size_t index) |
Get the property with index index with type T. Throws boost::bad_get exception if the currently stored property has a different type. | |
template<typename T > | |
const T & | property (size_t index) const |
Get the property with index index with type T, const version. Throws boost::bad_get exception if the currently stored property has a different type. | |
const PropertyValue & | property (const std::string &name) const |
Get the property with name name . | |
template<typename T > | |
T & | property (const std::string &name) |
template<typename T > | |
const T & | property (const std::string &name) const |
virtual void | reset () |
Set all properties to default values. | |
ML_ABSTRACT_CLASS_HEADER (PropertyContainer) | |
void | addStateToTree (TreeNode *parent) const override |
ML_SET_ADDSTATE_VERSION (1) | |
Set current addStateToTree() version number: | |
void | readStateFromTree (TreeNode *parent) override |
Reads the object state from the children of the given parent node. | |
Friends | |
class | EdgeAnalyser |
class | Graph |
class | LoadTreeData |
Default Measurements | |
typedef double(VesselEdge::* | EdgeGetFkt) (void) const |
object bound function pointer: position of function relative to (individual) object base | |
typedef void(VesselEdge::* | EdgeSetFkt) (double) |
function to set double parameter value | |
STATIC_GRAPH_PROPERTY (MLdouble, averageMinDistance, AverageMinDistance) | |
STATIC_GRAPH_PROPERTY (MLdouble, length, Length) | |
STATIC_GRAPH_PROPERTY (MLdouble, STLength, STLength) | |
STATIC_GRAPH_PROPERTY (MLdouble, volume, Volume) | |
STATIC_GRAPH_PROPERTY (MLdouble, STVolume, STVolume) | |
STATIC_GRAPH_PROPERTY (Vector3, STBarycenter, STBarycenter) | |
STATIC_GRAPH_PROPERTY (MLint, hierarchy, Hierarchy) | |
STATIC_GRAPH_PROPERTY (MLint, label, Label) | |
STATIC_GRAPH_PROPERTY (MLdouble, weight, Weight) | |
void | setSTLabel (int nLabel) |
Set label of edge and the attached subtree defined by edge directions. | |
Additional Inherited Members | |
Public Types inherited from PropertyContainer | |
typedef PropertyManager::Pointer | ManagerPointer |
typedef PropertyManager::ConstPointer | ConstManagerPointer |
typedef PropertyManager::PropertyMap | PropertyMap |
Protected Member Functions inherited from BaseGraphItem | |
BaseGraphItem (Graph &graph, MLint id, const ManagerPointer &manager) | |
Constructor. | |
BaseGraphItem (const BaseGraphItem &item) | |
Copy constructor (creates an unconnected object, only copies properties), deprecated. | |
BaseGraphItem & | operator= (const BaseGraphItem &item) |
Assignment operator, deprecated. Use copyProperties() instead. | |
void | copyProperties (const BaseGraphItem *other) |
Copy all properties (topology information is left unchanged) | |
bool | operator== (const BaseGraphItem &other) const |
Compare properties (ignores topology information) | |
bool | operator!= (const BaseGraphItem &other) const |
void | addStateToTree (TreeNode *parent) const override |
ML_SET_ADDSTATE_VERSION (2) | |
Set current addStateToTree() version number: | |
void | readStateFromTree (TreeNode *parent) override |
Reads the object state from the children of the given parent node. | |
Protected Attributes inherited from BaseGraphItem | |
Graph * | _graph |
Reference to the owner Graph object. | |
Protected Attributes inherited from PropertyContainer | |
std::vector< PropertyValue > | _values |
ManagerPointer | _manager |
Class VesselEdge.
Definition at line 34 of file mlVesselEdge.h.
object bound function pointer: position of function relative to (individual) object base
function to get double parameter value
Definition at line 117 of file mlVesselEdge.h.
function to set double parameter value
Definition at line 118 of file mlVesselEdge.h.
VesselEdge::VesselEdge | ( | const VesselEdge & | other | ) |
Copy constructor (creates an unconnected object, only copies properties), deprecated.
|
override |
Destructor.
|
override |
|
inline |
Definition at line 173 of file mlVesselEdge.h.
Definition at line 175 of file mlVesselEdge.h.
void VesselEdge::clearSkeletons | ( | ) |
Encapsulate std::vector access.
void VesselEdge::convertToVoxel | ( | Matrix4 * | mat | ) |
Convert all skeleton coordinates.
void VesselEdge::convertToWorld | ( | Matrix4 * | mat | ) |
void VesselEdge::copyProperties | ( | const VesselEdge * | other | ) |
Copy all properties (topology information is left unchanged)
|
inline |
Definition at line 129 of file mlVesselEdge.h.
References mlrange_cast().
Skeleton * VesselEdge::createSkeleton | ( | const Vector3 & | pos = Vector3(0), |
double | minDistance = 0.0, | ||
double | maxDistance = 0.0 ) |
|
inline |
Definition at line 86 of file mlVesselEdge.h.
References mlrange_cast().
Vector3 VesselEdge::extent | ( | ) | const |
Get the edge's extent.
|
inline |
Definition at line 172 of file mlVesselEdge.h.
Definition at line 174 of file mlVesselEdge.h.
SubImageBoxd VesselEdge::getBoundingBox | ( | ) | const |
Bounding box of the edge.
std::pair< MLdouble, size_t > VesselEdge::getDistanceAndNearestSkeletonIndex | ( | const Vector3 & | pos | ) | const |
size_t VesselEdge::getVoxelNum | ( | ) | const |
Get number of edge voxels.
|
inline |
Definition at line 79 of file mlVesselEdge.h.
|
inline |
Is the graphNode
the preceding node of the edge?
Definition at line 69 of file mlVesselEdge.h.
|
inline |
Is the graphNode
the succeeding node of the edge?
Definition at line 71 of file mlVesselEdge.h.
bool VesselEdge::markEdge | ( | int | a_label, |
float | r, | ||
float | g, | ||
float | b, | ||
float | a, | ||
Vector3 | pos, | ||
int | snap ) |
Set label and rgb color of edge and the attached subtree defined by edge directions.
Start at skeleton of this edge which is nearest to pos, while for snap = Graph::Node/Graph:Edge the nearest node skeleton or the nearest edge skeleton is used, respectively.
VesselEdge::ML_SET_ADDSTATE_VERSION | ( | 3 | ) |
Set current addStateToTree() version number:
Definition at line 143 of file mlVesselEdge.h.
|
inline |
Definition at line 50 of file mlVesselEdge.h.
References mlrange_cast().
bool VesselEdge::operator== | ( | const VesselEdge & | other | ) | const |
void VesselEdge::orderSkeletonsAscending | ( | ) |
|
inline |
Definition at line 55 of file mlVesselEdge.h.
|
inline |
Definition at line 56 of file mlVesselEdge.h.
|
override |
Reads the object state from the children of the given parent node.
|
inline |
Separate circles in the graph or connections between trees.
Definition at line 77 of file mlVesselEdge.h.
void VesselEdge::setPred | ( | VesselNode * | node | ) |
Connect edge-head to node node
.
Set label of edge and the attached subtree defined by edge directions according to labels of pGraph.
Set label of edge and the attached subtree defined by edge directions.
void VesselEdge::setSucc | ( | VesselNode * | node | ) |
Connect edge-tail to node node
.
Definition at line 144 of file mlVesselEdge.h.
Definition at line 145 of file mlVesselEdge.h.
Get the skeleton with minimal distance to pos
.
If itemType = Graph::node, the nearest end-skeleton (snap to node) is returned, if itemType = Graph::edge, it is the nearest edge skeleton.
Definition at line 180 of file mlVesselEdge.h.
References skeleton().
Referenced by skeleton().
Get the skeleton with minimal distance to pos
.
If itemType = Graph::node, the nearest end-skeleton (snap to node) is returned, if itemType = Graph::edge, it is the nearest edge skeleton.
bool VesselEdge::skeletonsAreAscending | ( | ) | const |
Returns if the skeletons are ordered ascending.
Return copy of skeletons' addresses in ascending order (graph hierarchy)
Return copy of skeletons' addresses in ascending order (graph hierarchy)
Return copy of skeletons in ascending order (graph hierarchy from pred -> succ)
Return copy of skeletons' addresses in descending order (graph hierarchy)
Return copy of skeletons' addresses in descending order (graph hierarchy)
Return copy of skeletons in descending order (graph hierarchy from succ -> pred)
void VesselEdge::smooth | ( | unsigned int | numSmoothingPasses, |
double | positionSmoothingFactor, | ||
double | radiusSmoothingFactor, | ||
double | smoothingLimit = 0.0f ) |
Smooths the skeletons' positions and radii.
No smoothing is done if a smoothing factor is 0 (or the number of smoothing passes = 0), smoothingLimit defines the maximal allowed displacement of skeletons (relative to minimal voxel extension), smoothingLimit = 0.0 means no limit.
VesselEdge::STATIC_GRAPH_PROPERTY | ( | MLdouble | , |
averageMinDistance | , | ||
AverageMinDistance | ) |
VesselEdge::STATIC_GRAPH_PROPERTY | ( | Vector3 | , |
STBarycenter | , | ||
STBarycenter | ) |
|
inline |
Get the successor node of this edge.
Definition at line 59 of file mlVesselEdge.h.
|
inline |
Definition at line 60 of file mlVesselEdge.h.
void VesselEdge::switchDirection | ( | ) |
Change direction of the edge by exchanging pred. and succ. node.
Apply a 4x4 homogeneous transformation matrix to all skeleton positions.
|
inline |
Definition at line 78 of file mlVesselEdge.h.
|
friend |
Definition at line 36 of file mlVesselEdge.h.
Definition at line 37 of file mlVesselEdge.h.
Definition at line 38 of file mlVesselEdge.h.