VIP: Volume Image Processing


distmap_static.h
Go to the documentation of this file.
1/*****************************************************************************
2 * PROJECT : V.I.P. Library
3 * MODULE NAME : vip/distmap_static.h * TYPE : Header
4 * AUTHOR : MANGIN J.F. * CREATION : 05/10/1996
5 * VERSION : 0.1 * REVISION :
6 * LANGUAGE : C * EXAMPLE :
7 * DEVICE : Sun SPARC Station 5
8 *****************************************************************************
9 *
10 * DESCRIPTION : Informations privees du package distmap
11 * jfmangin@cea.fr
12 *
13 *****************************************************************************
14 *
15 * USED MODULES :
16 *
17 *****************************************************************************
18 * REVISIONS : DATE | AUTHOR | DESCRIPTION
19 *--------------------|--------------|----------------------------------------
20 * / / | |
21 *****************************************************************************/
22
23
24#ifndef VIP_DISTMAP_STATIC_H
25#define VIP_DISTMAP_STATIC_H
26
27#define CHAMFER_DOMAIN 32500
28#define CHAMFER_MASK_MAXSIZE 20
29#define VIP_OUTSIDE_DOMAIN 32501
30
31
32/*Warning: do not change these values, they are used for optimization purpose*/
33#define SWEEPING_FORWARD 1
34#define SWEEPING_BACKWARD 0
35
36#define LONG_BUCKET 50000 /*initial length of a bucket*/
37#define INCREMENT_BUCKET 200000 /*increment length of a bucket*/
38/* since during front propagation we use a thick front, the maximum
39number of bucket is limited */
40
41
42
43extern float VIP_USED_DISTMAP_MULTFACT;
44
45typedef struct distmap_mask_point {
46 int x;
47 int y;
48 int z;
49 int offset;
50 int dist;
52
60
61
62/*-----------------------------------------------------*/
64 Volume *vol,
65 int xsize,
66 int ysize,
67 int zsize,
68 DistmapMask **forward,
69 DistmapMask **backward
70);
71/*-----------------------------------------------------*/
72
73/*----------------------------------------------------------------*/
74extern void FreeMask (
76);
77/*----------------------------------------------------------------*/
78
79/*--------------------------------------------------------------------*/
81 Volume *vol,
82 DistmapMask *mask,
83 int borderlevel
84);
85/*--------------------------------------------------------------------*/
86
87/*--------------------------------------------------------------------*/
89 Volume *vol,
90 DistmapMask *mask,
91 int borderlevel
92);
93/*--------------------------------------------------------------------*/
94
95/*--------------------------------------------------------------------*/
97 Volume *vol,
98 Volume *label,
99 DistmapMask *mask,
100 int borderlevel
101);
102/*--------------------------------------------------------------------*/
103
104/*--------------------------------------------------------------------*/
106 Volume *vol,
107 Volume *label,
108 DistmapMask *mask,
109 int borderlevel
110);
111/*--------------------------------------------------------------------*/
112
113/*-------------------------------------------------------------------------*/
115Volume *vol
116);
117/*-------------------------------------------------------------------------*/
118/*-------------------------------------------------------------------------*/
120Volume *vol,
121int domain,
122int outside_domain
123);
124/*-------------------------------------------------------------------------*/
125
126/*-----------------------------------------------------*/
128 Volume *vol,
129 int xsize,
130 int ysize,
131 int zsize
132);
133/*-----------------------------------------------------*/
134
135/*--------------------------------------------------------------------*/
137 Volume *vol,
138 DistmapMask *mask,
139 int limit
140);
141/*--------------------------------------------------------------------*/
142
143/*--------------------------------------------------------------------*/
145 Volume *vol,
146 Volume *label,
147 DistmapMask *mask
148);
149/*--------------------------------------------------------------------*/
150
151/*-----------------------------------------------------*/
153 Volume *vol,
154 int connectivity
155);
156/*-----------------------------------------------------*/
157
158/*--------------------------------------------------------------------*/
160 Volume *vol,
161 DistmapMask *mask,
162 int limit
163);
164/*--------------------------------------------------------------------*/
165
166/*--------------------------------------------------------------------*/
168 Volume *vol,
169 Volume *label,
170 DistmapMask *mask
171);
172/*--------------------------------------------------------------------*/
173
174#endif /* VIP_DISTMAP_STATIC_H */
void VolumeChamferPreparation(Volume *vol)
int CreateAndSplitCubicMask(Volume *vol, int xsize, int ysize, int zsize, DistmapMask **forward, DistmapMask **backward)
int ForwardSweepingVoronoiWithBorder(Volume *vol, Volume *label, DistmapMask *mask, int borderlevel)
void FreeMask(DistmapMask *m)
int FrontPropagation(Volume *vol, DistmapMask *mask, int limit)
int BackwardSweepingWithBorder(Volume *vol, DistmapMask *mask, int borderlevel)
DistmapMask * CreateConnectivityMask(Volume *vol, int connectivity)
float VIP_USED_DISTMAP_MULTFACT
int FrontPropagationVoronoi(Volume *vol, Volume *label, DistmapMask *mask)
struct distmap_mask_point DistmapMask_point
void VolumeChamferPreparationGeodesic(Volume *vol, int domain, int outside_domain)
int BackwardSweepingVoronoiWithBorder(Volume *vol, Volume *label, DistmapMask *mask, int borderlevel)
DistmapMask * CreateSquareMask(Volume *vol, int xsize, int ysize, int zsize)
int FrontPropagationConnectivity(Volume *vol, DistmapMask *mask, int limit)
int ForwardSweepingWithBorder(Volume *vol, DistmapMask *mask, int borderlevel)
struct distmap_mask DistmapMask
int FrontPropagationConnectivityVoronoi(Volume *vol, Volume *label, DistmapMask *mask)
DistmapMask_point * first_point