bioprocessing 6.0.4
bio::VolumeGraph< T, P > Class Template Reference

Volume graphs are a graph implementation specifically designed to represent volumes as graphs (vertices are the voxels, and edges are a chosen connectivity). More...

#include <bioprocessing/graph/volumegraph.h>

Inheritance diagram for bio::VolumeGraph< T, P >:
Collaboration diagram for bio::VolumeGraph< T, P >:

Classes

class  edge_const_iterator
 Iterator on the edges of a volume graph. More...
 
class  edge_iterator
 
class  vertex_const_iterator
 Iterator on the vertices of a volume graph. More...
 
class  vertex_iterator
 

Public Types

typedef T Type
 Value type.
 
typedef P Point
 Point type.
 
typedef Base::Edge Edge
 Usable edge type (RC)
 
typedef Base::Vertex Vertex
 Usable vertex type (RC)
 
typedef Base::Weight Weight
 Weight type.
 
typedef VolumeGraphRef< T, P > Graph
 Usable graph type (RC)
 
typedef VolumeGraphRef< T, P > Ref
 Reference type.
 
typedef carto::VolumeRef< TypeVolume
 Volume type.
 
- Public Types inherited from bio::EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T >
typedef T Weight
 Weight type.
 
typedef Base::Edge Edge
 Usable edge type.
 
typedef Base::Vertex Vertex
 Usable vertex type.
 
typedef EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T > Graph
 Usable graph type.
 
typedef EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T > Ref
 Reference type.
 
- Public Types inherited from bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >
typedef SetEdgeRef< PointVertexRef< P > > Edge
 Usable edge type.
 
typedef Edge::Vertex Vertex
 Usable vertex type.
 
typedef BaseGraphRef< SetEdgeRef< PointVertexRef< P > > > Graph
 Usable graph type.
 
typedef BaseGraphRef< SetEdgeRef< PointVertexRef< P > > > Ref
 Reference type.
 

Public Member Functions

 VolumeGraph (int sx=1, int sy=1, int sz=1, int st=1, const aims::strel::Connectivity &conn=aims::strel::Connectivity6XYZ())
 Constructor from volume dimensions and connectivity This initializes the graph so that it represents a volume of size sx * sy * sz * st, with edges representing a connectivity conn.
 
 VolumeGraph (const Volume &in, const aims::strel::Connectivity &conn=aims::strel::Connectivity6XYZ())
 Constructor from an exisiting volume and connectivity The volume is not copied, a reference to it is made.
 
virtual ~VolumeGraph ()
 
vertex_const_iterator beginVertex () const
 Iterator on all edges (This::Edge)
 
vertex_const_iterator endVertex () const
 Iterator on all vertices.
 
vertex_iterator beginVertex ()
 Iterator on all vertices.
 
vertex_iterator endVertex ()
 Iterator on all vertices.
 
edge_const_iterator beginEdge (const Vertex &v) const
 Iterator on the edges containing a given vertex.
 
edge_const_iterator endEdge (const Vertex &v) const
 Iterator on the edges containing a given vertex.
 
edge_iterator beginEdge (const Vertex &v)
 Iterator on the edges containing a given vertex.
 
edge_iterator endEdge (const Vertex &v)
 Iterator on the edges containing a given vertex.
 
edge_const_iterator beginEdge () const
 
edge_const_iterator endEdge () const
 
edge_iterator beginEdge ()
 
edge_iterator endEdge ()
 
void insert (Vertex v)
 Insertion of a new vertex (undefined for now)
 
void insert (Edge e)
 Insertion of a new edge (undefined for now)
 
bool contains (const Vertex &v) const
 True if v is in the graph.
 
bool contains (const Edge &e) const
 True if e is in the graph.
 
bool empty () const
 True if the graph contains no edges and vertices.
 
void clear ()
 Clear the graph from all edges and vertices.
 
void insert (Edge e, Weight w=(Weight) 0)
 Insertion of a weighted edge (undefined for now)
 
Weight weight (const Edge &e)
 Returns the weight of e.
 
Weight weight (const Edge &e) const
 Returns the weight of e.
 
bool isAdjacent (const Vertex &x, const Vertex &y) const
 Are x and y adjacent in the graph ?
 
bool isLinked (const Vertex &x, const Vertex &y) const
 Are x and y linked in the graph ?
 
