ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
CP Namespace Reference

Classes

struct  CPparameter
 
struct  CutPursuit
 
struct  CutPursuit_KL
 
struct  CutPursuit_L2
 
struct  CutPursuit_Linear
 
struct  CutPursuit_SPG
 
struct  VertexAttribute
 
struct  EdgeAttribute
 

Typedefs

typedef boost::graph_traits< boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS > >::edge_descriptor EdgeDescriptor
 
template<typename T >
using Graph = typename boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS, VertexAttribute< T >, EdgeAttribute< T > >
 
template<typename T >
using VertexDescriptor = typename boost::graph_traits< CP::Graph< T > >::vertex_descriptor
 
template<typename T >
using VertexIndex = typename boost::graph_traits< CP::Graph< T > >::vertices_size_type
 
template<typename T >
using EdgeIndex = typename boost::graph_traits< CP::Graph< T > >::edges_size_type
 
template<typename T >
using VertexIterator = typename boost::graph_traits< Graph< T > >::vertex_iterator
 
template<typename T >
using EdgeIterator = typename boost::graph_traits< Graph< T > >::edge_iterator
 
template<typename T >
using VertexAttributeMap = boost::vec_adj_list_vertex_property_map< Graph< T >, Graph< T > *, VertexAttribute< T >, VertexAttribute< T > &, boost::vertex_bundle_t >
 
template<typename T >
using EdgeAttributeMap = boost::adj_list_edge_property_map< boost::directed_tag, EdgeAttribute< T >, EdgeAttribute< T > &, uint64_t, CP::EdgeAttribute< T >, boost::edge_bundle_t >
 
template<typename T >
using VertexIndexMap = typename boost::property_map< Graph< T >, boost::vertex_index_t >::type
 
template<typename T >
using EdgeIndexMap = typename boost::property_map< Graph< T >, uint32_t EdgeAttribute< T >::* >::type
 

Functions

template<typename T >
CP::CutPursuit< T > * create_CP (const T mode, const float verbose)
 
template<typename T >
void cut_pursuit (const uint32_t n_nodes, const uint32_t n_edges, const uint32_t nObs, std::vector< std::vector< T >> &observation, const std::vector< uint32_t > &Eu, const std::vector< uint32_t > &Ev, const std::vector< T > &edgeWeight, const std::vector< T > &nodeWeight, std::vector< std::vector< T >> &solution, const T lambda, const uint32_t cutoff, const T mode, const T speed, const T weight_decay, const float verbose)
 
template<typename T >
void cut_pursuit (const uint32_t n_nodes, const uint32_t n_edges, const uint32_t nObs, std::vector< std::vector< T >> &observation, const std::vector< uint32_t > &Eu, const std::vector< uint32_t > &Ev, const std::vector< T > &edgeWeight, const std::vector< T > &nodeWeight, std::vector< std::vector< T >> &solution, std::vector< uint32_t > &in_component, std::vector< std::vector< uint32_t >> &components, const T lambda, const uint32_t cutoff, const T mode, const T speed, const T weight_decay, const float verbose)
 
template<typename T >
void set_up_CP (CP::CutPursuit< T > *cp, const uint32_t n_nodes, const uint32_t n_edges, const uint32_t nObs, const std::vector< std::vector< T >> observation, const std::vector< uint32_t > Eu, const std::vector< uint32_t > Ev, const std::vector< T > edgeWeight, const std::vector< T > nodeWeight)
 
template<typename T >
void set_speed (CP::CutPursuit< T > *cp, const T speed, const T weight_decay, const float verbose)
 
template<typename T >
bool addDoubledge (Graph< T > &g, const VertexDescriptor< T > &source, const VertexDescriptor< T > &target, const T weight, uint32_t eIndex, EdgeAttributeMap< T > &edge_attribute_map, bool real=true)
 

Typedef Documentation

◆ EdgeAttributeMap

template<typename T >
using CP::EdgeAttributeMap = typedef boost::adj_list_edge_property_map<boost::directed_tag, EdgeAttribute<T>, EdgeAttribute<T>&, uint64_t, CP::EdgeAttribute<T>, boost::edge_bundle_t>

Definition at line 94 of file Graph.h.

◆ EdgeDescriptor

typedef boost::graph_traits< boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS> >:: edge_descriptor CP::EdgeDescriptor

Definition at line 22 of file Graph.h.

◆ EdgeIndex

template<typename T >
using CP::EdgeIndex = typedef typename boost::graph_traits<CP::Graph<T> >::edges_size_type

Definition at line 80 of file Graph.h.

◆ EdgeIndexMap

