source: soft/giet_vm/applications/rosenfeld/include/ecc_rosenfeld.h @ 772

Last change on this file since 772 was 772, checked in by meunier, 8 years ago
  • Ajout de l'application rosenfeld
  • Changement du nom du flag O_CREATE en O_CREAT
File size: 3.6 KB
Line 
1/* -------------------------*/
2/* --- ecc_rosenfield.h --- */
3/* ------------------------ */
4
5#ifndef _ECC_ROSENFELD_H_
6#define _ECC_ROSENFELD_H_
7
8//#include "def.h"
9////#include "nrc.h"
10//#include "util.h"
11//#include "ecc_common.h"
12 
13#ifdef __cplusplus
14#pragma message ("C++")
15extern "C" {
16#endif
17   
18uint32 FindRoot(uint32 *T, uint32 e);
19void SetRoot(uint32 *T, uint32 e, uint32 r);
20uint32 Find(uint32 *T, uint32 e);
21   
22uint32 Union0(uint32 *T, uint32 ei, uint32 ej);
23uint32 Union1(uint32 *T, uint32 ei, uint32 ej);
24uint32 Union2(uint32 *T, uint32 ei, uint32 ej);
25uint32 Union4(uint32 *T, uint32 e1, uint32 e2, uint32 e3, uint32 e4);
26
27uint32 updateTable_Rosenfeld         (uint32 *T, uint32 e, uint32 epsillon);
28uint32 updateTable_Features_Rosenfeld(uint32 *T, uint32 e, uint32 epsillon, RegionStats *Stats);
29   
30void Flatten(uint32 *T, int ne);
31int FlattenL(uint32 *T, int ne);
32
33uint32 solveTable_Rosenfeld(    uint32 *T, uint32 ne);
34uint32 solvePackTable_Rosenfeld(uint32 *T, uint32 ne);
35   
36uint32 solveTable_Features_Rosenfeld    (uint32 *T, uint32 ne, RegionStats *Stats);
37uint32 solvePackTable_Features_Rosenfeld(uint32 *T, uint32 ne, RegionStats *Stats);
38
39   
40void solveTableE_Rosenfeld_Montanvert(uint32 *T, uint32 ne);
41void solveTableA_Rosenfeld_Montanvert(uint32 *T, uint32 ne);
42void solveTable_Rosenfeld_Montanvert (uint32 *T, uint32 ne);
43   
44// ---------------------------
45// -- line-labeling ----------
46// ---------------------------
47   
48uint32 lineLabeling_Rosenfeld_UF_Org1_4C(uint8 **X, int i, int width, uint32 **E, uint32 *T, uint32 ne, uint32 nemax);
49uint32 lineLabeling_Rosenfeld_UF_Org1_8C(uint8 **X, int i, int width, uint32 **E, uint32 *T, uint32 ne, uint32 nemax);
50   
51uint32 lineLabeling_Rosenfeld_UF_Org2_4C(uint8 **X, int i, int width, uint32 **E, uint32 *T, uint32 ne, uint32 nemax);
52
53uint32 lineLabeling_Rosenfeld_UF_Org3_4C(uint8 **X, int i, int width, uint32 **E, uint32 *T, uint32 ne, uint32 nemax);
54uint32 lineLabeling_Rosenfeld_UF_Org3_8C(uint8 **X, int i, int width, uint32 **E, uint32 *T, uint32 ne, uint32 nemax);
55   
56// ----------------------------
57// -- image-labeling ----------
58// ----------------------------
59uint32 Rosenfeld_UF_Org1_4C_pass1(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 nemax, RegionStats *Stats);
60uint32 Rosenfeld_UF_Org1_8C_pass1(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 nemax, RegionStats *Stats);
61
62uint32 Rosenfeld_UF_Org2_4C_pass1(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 nemax, RegionStats *Stats);
63
64uint32 Rosenfeld_UF_Org3_4C_pass1(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 nemax, RegionStats *Stats);
65uint32 Rosenfeld_UF_Org3_8C_pass1(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 nemax, RegionStats *Stats);
66
67// -----------------------------------------
68// -- interface labeling function ----------
69// -----------------------------------------
70uint32 Rosenfeld_UF_Org1_4C(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 *A, uint32 nemax, RegionStats *Stats);
71uint32 Rosenfeld_UF_Org1_8C(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 *A, uint32 nemax, RegionStats *Stats);
72   
73uint32 Rosenfeld_UF_Org2_4C(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 *A, uint32 nemax, RegionStats *Stats);
74   
75uint32 Rosenfeld_UF_Org3_4C(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 *A, uint32 nemax, RegionStats *Stats); 
76uint32 Rosenfeld_UF_Org3_8C(uint8 **X, int height, int width, uint32 **E, uint32 *T, uint32 *A, uint32 nemax, RegionStats *Stats);
77
78#ifdef __cplusplus
79}
80#endif
81
82#endif /* _ECC_ROSENFELD_H_ */
Note: See TracBrowser for help on using the repository browser.