bool isSubGraph (const Graph &g) const
 Is g a sub-graph os this graph ?
 
bool isConnectedComponent (const Graph &g) const
 Is g a connected component in this graph (Meaning all its vertices are linked)
 
bool isAdjacentTo (const Vertex &v, const Graph &g) const
 Is v adjacent to g ?
 
bool isAdjacentFrom (const Vertex &v, const Graph &g) const
 
Graph getConnectedComponent (Vertex &v)
 Returns the (one and only) connected component of this graph containing v.
 
Weight Fm (const Vertex &v) const
 Returns the minimum weight of all edges containing v.
 
void setDimensions (int sx=1, int sy=1, int sz=1, int st=1)
 Sets the dimensions of the underlying volume.
 
void setDimensions (const Point &dim)
 Sets the dimensions of the underlying volume.
 
void setHeader (float vx=1., float vy=1., float vz=1., float vt=1.)
 Sets the header of the underlying volume.
 
void setHeader (const Point4df &vs)
 Sets the header of the underlying volume.
 
void setWeightMethod (Weight(*weight)(const Type &, const Type &))
 Sets the weight method.
 
template<typename M>
void mask (const carto::VolumeRef< M > &mask)
 Mask the underlying volume using mask.
 
T & access (const Point &p)
 Access the volume at voxel p.
 
const T & access (const Point &p) const
 Access the volume at voxel p.
 
bool inside (const Point &p) const
 True if p is a voxel from the underlying volume.
 
- Public Member Functions inherited from bio::EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T >
virtual ~EWBaseGraph ()
 
virtual void insert (Edge e, Weight w=(Weight) 0)
 
virtual Weight weight (const Edge &e)
 
virtual Weight weight (const Edge &e) const
 
virtual bool isMinimum (const Graph &g) const
 
virtual bool isMinimumSpanningForestRelativeTo (const Graph &h, const Graph &g) const
 
virtual bool isMinimumSpanningTree (const Graph &g) const
 
bool isDescending (const Path &p) const
 
bool isPathofSteepestdescent (const Path &p) const
 
bool isWatershedCut (const EdgeSet &s) const
 
bool isBasinCut (const EdgeSet &es) const
 
virtual Graph getMinOfF () const
 
virtual Weight weight (const Graph &g) const
 
virtual Weight Fm (const Vertex &v) const
 
Fm (const G &thisg, const Vertex &v)
 
virtual ~EWBaseGraph ()
 
virtual void insert (Edge e, Weight w=(Weight) 0)
 
virtual Weight weight (const Edge &e)
 
virtual Weight weight (const Edge &e) const
 
virtual Weight weight (const Graph &g) const
 
virtual bool isMinimum (const Graph &g) const
 
virtual bool isMinimumSpanningForestRelativeTo (const Graph &h, const Graph &g) const
 
virtual bool isMinimumSpanningTree (const Graph &g) const
 
bool isDescending (const Path &p) const
 
bool isPathofSteepestdescent (const Path &p) const
 
bool isWatershedCut (const EdgeSet &s) const
 
bool isBasinCut (const EdgeSet &es) const
 
virtual Graph getMinOfF () const
 
virtual Weight Fm (const Vertex &v) const
 
Fm (const G &thisg, const Vertex &v)
 
- Public Member Functions inherited from bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >
virtual ~BaseGraph ()
 
virtual void insert (Vertex v)
 
virtual void insert (Edge e)
 
virtual bool contains (const Vertex &v) const
 
virtual bool contains (const Edge &e) const
 
virtual bool operator== (const This &other) const
 
virtual bool operator!= (const This &other) const
 
virtual bool operator> (const This &other) const
 
virtual bool operator< (const This &other) const
 
virtual bool operator>= (const This &other) const
 
virtual bool operator<= (const This &other) const
 
virtual bool operator= (const This &other)
 
virtual bool isAdjacent (const Vertex &x, const Vertex &y) const
 
virtual bool isLinked (const Vertex &x, const Vertex &y) const
 
virtual bool isSubGraph (const Graph &g) const
 
virtual bool isConnectedComponent (const Graph &g) const
 
virtual bool isAdjacentTo (const Vertex &v, const Graph &g) const
 
virtual bool isAdjacentFrom (const Vertex &v, const Graph &g) const
 
virtual bool isAdjacent (const Edge &e) const
 
virtual bool isLinked (const Vertex &v) const
 
