gft_sparsegraph.h
Go to the documentation of this file.
1 
2 #ifndef _GFT_SPARSEGRAPH_H_
3 #define _GFT_SPARSEGRAPH_H_
4 
5 #include "gft_common.h"
6 #include "gft_image32.h"
7 #include "gft_cimage.h"
8 #include "gft_adjrel.h"
9 
10 namespace gft{
11  namespace SparseGraph{
12 
13 #define DISSIMILARITY 0
14 #define CAPACITY 1
15 
16  // Image Sparse Graph:
17  // n-links connect pairs of neighboring pixels.
18  typedef struct _sparseGraph {
19  int type;
20  int Wmax;
21  int **n_link;
22  int ncols, nrows;
24  } SparseGraph;
25 
26 
27  SparseGraph *ByAbsDiff(Image32::Image32 *img, float r);
29 
30  //------ SparseGraph Functions ------------
31 
32  int get_edge_index(int p, int q,
33  SparseGraph *g);
34 
35  void Destroy(SparseGraph **g);
36  SparseGraph *Create(int ncols, int nrows,
37  AdjRel::AdjRel *A);
39 
40  void ChangeType(SparseGraph *g,
41  int type);
42 
43  void Pow(SparseGraph *sg, int power, int max);
45  int method);
46 
48 
50 
52 
53  void Orient2Digraph(SparseGraph *sg,
54  Image32::Image32 *img, float per);
55 
57  Image32::Image32 *P_sum);
59  Image32::Image32 *P_sum);
60 
61  } //end SparseGraph namespace
62 } //end gft namespace
63 
64 #endif
65 
void Orient2DigraphInner(SparseGraph *sg, Image32::Image32 *P_sum)
Definition: gft_sparsegraph.cpp:273
struct gft::SparseGraph::_sparseGraph SparseGraph
Definition: gft_sparsegraph.h:18
void InvertArcsDigraph(SparseGraph *sg)
Definition: gft_sparsegraph.cpp:236
Definition: gft_image32.h:14
int ** n_link
Definition: gft_sparsegraph.h:21
Definition: gft_adjrel.h:9
SparseGraph * Clone(SparseGraph *g)
SparseGraph * Create(int ncols, int nrows, AdjRel::AdjRel *A)
Definition: gft_sparsegraph.cpp:101
Image32::Image32 * ArcWeightImage(SparseGraph *sg)
Definition: gft_sparsegraph.cpp:166
Header file for common definitions and function prototypes.
int Wmax
Definition: gft_sparsegraph.h:20
void SuppressZeroWeightedArcs(SparseGraph *g)
Definition: gft_sparsegraph.cpp:336
int type
Definition: gft_sparsegraph.h:19
void Orient2Digraph(SparseGraph *sg, Image32::Image32 *img, float per)
Definition: gft_sparsegraph.cpp:199
SparseGraph * ByWeightImage(Image32::Image32 *W, float r)
Definition: gft_sparsegraph.cpp:46
int nrows
Definition: gft_sparsegraph.h:22
int ncols
Definition: gft_sparsegraph.h:22
void Pow(SparseGraph *sg, int power, int max)
void Destroy(SparseGraph **sg)
Definition: gft_sparsegraph.cpp:126
SparseGraph * Convert2Symmetric(SparseGraph *g, int method)
Definition: gft_sparsegraph.cpp:420
void ChangeType(SparseGraph *g, int type)
void Orient2DigraphOuter(SparseGraph *sg, Image32::Image32 *P_sum)
Definition: gft_sparsegraph.cpp:304
SparseGraph * ByAbsDiff(Image32::Image32 *img, float r)
AdjRel::AdjRel * A
Definition: gft_sparsegraph.h:23
int get_edge_index(int p, int q, SparseGraph *g)
Definition: gft_sparsegraph.cpp:84