Functions
contrib/mul/mmn/mmn_make_tri_tree.h File Reference

Compute arcs defining a graph s.t. More...

#include <vnl/vnl_matrix.h>
#include <mmn/mmn_arc.h>
#include <mmn/mmn_triplet.h>
#include <mmn/mmn_dependancy.h>
#include <vcl_vector.h>

Go to the source code of this file.

Functions

void mmn_make_tri_tree (const vnl_matrix< double > &D, vcl_vector< mmn_arc > &arcs, unsigned int v0=(unsigned int)(-1))
 Compute arcs defining a graph s.t. triangles form a tree.
void mmn_make_tri_tree (const vnl_matrix< double > &D, vcl_vector< mmn_arc > &arcs, vcl_vector< mmn_triplet > &triplets, vcl_vector< mmn_dependancy > &deps, unsigned int v0=(unsigned int)(-1))
 Compute arcs defining a graph s.t. triangles form a tree.

Detailed Description

Compute arcs defining a graph s.t.

triangles form a tree.

Author:
Tim Cootes

Definition in file mmn_make_tri_tree.h.


Function Documentation

void mmn_make_tri_tree ( const vnl_matrix< double > &  D,
vcl_vector< mmn_arc > &  arcs,
unsigned int  v0 
)

Compute arcs defining a graph s.t. triangles form a tree.

Compute arc of graph such that point belongs to at least one triangle, and the graph of triangles is a tree (acyclic). Two triangles are neighbours if they share an edge (arc).

The approach is to select nodes one at a time, at each step choosing the node closest to two nodes ending an existing arc. This gives two new arcs.

Complexity is approximately O(n^2)

Parameters:
D,:a symmetric matrix indicating proximity of two nodes
arcs,:Output 2n-3 arcs defining the graph.
v0,:If input as < D.rows() then defines one node of the first arc

Definition at line 45 of file mmn_make_tri_tree.cxx.

void mmn_make_tri_tree ( const vnl_matrix< double > &  D,
vcl_vector< mmn_arc > &  arcs,
vcl_vector< mmn_triplet > &  triplets,
vcl_vector< mmn_dependancy > &  deps,
unsigned int  v0 
)

Compute arcs defining a graph s.t. triangles form a tree.

Compute arc of graph such that point belongs to at least one triangle, and the graph of triangles is a tree (acyclic). Two triangles are neighbours if they share an edge (arc).

The approach is to select nodes one at a time, at each step choosing the node closest to two nodes ending an existing arc. This gives two new arcs.

Complexity is approximately O(n^2)

Parameters:
D,:a symmetric matrix indicating proximity of two nodes
arcs,:Output 2n-3 arcs defining the graph.
triplets,:n-2 triplets defining triangles
deps,:n-1 dependancies, defining a way to traverse graph
v0,:If input as < D.rows() then defines one node of the first arc

Compute arc of graph such that point belongs to at least one triangle, and the graph of triangles is a tree (acyclic). Two triangles are neighbours if they share an edge (arc).

The approach is to select nodes one at a time, at each step choosing the node closest to two nodes ending an existing arc. This gives two new arcs.

Complexity is approximately O(n^2)

Parameters:
D,:a symmetric matrix indicating proximity of two nodes
arcs,:Output 2n-3 arcs defining the graph.
v0,:If input as < D.rows() then defines one node of the first arc

Definition at line 140 of file mmn_make_tri_tree.cxx.