virtual bool isExtension (const Graph &h, const Graph &g) const
 
virtual bool isForestRelativeTo (const Graph &h, const Graph &g) const
 
virtual bool isSpanningForestRelativeTo (const Graph &h, const Graph &g) const
 
virtual bool isTree (const Graph &g) const
 
virtual bool isSpanningTree (const Graph &g) const
 
virtual bool isForest (const Graph &g) const
 
virtual bool isSpanningForest (const Graph &g) const
 
bool isGraphCut (EdgeIterator begin, EdgeIterator end, const Graph &g) const
 
bool isGraphCut (const EdgeSet &es, const Graph &g) const
 
virtual ~BaseGraph ()
 
virtual void insert (Vertex v)
 
virtual void insert (Edge e)
 
virtual bool contains (const Vertex &v) const
 
virtual bool contains (const Edge &e) const
 
virtual bool operator== (const This &other) const
 
virtual bool operator!= (const This &other) const
 
virtual bool operator> (const This &other) const
 
virtual bool operator< (const This &other) const
 
virtual bool operator>= (const This &other) const
 
virtual bool operator<= (const This &other) const
 
virtual bool operator= (const This &other)
 
virtual bool isAdjacent (const Vertex &x, const Vertex &y) const
 
virtual bool isAdjacent (const Edge &e) const
 
virtual bool isLinked (const Vertex &x, const Vertex &y) const
 
virtual bool isLinked (const Vertex &v) const
 
virtual bool isSubGraph (const Graph &g) const
 
virtual bool isConnectedComponent (const Graph &g) const
 
virtual bool isAdjacentTo (const Vertex &v, const Graph &g) const
 
virtual bool isAdjacentFrom (const Vertex &v, const Graph &g) const
 
virtual bool isExtension (const Graph &h, const Graph &g) const
 
virtual bool isForestRelativeTo (const Graph &h, const Graph &g) const
 
virtual bool isSpanningForestRelativeTo (const Graph &h, const Graph &g) const
 
virtual bool isTree (const Graph &g) const
 
virtual bool isSpanningTree (const Graph &g) const
 
virtual bool isForest (const Graph &g) const
 
virtual bool isSpanningForest (const Graph &g) const
 
bool isGraphCut (EdgeIterator begin, EdgeIterator end, const Graph &g) const
 
bool isGraphCut (const EdgeSet &es, const Graph &g) const
 

Static Public Member Functions

template<typename Set>
static Set getComplement (const Set &s, const Set &e)
 Returns the complement of s in e.
 
static Type notPresentValue ()
 Value whose meaning is "none".
 
static Type presentValue ()
 Value whose meaning is "present".
 
- Static Public Member Functions inherited from bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >
static Set getComplement (const Set &s, const Set &e)
 
static Set getComplement (const Set &s, const Set &e)
 

Protected Types

typedef VolumeGraph< T, P > This
 Type of *this.
 
typedef EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T > Base
 Base class (EWBaseGraph)
 
typedef BaseGraph< SetEdgeRef< PointVertexRef< P > > > BaseBase
 Base class of Base (BaseGraph)
 
- Protected Types inherited from bio::EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T >
typedef EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T > This
 Type of *this.
 
typedef BaseGraph< SetEdgeRef< PointVertexRef< P > > > Base
 Base class.
 
- Protected Types inherited from bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >
typedef BaseGraph< SetEdgeRef< PointVertexRef< P > > > This
 Type of *this.
 

Protected Attributes

Volume _vol
 
Weight(* _weight )(const Type &, const Type &)
 
aims::StructuringElement _conn
 

Additional Inherited Members

- Static Protected Member Functions inherited from bio::EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T >
static Weight Fm (const G &thisg, const Vertex &v)
 
static Weight Fm (const G &thisg, const Vertex &v)
 
- Static Protected Member Functions inherited from bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >
static bool isAdjacent (const G &thisg, const Vertex &x, const Vertex &y)
 These methods are templated on the iterator type (which is implementation dependant and thus not known in BaseGraph).
 
static bool isLinked (const G &thisg, const Vertex &x, const Vertex &y)
 
static bool isLinked (const G &thisg, const Vertex &x, const Vertex &y, VertexSet &s)
 
static bool isSubGraph (const G &thisg, const typename G::Ref &g)
 
