bioprocessing  5.1.2
bio::VolumeGraphRef< T, P > Class Template Reference

Reference to a VolumeGraph. More...

#include <bioprocessing/graph/volumegraph.h>

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

Public Types

typedef Pointed::Type Type
 
typedef Pointed::Point Point
 
typedef Pointed::Vertex Vertex
 
typedef Pointed::Edge Edge
 
typedef Pointed::Weight Weight
 
typedef Pointed::Graph Graph
 
typedef Pointed::vertex_const_iterator vertex_const_iterator
 
typedef Pointed::vertex_iterator vertex_iterator
 
typedef Pointed::edge_const_iterator edge_const_iterator
 
typedef Pointed::edge_iterator edge_iterator
 
- Public Types inherited from bio::EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T >
typedef Pointed::Weight Weight
 
typedef Pointed::Edge Edge
 
typedef Pointed::Vertex Vertex
 
typedef Pointed::Graph Graph
 
- Public Types inherited from bio::BaseGraphRef< E >
typedef Pointed::Vertex Vertex
 
typedef Pointed::Edge Edge
 
typedef Pointed::Graph Graph
 

Public Member Functions

 VolumeGraphRef (int sx=1, int sy=1, int sz=1, int st=1)
 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. More...
 
 VolumeGraphRef (carto::VolumeRef< T > volume, 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. More...
 
 VolumeGraphRef (Pointed *e)
 Constructor from a pointer (the pointer should either be created by new, or be already referenced by a rc_ptr. More...
 
 VolumeGraphRef (const Base &other)
 Copy constructor (it copies the reference, it does not duplicate the pointed object) More...
 
virtual ~VolumeGraphRef ()
 
vertex_const_iterator beginVertex () const
 
vertex_const_iterator endVertex () const
 
vertex_iterator beginVertex ()
 
vertex_iterator endVertex ()
 
edge_const_iterator beginEdge (const Vertex &v) const
 
edge_const_iterator endEdge (const Vertex &v) const
 
edge_iterator beginEdge (const Vertex &v)
 
edge_iterator endEdge (const Vertex &v)
 
bool isAdjacent (const Vertex &x, const Vertex &y) const
 
bool isLinked (const Vertex &x, const Vertex &y) const
 
bool isSubGraph (const Graph &g) const
 
bool isConnectedComponent (const Graph &g) const
 
bool isAdjacentTo (const Vertex &v, const Graph &g) const
 
bool isAdjacentFrom (const Vertex &v, const Graph &g) const
 
Graph getConnectedComponent (Vertex &v)
 
void setDimensions (int sx=1, int sy=1, int sz=1, int st=1)
 
void setDimensions (const Point &dim)
 
void setHeader (float vx=1., float vy=1., float vz=1., float vt=1.)
 
void setHeader (const Point4df &vs)
 
void setWeightMethod (Weight(*weight)(const Type &, const Type &))
 
template<typename M >
void mask (const carto::VolumeRef< M > &mask)
 
T & access (const Point &p)
 
const T & access (const Point &p) const
 
bool inside (const Point &p) const
 
- Public Member Functions inherited from bio::EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T >
 EWBaseGraphRef ()
 
 EWBaseGraphRef (Pointed *g)
 
 EWBaseGraphRef (const Base &other)
 
virtual ~EWBaseGraphRef ()
 
virtual void insert (Edge e, Weight w=(Weight) 0)
 
virtual Weight weight (const Edge &e)
 
virtual Weight weight (const Edge &e) const
 
virtual Weight Fm (const Vertex &v) const
 
- Public Member Functions inherited from bio::BaseGraphRef< E >
 BaseGraphRef ()
 
 BaseGraphRef (Pointed *g)
 
 BaseGraphRef (const Base &other)
 
virtual ~BaseGraphRef ()
 
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 empty () const
 
virtual void clear ()
 
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 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
 
template<typename EdgeIterator >
bool isGraphCut (EdgeIterator begin, EdgeIterator end, const Graph &g) const
 
template<typename EdgeSet >
bool isGraphCut (const EdgeSet &es, const Graph &g) const
 

Static Public Member Functions

static Graph none ()
 Empty pointer factory. More...
 
template<typename Set >
static Set getComplement (const Set &s, const Set &e)
 
static Type notPresentValue ()
 
static Type presentValue ()
 
- Static Public Member Functions inherited from bio::EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T >
static Graph none ()
 
- Static Public Member Functions inherited from bio::BaseGraphRef< E >
static Graph none ()
 
template<typename Set >
static Set getComplement (const Set &s, const Set &e)
 

Protected Types

typedef VolumeGraphRef< T, P > This
 
typedef EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T > Base
 
typedef VolumeGraph< T, P > Pointed
 
- Protected Types inherited from bio::EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T >
typedef EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T > This
 
typedef BaseGraphRef< SetEdgeRef< PointVertexRef< P > > > Base
 
typedef EWBaseGraph< SetEdgeRef< PointVertexRef< P > >, T > Pointed
 
- Protected Types inherited from bio::BaseGraphRef< E >
typedef carto::rc_ptr< BaseGraph< E > > Base
 
typedef BaseGraph< E > Pointed
 
typedef BaseGraphRef< E > This
 

Detailed Description

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

Reference to a VolumeGraph.

This utility class is the entry point to volume graphs. It permits to avoid unnecessary copys of big structures, while giving access to all the necessary methods.

Definition at line 861 of file volumegraph.h.

Member Typedef Documentation

◆ Base

template<typename T , typename P >
typedef EWBaseGraphRef< SetEdgeRef< PointVertexRef< P > >, T> bio::VolumeGraphRef< T, P >::Base
protected

Definition at line 866 of file volumegraph.h.

◆ Edge

template<typename T , typename P >
typedef Pointed::Edge bio::VolumeGraphRef< T, P >::Edge

Definition at line 872 of file volumegraph.h.

◆ edge_const_iterator

template<typename T , typename P >
typedef Pointed::edge_const_iterator bio::VolumeGraphRef< T, P >::edge_const_iterator

Definition at line 910 of file volumegraph.h.

◆ edge_iterator

template<typename T , typename P >
typedef Pointed::edge_iterator bio::VolumeGraphRef< T, P >::edge_iterator

Definition at line 911 of file volumegraph.h.

◆ Graph

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

Definition at line 874 of file volumegraph.h.

◆ Point

template<typename T , typename P >
typedef Pointed::Point bio::VolumeGraphRef< T, P >::Point

Definition at line 870 of file volumegraph.h.

◆ Pointed

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

Definition at line 867 of file volumegraph.h.

◆ This

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

Definition at line 865 of file volumegraph.h.

◆ Type

template<typename T , typename P >
typedef Pointed::Type bio::VolumeGraphRef< T, P >::Type

Definition at line 869 of file volumegraph.h.

◆ Vertex

template<typename T , typename P >
typedef Pointed::Vertex bio::VolumeGraphRef< T, P >::Vertex

Definition at line 871 of file volumegraph.h.

◆ vertex_const_iterator

template<typename T , typename P >
typedef Pointed::vertex_const_iterator bio::VolumeGraphRef< T, P >::vertex_const_iterator

Definition at line 908 of file volumegraph.h.

◆ vertex_iterator

template<typename T , typename P >
typedef Pointed::vertex_iterator bio::VolumeGraphRef< T, P >::vertex_iterator

Definition at line 909 of file volumegraph.h.

◆ Weight

template<typename T , typename P >
typedef Pointed::Weight bio::VolumeGraphRef< T, P >::Weight

Definition at line 873 of file volumegraph.h.

Constructor & Destructor Documentation

◆ VolumeGraphRef() [1/4]

template<typename T , typename P >
bio::VolumeGraphRef< T, P >::VolumeGraphRef ( int  sx = 1,
int  sy = 1,
int  sz = 1,
int  st = 1 
)
inline

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 881 of file volumegraph.h.

◆ VolumeGraphRef() [2/4]

template<typename T , typename P >
bio::VolumeGraphRef< T, P >::VolumeGraphRef ( carto::VolumeRef< T >  volume,
const aims::strel::Connectivity &  conn = aims::strel::Connectivity6XYZ() 
)
inline

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 886 of file volumegraph.h.

◆ VolumeGraphRef() [3/4]

template<typename T , typename P >
bio::VolumeGraphRef< T, P >::VolumeGraphRef ( Pointed e)
inline

Constructor from a pointer (the pointer should either be created by new, or be already referenced by a rc_ptr.

See rc_ptr for more details on reference counting pointers)

Definition at line 894 of file volumegraph.h.

◆ VolumeGraphRef() [4/4]

template<typename T , typename P >
bio::VolumeGraphRef< T, P >::VolumeGraphRef ( const Base other)
inline

Copy constructor (it copies the reference, it does not duplicate the pointed object)

Definition at line 897 of file volumegraph.h.

◆ ~VolumeGraphRef()

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

Definition at line 898 of file volumegraph.h.

Member Function Documentation

◆ access() [1/2]

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

Definition at line 948 of file volumegraph.h.

◆ access() [2/2]

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

Definition at line 949 of file volumegraph.h.

◆ beginEdge() [1/2]

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

Definition at line 918 of file volumegraph.h.

◆ beginEdge() [2/2]

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

Definition at line 916 of file volumegraph.h.

◆ beginVertex() [1/2]

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

Definition at line 914 of file volumegraph.h.

◆ beginVertex() [2/2]

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

Definition at line 912 of file volumegraph.h.

◆ endEdge() [1/2]

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

Definition at line 919 of file volumegraph.h.

◆ endEdge() [2/2]

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

Definition at line 917 of file volumegraph.h.

◆ endVertex() [1/2]

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

Definition at line 915 of file volumegraph.h.

◆ endVertex() [2/2]

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

Definition at line 913 of file volumegraph.h.

◆ getComplement()

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

Definition at line 935 of file volumegraph.h.

References bio::VolumeGraph< T, P >::getComplement().

◆ getConnectedComponent()

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

Definition at line 933 of file volumegraph.h.

◆ inside()

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

Definition at line 950 of file volumegraph.h.

◆ isAdjacent()

template<typename T , typename P >
bool bio::VolumeGraphRef< T, P >::isAdjacent ( const Vertex x,
const Vertex y 
) const
inlinevirtual

Reimplemented from bio::BaseGraphRef< E >.

Definition at line 927 of file volumegraph.h.

◆ isAdjacentFrom()

template<typename T , typename P >
bool bio::VolumeGraphRef< T, P >::isAdjacentFrom ( const Vertex v,
const Graph g 
) const
inlinevirtual

Reimplemented from bio::BaseGraphRef< E >.

Definition at line 932 of file volumegraph.h.

◆ isAdjacentTo()

template<typename T , typename P >
bool bio::VolumeGraphRef< T, P >::isAdjacentTo ( const Vertex v,
const Graph g 
) const
inlinevirtual

Reimplemented from bio::BaseGraphRef< E >.

Definition at line 931 of file volumegraph.h.

◆ isConnectedComponent()

template<typename T , typename P >
bool bio::VolumeGraphRef< T, P >::isConnectedComponent ( const Graph g) const
inlinevirtual

Reimplemented from bio::BaseGraphRef< E >.

Definition at line 930 of file volumegraph.h.

◆ isLinked()

template<typename T , typename P >
bool bio::VolumeGraphRef< T, P >::isLinked ( const Vertex x,
const Vertex y 
) const
inlinevirtual

Reimplemented from bio::BaseGraphRef< E >.

Definition at line 928 of file volumegraph.h.

◆ isSubGraph()

template<typename T , typename P >
bool bio::VolumeGraphRef< T, P >::isSubGraph ( const Graph g) const
inlinevirtual

Reimplemented from bio::BaseGraphRef< E >.

Definition at line 929 of file volumegraph.h.

◆ mask()

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

Definition at line 947 of file volumegraph.h.

◆ none()

template<typename T , typename P >
static Graph bio::VolumeGraphRef< T, P >::none ( )
inlinestatic

Empty pointer factory.

The reference is set to 0

Definition at line 904 of file volumegraph.h.

◆ notPresentValue()

template<typename T , typename P >
static Type bio::VolumeGraphRef< T, P >::notPresentValue ( )
inlinestatic

Definition at line 939 of file volumegraph.h.

References bio::VolumeGraph< T, P >::notPresentValue().

◆ presentValue()

template<typename T , typename P >
static Type bio::VolumeGraphRef< T, P >::presentValue ( )
inlinestatic

Definition at line 940 of file volumegraph.h.

References bio::VolumeGraph< T, P >::presentValue().

◆ setDimensions() [1/2]

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

Definition at line 942 of file volumegraph.h.

◆ setDimensions() [2/2]

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

Definition at line 941 of file volumegraph.h.

◆ setHeader() [1/2]

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

Definition at line 944 of file volumegraph.h.

◆ setHeader() [2/2]

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

Definition at line 943 of file volumegraph.h.

◆ setWeightMethod()

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

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