VIP: Volume Image Processing


morpho.h
Go to the documentation of this file.
1/*****************************************************************************
2 * PROJECT : V.I.P. Library
3 * MODULE NAME : vip/morpho.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 : Diverses constantes et procedures liees aux cartes de
11 * distance
12 * jfmangin@cea.fr
13 *
14 *****************************************************************************
15 *
16 * USED MODULES :
17 *
18 *****************************************************************************
19 * REVISIONS : DATE | AUTHOR | DESCRIPTION
20 *--------------------|--------------|----------------------------------------
21 * / / | |
22 *****************************************************************************/
23
24
25#ifndef VIP_MORPHO_H
26#define VIP_MORPHO_H
27
28#ifdef __cplusplus
29 extern "C" {
30#endif
31
32#define CHAMFER_BALL_2D 77
33#define CHAMFER_BALL_3D 78
34
35#define FRONT_PROPAGATION 81
36#define CHAMFER_TRANSFORMATION 82
37
38#define MINIMA 11
39#define MAXIMA 12
40#define STRICTMINIMA 13
41#define STRICTMAXIMA 14
42
43#define VIP_GEODESIC_DEPTH 17
44#define VIP_BIRDFLY_DEPTH 18
45
46/*NB: a good method should cope with morphomath methods*/
47/*---------------------------------------------------------------------------*/
48extern Volume *VipLocalExtrema(Volume *vol, int connectivity, int forbidden, int extrematype);
49/*---------------------------------------------------------------------------*/
50
51/*----------------------------------------------------------------------------*/
53 Volume *vol,
54 Volume *label,
55 int connectivity,
56 int domain,
57 int forbidden,
58 int nseed,
59 int hight_threshold
60);
61/*---------------------------------------------------------------------------*/
62/*----------------------------------------------------------------------------*/
64 Volume *vol,
65 Volume *saddle_point,
66 int connectivity_extrema,
67 int mode,
68 int domain,
69 int forbidden,
70 int outside,
71 int hight_threshold
72);
73/*---------------------------------------------------------------------------*/
74/*--------------------------------------------------------------------*/
75extern Volume *ConvertBrainToSaddlePoint(Volume *brain, float sigma, int bwidth, float threshold);
76/*--------------------------------------------------------------------*/
77/*----------------------------------------------------------------------------*/
78extern int VipDilation(
79 Volume *vol,
80 int mode,
81 float size
82);
83/*---------------------------------------------------------------------------*/
84
85/*----------------------------------------------------------------------------*/
87 Volume *vol,
88 float size,
89 int connectivity,
90 int mode
91);
92/*---------------------------------------------------------------------------*/
93/*----------------------------------------------------------------------------*/
95 Volume *vol,
96 float size,
97 int xmask,
98 int ymask,
99 int zmask,
100 float mult_factor,
101 int mode
102);
103/*---------------------------------------------------------------------------*/
104/*----------------------------------------------------------------------------*/
106 Volume *vol,
107 int domain,
108 int outside_domain,
109 float size,
110 int xmask,
111 int ymask,
112 int zmask,
113 float mult_factor
114);
115/*---------------------------------------------------------------------------*/
116
117/*---------------------------------------------------------------------------*/
119 Volume *vol1,
120 Volume *vol2,
121 int nb_iteration,
122 int domain,
123 int outside_domain,
124 int front_mode
125);
126/*-------------------------------------------------------------------------*/
127
128/*----------------------------------------------------------------------------*/
129extern int VipErosion(
130 Volume *vol,
131 int mode,
132 float size
133);
134/*---------------------------------------------------------------------------*/
135
136/*----------------------------------------------------------------------------*/
138 Volume *vol,
139 float size,
140 int connectivity,
141 int mode
142);
143/*---------------------------------------------------------------------------*/
144/*----------------------------------------------------------------------------*/
146 Volume *vol,
147 float size,
148 int xmask,
149 int ymask,
150 int zmask,
151 float mult_factor,
152 int mode
153);
154/*---------------------------------------------------------------------------*/
155
156/*----------------------------------------------------------------------------*/
157extern int VipClosing(
158 Volume *vol,
159 int mode,
160 float size
161);
162/*---------------------------------------------------------------------------*/
163
164/*----------------------------------------------------------------------------*/
166 Volume *vol,
167 float size,
168 int xmask,
169 int ymask,
170 int zmask,
171 float mult_factor,
172 int mode
173);
174/*---------------------------------------------------------------------------*/
175
176/*----------------------------------------------------------------------------*/
178 Volume *vol,
179 float size,
180 int connectivity,
181 int mode
182);
183/*---------------------------------------------------------------------------*/
184/*----------------------------------------------------------------------------*/
185extern int VipOpening(
186 Volume *vol,
187 int mode,
188 float size
189);
190/*---------------------------------------------------------------------------*/
191
192/*---------------------------------------------------------------------------*/
193
195 Volume *vol,
196 float size,
197 int connectivity,
198 int mode
199);
200/*---------------------------------------------------------------------------*/
201
202/*---------------------------------------------------------------------------*/
204 Volume *vol,
205 float size,
206 int xmask,
207 int ymask,
208 int zmask,
209 float mult_factor,
210 int mode
211);
212/*---------------------------------------------------------------------------*/
213
214/*---------------------------------------------------------------------------*/
216/*---------------------------------------------------------------------------*/
217
218/*---------------------------------------------------------------------------*/
219extern Volume *VipGrayLevelPlanDilation(Volume *vol, int connectivity, int forbidden);
220/*---------------------------------------------------------------------------*/
221
222/*---------------------------------------------------------------------------*/
223extern Volume *VipGrayLevelPlanErosion(Volume *vol, int connectivity, int forbidden);
224/*---------------------------------------------------------------------------*/
225
226/*---------------------------------------------------------------------------*/
227extern Volume *VipGrayLevelPlanDilationErosion(Volume *vol, int connectivity, int forbidden);
228/*---------------------------------------------------------------------------*/
229
230/*---------------------------------------------------------------------------*/
231extern Volume *VipGrayLevelPlanErosionDilation(Volume *vol, int connectivity, int forbidden);
232/*---------------------------------------------------------------------------*/
233
234
235#ifdef __cplusplus
236 }
237#endif
238
239#endif /* VIP_MORPHO_H */
int VipOpening(Volume *vol, int mode, float size)
int VipCustomizedChamferOpening(Volume *vol, float size, int xmask, int ymask, int zmask, float mult_factor, int mode)
int VipCustomizedGeodesicChamferDilation(Volume *vol, int domain, int outside_domain, float size, int xmask, int ymask, int zmask, float mult_factor)
int VipCustomizedChamferDilation(Volume *vol, float size, int xmask, int ymask, int zmask, float mult_factor, int mode)
int VipCustomizedChamferClosing(Volume *vol, float size, int xmask, int ymask, int zmask, float mult_factor, int mode)
Volume * VipGrayLevelPlanDilationErosion(Volume *vol, int connectivity, int forbidden)
int VipConnectivityChamferErosion(Volume *vol, float size, int connectivity, int mode)
Volume * VipGrayLevelPlanErosion(Volume *vol, int connectivity, int forbidden)
Volume * VipGrayLevelPlanDilation(Volume *vol, int connectivity, int forbidden)
Volume * VipLocalExtrema(Volume *vol, int connectivity, int forbidden, int extrematype)
int VipClosing(Volume *vol, int mode, float size)
int VipConnectivityChamferClosing(Volume *vol, float size, int connectivity, int mode)
int VipCustomizedChamferErosion(Volume *vol, float size, int xmask, int ymask, int zmask, float mult_factor, int mode)
Volume * ConvertBrainToSaddlePoint(Volume *brain, float sigma, int bwidth, float threshold)
Volume * VipIntersectionDirectionalGrayLevelClosing(Volume *vol)
int VipDilation(Volume *vol, int mode, float size)
int VipComputeWatershedVoronoi(Volume *vol, Volume *label, int connectivity, int domain, int forbidden, int nseed, int hight_threshold)
int VipConnectivityChamferDilation(Volume *vol, float size, int connectivity, int mode)
Volume * VipSulcalRootsWatershedVoronoi(Volume *vol, Volume *saddle_point, int connectivity_extrema, int mode, int domain, int forbidden, int outside, int hight_threshold)
int VipHomotopicInsideVolumeDilation(Volume *vol1, Volume *vol2, int nb_iteration, int domain, int outside_domain, int front_mode)
int VipConnectivityChamferOpening(Volume *vol, float size, int connectivity, int mode)
int VipErosion(Volume *vol, int mode, float size)
Volume * VipGrayLevelPlanErosionDilation(Volume *vol, int connectivity, int forbidden)