static bool isConnectedComponent (const G &thisg, const typename G::Ref &g)
 
static bool isAdjacent (const G &thisg, const Edge &e)
 
static bool isAdjacentTo (const G &thisg, const Vertex &v, const typename G::Ref &g)
 
static bool isAdjacentFrom (const G &thisg, const Vertex &v, const typename G::Ref &g)
 
static G::Ref getConnectedComponent (G &thisg, Vertex &v)
 
static void getConnectedComponent (G &thisg, Vertex &v, typename G::Ref &g)
 
static bool isAdjacent (const G &thisg, const Vertex &x, const Vertex &y)
 These methods are templated on the iterator type (which is implementation dependant and thus not known in BaseGraph).
 
static bool isAdjacent (const G &thisg, const Edge &e)
 
static bool isLinked (const G &thisg, const Vertex &x, const Vertex &y)
 
static bool isLinked (const G &thisg, const Vertex &x, const Vertex &y, VertexSet &s)
 
static bool isSubGraph (const G &thisg, const typename G::Ref &g)
 
static bool isConnectedComponent (const G &thisg, const typename G::Ref &g)
 
static bool isAdjacentTo (const G &thisg, const Vertex &v, const typename G::Ref &g)
 
static bool isAdjacentFrom (const G &thisg, const Vertex &v, const typename G::Ref &g)
 
static G::Ref getConnectedComponent (G &thisg, Vertex &v)
 
static void getConnectedComponent (G &thisg, Vertex &v, typename G::Ref &g)
 

Detailed Description

template<typename T, typename P>
class bio::VolumeGraph< T, P >

Volume graphs are a graph implementation specifically designed to represent volumes as graphs (vertices are the voxels, and edges are a chosen connectivity).

To optimize the memory allocated by those graphs, they are actually stored as volumes. Vertices are thus PointVertexRef, and it is not possible to insert vertices that do not represent voxels present in the underlying volume.

Voxels from the underlying volume are considered not present if they take a given value (see notPresentValue()). By default, all the voxels from the volume are present. If construction is done based on an existing volume, its values are kept. Else, a default "present" value is given to the voxels.

Definition at line 57 of file volumegraph.h.

Member Typedef Documentation

◆ Base

template<typename T, typename P>
typedef EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T > bio::VolumeGraph< T, P >::Base
protected

Base class (EWBaseGraph)

Definition at line 62 of file volumegraph.h.

◆ BaseBase

template<typename T, typename P>
typedef BaseGraph<SetEdgeRef< PointVertexRef< P > > > bio::VolumeGraph< T, P >::BaseBase
protected

Base class of Base (BaseGraph)

Definition at line 63 of file volumegraph.h.

◆ Edge

template<typename T, typename P>
typedef Base::Edge bio::VolumeGraph< T, P >::Edge

Usable edge type (RC)

Definition at line 67 of file volumegraph.h.

◆ Graph

template<typename T, typename P>
typedef VolumeGraphRef<T,P> bio::VolumeGraph< T, P >::Graph

Usable graph type (RC)

Definition at line 70 of file volumegraph.h.

◆ Point

template<typename T, typename P>
typedef P bio::VolumeGraph< T, P >::Point

Point type.

Definition at line 66 of file volumegraph.h.

◆ Ref

template<typename T, typename P>
typedef VolumeGraphRef<T,P> bio::VolumeGraph< T, P >::Ref

Reference type.

Definition at line 71 of file volumegraph.h.

◆ This

template<typename T, typename P>
typedef VolumeGraph<T,P> bio::VolumeGraph< T, P >::This
protected

Type of *this.

Definition at line 61 of file volumegraph.h.

◆ Type

template<typename T, typename P>
typedef T bio::VolumeGraph< T, P >::Type

Value type.

Definition at line 65 of file volumegraph.h.

◆ Vertex

template<typename T, typename P>
typedef Base::Vertex bio::VolumeGraph< T, P >::Vertex

Usable vertex type (RC)

Definition at line 68 of file volumegraph.h.

◆ Volume

template<typename T, typename P>
typedef carto::VolumeRef<Type> bio::VolumeGraph< T, P >::Volume

Volume type.

Definition at line 72 of file volumegraph.h.

◆ Weight

template<typename T, typename P>
typedef Base::Weight bio::VolumeGraph< T, P >::Weight

Weight type.

Definition at line 69 of file volumegraph.h.