template<typename T >
using CP::EdgeIndexMap = typedef typename boost::property_map<Graph<T>, uint32_t EdgeAttribute<T>::*>::type

Definition at line 105 of file Graph.h.

◆ EdgeIterator

template<typename T >
using CP::EdgeIterator = typedef typename boost::graph_traits<Graph<T> >::edge_iterator

Definition at line 84 of file Graph.h.

◆ Graph

template<typename T >
using CP::Graph = typedef typename boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, VertexAttribute<T>, EdgeAttribute<T> >

Definition at line 67 of file Graph.h.

◆ VertexAttributeMap

template<typename T >
using CP::VertexAttributeMap = typedef boost::vec_adj_list_vertex_property_map<Graph<T>, Graph<T>*, VertexAttribute<T>, VertexAttribute<T>&, boost::vertex_bundle_t>

Definition at line 87 of file Graph.h.

◆ VertexDescriptor

template<typename T >
using CP::VertexDescriptor = typedef typename boost::graph_traits<CP::Graph<T> >::vertex_descriptor

Definition at line 74 of file Graph.h.

◆ VertexIndex

template<typename T >
using CP::VertexIndex = typedef typename boost::graph_traits<CP::Graph<T> >::vertices_size_type

Definition at line 77 of file Graph.h.

◆ VertexIndexMap

template<typename T >
using CP::VertexIndexMap = typedef typename boost::property_map<Graph<T>, boost::vertex_index_t>::type

Definition at line 102 of file Graph.h.

◆ VertexIterator

template<typename T >
using CP::VertexIterator = typedef typename boost::graph_traits<Graph<T> >::vertex_iterator

Definition at line 82 of file Graph.h.

Function Documentation

◆ addDoubledge()

template<typename T >
bool CP::addDoubledge ( Graph< T > &  g,
const VertexDescriptor< T > &  source,
const VertexDescriptor< T > &  target,
const T  weight,
uint32_t  eIndex,
EdgeAttributeMap< T > &  edge_attribute_map,
bool  real = true 
)

Definition at line 110 of file Graph.h.

References CP::EdgeAttribute< T >::edge_reverse.

Referenced by set_up_CP().

◆ create_CP()

template<typename T >
CP::CutPursuit<T>* CP::create_CP ( const T  mode,
const float  verbose 
)

Definition at line 129 of file API.h.

References QtCompat::endl(), KL, L2, linear, NULL, CP::CutPursuit< T >::parameter, and SPG.

Referenced by cut_pursuit().

◆ cut_pursuit() [1/2]

template<typename T >
void CP::cut_pursuit ( const uint32_t  n_nodes,
const uint32_t  n_edges,
const uint32_t  nObs,
std::vector< std::vector< T >> &  observation,
const std::vector< uint32_t > &  Eu,
const std::vector< uint32_t > &  Ev,
const std::vector< T > &  edgeWeight,
const std::vector< T > &  nodeWeight,
std::vector< std::vector< T >> &  solution,
const T  lambda,
const uint32_t  cutoff,
const T  mode,
const T  speed,
const T  weight_decay,
const float  verbose 
)

◆ cut_pursuit() [2/2]

template<typename T >
void CP::cut_pursuit ( const uint32_t  n_nodes,
const uint32_t  n_edges,
const uint32_t  nObs,
std::vector< std::vector< T >> &  observation,
const std::vector< uint32_t > &  Eu,
const std::vector< uint32_t > &  Ev,
const std::vector< T > &  edgeWeight,
const std::vector< T > &  nodeWeight,
std::vector< std::vector< T >> &  solution,
std::vector< uint32_t > &  in_component,
std::vector< std::vector< uint32_t >> &  components,
const T  lambda,
const uint32_t  cutoff,
const T  mode,
const T  speed,
const T  weight_decay,
const float  verbose 
)

◆ set_speed()

template<typename T >
void CP::set_speed ( CP::CutPursuit< T > *  cp,
const T  speed,
const T  weight_decay,
const float  verbose 
)

Definition at line 346 of file API.h.

References QtCompat::endl(), and CP::CutPursuit< T >::parameter.

Referenced by cut_pursuit().

◆ set_up_CP()

template<typename T >
void CP::set_up_CP ( CP::CutPursuit< T > *  cp,
const uint32_t  n_nodes,
const uint32_t  n_edges,
const uint32_t  nObs,
const std::vector< std::vector< T >>  observation,
const std::vector< uint32_t >  Eu,
const std::vector< uint32_t >  Ev,
const std::vector< T >  edgeWeight,
const std::vector< T >  nodeWeight 
)