Constructor & Destructor Documentation

◆ VolumeGraph() [1/2]

template<typename T, typename P>
bio::VolumeGraph< T, P >::VolumeGraph ( int sx = 1,
int sy = 1,
int sz = 1,
int st = 1,
const aims::strel::Connectivity & conn = aims::strel::Connectivity6XYZ() )

Constructor from volume dimensions and connectivity This initializes the graph so that it represents a volume of size sx * sy * sz * st, with edges representing a connectivity conn.

Definition at line 222 of file volumegraph.h.

References _conn, _vol, and _weight.

◆ VolumeGraph() [2/2]

template<typename T, typename P>
bio::VolumeGraph< T, P >::VolumeGraph ( const Volume & in,
const aims::strel::Connectivity & conn = aims::strel::Connectivity6XYZ() )

Constructor from an exisiting volume and connectivity The volume is not copied, a reference to it is made.

As such, any change to the VolumeGraph is a change to this volume.

Definition at line 230 of file volumegraph.h.

References _conn, _vol, and _weight.

◆ ~VolumeGraph()

template<typename T, typename P>
virtual bio::VolumeGraph< T, P >::~VolumeGraph ( )
inlinevirtual

Member Function Documentation

◆ access() [1/2]

template<typename T, typename P>
T & bio::VolumeGraph< T, P >::access ( const Point & p)

Access the volume at voxel p.

Definition at line 364 of file volumegraph.h.

References _vol.

Referenced by contains(), contains(), weight(), and weight().

◆ access() [2/2]

template<typename T, typename P>
const T & bio::VolumeGraph< T, P >::access ( const Point & p) const

Access the volume at voxel p.

Definition at line 373 of file volumegraph.h.

References _vol.

◆ beginEdge() [1/4]

template<typename T, typename P>
edge_iterator bio::VolumeGraph< T, P >::beginEdge ( )

◆ beginEdge() [2/4]

template<typename T, typename P>
edge_const_iterator bio::VolumeGraph< T, P >::beginEdge ( ) const

◆ beginEdge() [3/4]

template<typename T, typename P>
edge_iterator bio::VolumeGraph< T, P >::beginEdge ( const Vertex & v)
inline

Iterator on the edges containing a given vertex.

Definition at line 111 of file volumegraph.h.

References _conn, and _vol.

◆ beginEdge() [4/4]

template<typename T, typename P>
edge_const_iterator bio::VolumeGraph< T, P >::beginEdge ( const Vertex & v) const
inline

Iterator on the edges containing a given vertex.

Definition at line 105 of file volumegraph.h.

References _conn, and _vol.

Referenced by bio::VolumeGraphRef< T, Point >::beginEdge(), and bio::VolumeGraphRef< T, Point >::beginEdge().

◆ beginVertex() [1/2]

template<typename T, typename P>
vertex_iterator bio::VolumeGraph< T, P >::beginVertex ( )
inline

Iterator on all vertices.

Definition at line 101 of file volumegraph.h.

References _vol.

◆ beginVertex() [2/2]

template<typename T, typename P>
vertex_const_iterator bio::VolumeGraph< T, P >::beginVertex ( ) const
inline

Iterator on all edges (This::Edge)

Iterator on all vertices

Definition at line 97 of file volumegraph.h.

References _vol.

Referenced by bio::VolumeGraphRef< T, Point >::beginVertex(), and bio::VolumeGraphRef< T, Point >::beginVertex().

◆ clear()

template<typename T, typename P>
void bio::VolumeGraph< T, P >::clear ( )
virtual

Clear the graph from all edges and vertices.

Reimplemented from bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >.

Reimplemented in bio::VolumeGraph< T, P >::edge_iterator, and bio::VolumeGraph< T, P >::vertex_iterator.

Definition at line 269 of file volumegraph.h.

References _vol, and notPresentValue().

◆ contains() [1/2]

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::contains ( const Edge & e) const

True if e is in the graph.

Definition at line 247 of file volumegraph.h.

References access(), inside(), and notPresentValue().

◆ contains() [2/2]

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::contains ( const Vertex & v) const

True if v is in the graph.

Definition at line 238 of file volumegraph.h.

References access(), inside(), and notPresentValue().

◆ empty()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::empty ( ) const
virtual

True if the graph contains no edges and vertices.

Reimplemented from bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >.

Reimplemented in bio::VolumeGraph< T, P >::edge_iterator, and bio::VolumeGraph< T, P >::vertex_iterator.

Definition at line 256 of file volumegraph.h.

References _vol, and notPresentValue().

◆ endEdge() [1/4]

template<typename T, typename P>
edge_iterator bio::VolumeGraph< T, P >::endEdge ( )

◆ endEdge() [2/4]

template<typename T, typename P>
edge_const_iterator bio::VolumeGraph< T, P >::endEdge ( ) const

◆ endEdge() [3/4]

template<typename T, typename P>
edge_iterator bio::VolumeGraph< T, P >::endEdge ( const Vertex & v)
inline

Iterator on the edges containing a given vertex.

Definition at line 114 of file volumegraph.h.

References _conn, and _vol.

◆ endEdge() [4/4]

template<typename T, typename P>
edge_const_iterator bio::VolumeGraph< T, P >::endEdge ( const Vertex & v) const
inline

Iterator on the edges containing a given vertex.

Definition at line 108 of file volumegraph.h.

References _conn, and _vol.

Referenced by bio::VolumeGraphRef< T, Point >::endEdge(), and bio::VolumeGraphRef< T, Point >::endEdge().

◆ endVertex() [1/2]

template<typename T, typename P>
vertex_iterator bio::VolumeGraph< T, P >::endVertex ( )
inline

Iterator on all vertices.

Definition at line 103 of file volumegraph.h.

References _vol.

◆ endVertex() [2/2]

template<typename T, typename P>
vertex_const_iterator bio::VolumeGraph< T, P >::endVertex ( ) const
inline

Iterator on all vertices.

Definition at line 99 of file volumegraph.h.

References _vol.

Referenced by bio::VolumeGraphRef< T, Point >::endVertex(), and bio::VolumeGraphRef< T, Point >::endVertex().

◆ Fm()

template<typename T, typename P>
Weight bio::VolumeGraph< T, P >::Fm ( const Vertex & v) const
inline

Returns the minimum weight of all edges containing v.

Definition at line 174 of file volumegraph.h.

References bio::EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T >::Fm().

◆ getComplement()

template<typename T, typename P>
template<typename Set>
static Set bio::VolumeGraph< T, P >::getComplement ( const Set & s,
const Set & e )
inlinestatic

Returns the complement of s in e.

Definition at line 178 of file volumegraph.h.

References bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >::getComplement().

Referenced by bio::VolumeGraphRef< T, Point >::getComplement().

◆ getConnectedComponent()

template<typename T, typename P>
Graph bio::VolumeGraph< T, P >::getConnectedComponent ( Vertex & v)
inline

Returns the (one and only) connected component of this graph containing v.

Definition at line 171 of file volumegraph.h.

References bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >::getConnectedComponent().

◆ insert() [1/3]

template<typename T, typename P>
void bio::VolumeGraph< T, P >::insert ( Edge e)
inline

Insertion of a new edge (undefined for now)

Definition at line 130 of file volumegraph.h.

◆ insert() [2/3]

template<typename T, typename P>
void bio::VolumeGraph< T, P >::insert ( Edge e,
Weight w = (Weight)0 )
inline

Insertion of a weighted edge (undefined for now)

Definition at line 140 of file volumegraph.h.

◆ insert() [3/3]

template<typename T, typename P>
void bio::VolumeGraph< T, P >::insert ( Vertex v)
inline

Insertion of a new vertex (undefined for now)

Definition at line 128 of file volumegraph.h.

◆ inside()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::inside ( const Point & p) const

True if p is a voxel from the underlying volume.

Definition at line 382 of file volumegraph.h.

References _vol.

Referenced by contains(), contains(), and bio::VolumeGraph< T, P >::edge_const_iterator::toNext().

◆ isAdjacent()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::isAdjacent ( const Vertex & x,
const Vertex & y ) const
inline

Are x and y adjacent in the graph ?

Definition at line 149 of file volumegraph.h.

References bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >::isAdjacent().

◆ isAdjacentFrom()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::isAdjacentFrom ( const Vertex & v,
const Graph & g ) const
inline

◆ isAdjacentTo()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::isAdjacentTo ( const Vertex & v,
const Graph & g ) const
inline

Is v adjacent to g ?

(Meaning v isn't in g and there exist an edge in this graph that contains v and a vertex of g)

Definition at line 165 of file volumegraph.h.

References bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >::isAdjacentTo().

◆ isConnectedComponent()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::isConnectedComponent ( const Graph & g) const
inline

Is g a connected component in this graph (Meaning all its vertices are linked)

Definition at line 160 of file volumegraph.h.

References bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >::isConnectedComponent().

◆ isLinked()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::isLinked ( const Vertex & x,
const Vertex & y ) const
inline

Are x and y linked in the graph ?

Definition at line 152 of file volumegraph.h.

References bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >::isLinked().

◆ isSubGraph()

template<typename T, typename P>
bool bio::VolumeGraph< T, P >::isSubGraph ( const Graph & g) const
inline

Is g a sub-graph os this graph ?

(Meaning all its edges and vertices are included in this graph)

Definition at line 156 of file volumegraph.h.

References bio::BaseGraph< SetEdgeRef< PointVertexRef< P > > >::isSubGraph().

◆ mask()

template<typename T, typename P>
template<typename M>
void bio::VolumeGraph< T, P >::mask ( const carto::VolumeRef< M > & mask)

Mask the underlying volume using mask.

i.e. All voxels/vertices not present in the mask are set to notPresentValue()

Definition at line 348 of file volumegraph.h.

References _vol, mask(), and notPresentValue().

Referenced by mask().

◆ notPresentValue()

◆ presentValue()

template<typename T, typename P>
T bio::VolumeGraph< T, P >::presentValue ( )
static

Value whose meaning is "present".

Definition at line 304 of file volumegraph.h.

Referenced by bio::VolumeGraphRef< T, Point >::presentValue().

◆ setDimensions() [1/2]

template<typename T, typename P>
void bio::VolumeGraph< T, P >::setDimensions ( const Point & dim)

Sets the dimensions of the underlying volume.

Definition at line 316 of file volumegraph.h.

References setDimensions().

◆ setDimensions() [2/2]

template<typename T, typename P>
void bio::VolumeGraph< T, P >::setDimensions ( int sx = 1,
int sy = 1,
int sz = 1,
int st = 1 )

Sets the dimensions of the underlying volume.

Definition at line 310 of file volumegraph.h.

References _vol.

Referenced by setDimensions().

◆ setHeader() [1/2]

template<typename T, typename P>
void bio::VolumeGraph< T, P >::setHeader ( const Point4df & vs)

Sets the header of the underlying volume.

Definition at line 335 of file volumegraph.h.

References setHeader().

◆ setHeader() [2/2]

template<typename T, typename P>
void bio::VolumeGraph< T, P >::setHeader ( float vx = 1.,
float vy = 1.,
float vz = 1.,
float vt = 1. )

Sets the header of the underlying volume.

Definition at line 325 of file volumegraph.h.

Referenced by setHeader().

◆ setWeightMethod()

template<typename T, typename P>
void bio::VolumeGraph< T, P >::setWeightMethod ( Weight(* weight )(const Type &, const Type &))

Sets the weight method.

A weight method takes two voxels values and returns a weight.

Definition at line 341 of file volumegraph.h.

References _weight, and weight().

◆ weight() [1/2]

template<typename T, typename P>
VolumeGraph< T, P >::Weight bio::VolumeGraph< T, P >::weight ( const Edge & e)

Returns the weight of e.

Definition at line 280 of file volumegraph.h.

References _weight, and access().

Referenced by setWeightMethod().

◆ weight() [2/2]

template<typename T, typename P>
VolumeGraph< T, P >::Weight bio::VolumeGraph< T, P >::weight ( const Edge & e) const

Returns the weight of e.

Definition at line 289 of file volumegraph.h.

References _weight, and access().

Member Data Documentation

◆ _conn

template<typename T, typename P>
aims::StructuringElement bio::VolumeGraph< T, P >::_conn
protected

Definition at line 214 of file volumegraph.h.

Referenced by beginEdge(), beginEdge(), endEdge(), endEdge(), VolumeGraph(), and VolumeGraph().

◆ _vol

◆ _weight

template<typename T, typename P>
Weight(* bio::VolumeGraph< T, P >::_weight) (const Type &, const Type &)
protected

Definition at line 213 of file volumegraph.h.

Referenced by setWeightMethod(), VolumeGraph(), VolumeGraph(), weight(), and weight().


The documentation for this class was generated from the following file: