VIP: Volume Image Processing


deriche_static.h
Go to the documentation of this file.
1/*****************************************************************************
2 * PROJECT : V.I.P. Library
3 * MODULE NAME : vip/deriche_static.h * TYPE : Header
4 * AUTHOR : MANGIN J.F. * CREATION : 04/01/1997
5 * VERSION : 0.1 * REVISION :
6 * LANGUAGE : C * EXAMPLE :
7 * DEVICE : Sun SPARC Station 5
8 *****************************************************************************
9 *
10 * DESCRIPTION : Informations privees du package deriche
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_DERICHE_STATIC_H
25#define VIP_DERICHE_STATIC_H
26
27#ifndef M_PI /* defini dans <math.h> seulement sur Sun, Borland, etc. */
28#define M_PI 3.14159265358979323846
29#endif
30
31#define EPSILON 0.01
32
33#include <vip/deriche/deriche_gen_static.h>
34#include <vip/deriche/extedge_gen_static.h>
35
36#define D_S16BITMAX 32500
37#define D_S8BITMAX 125
38
39/*----------------------------------------------------------------------------*/
41Volume *newv,
42Volume *gx,
43Volume *gy,
44Volume *gz,
45float gxabsmax,
46float gyabsmax,
47float gzabsmax,
48float threshold);
49/*----------------------------------------------------------------------------*/
50
51/*------------------------------------------------------------------------------*/
53float alpha,
54float *afl1,
55float *afl2,
56float *bfl1,
57float *bfl2,
58float *aflr1,
59float *aflr2);
60/*------------------------------------------------------------------------------*/
61
62/*------------------------------------------------------------------------------*/
63/* computation of the smoothing for a line "input" of length "dim" */
64/* the result is stored in "output", "work is used for computation */
65/* the coefficients are already computed */
66extern void SmoothingDeriche(
67float *input,
68float *output,
69float *work,
70float a1,
71float a2,
72float a11,
73float a22,
74float b1,
75float b2,
76int dim);
77/*------------------------------------------------------------------------------*/
78
79/*----------------------------------------------------------------------------*/
81Volume *fvol,
82Volume *gx,
83Volume *gy,
84Volume *gz,
85float gxabsmax,
86float gyabsmax,
87float gzabsmax,
88float threshold);
89/*----------------------------------------------------------------------------*/
90
91/*------------------------------------------------------------------------------*/
93 float alpha,
94 float *afd1,
95 float *bfd1,
96 float *bfd2);
97/*------------------------------------------------------------------------------*/
98
99/*------------------------------------------------------------------------------*/
100/* computation of the first derivative for a line "input" of length "dim" */
101/* the result is stored in "output", "work is used for computation */
102/* the coefficients are already computed */
103extern void GradientDeriche(
104float *input,
105float *output,
106float *work,
107float a1,
108float b1,
109float b2,
110int dim);
111/*------------------------------------------------------------------------------*/
112
113/*------------------------------------------------------------------------------*/
115float alpha,
116float *a1,
117float *a2,
118float *b1,
119float *b2);
120
121/*------------------------------------------------------------------------------*/
123float a1,
124float a2,
125float b1,
126float b2,
127float *input,
128float *output,
129float *work,
130int dim);
131/*------------------------------------------------------------------------------*/
132
133/*------------------------------------------------------------------------------*/
135 float *gx,
136 float *gy,
137 float *gn,
138 int size);
139/*------------------------------------------------------------------------------*/
140
141/*------------------------------------------------------------------------------*/
143 float *gx,
144 float *gy,
145 float *gn,
146 float *gext,
147 int xsize,
148 int ysize,
149 float threshold
150);
151/*------------------------------------------------------------------------------*/
152
153/*------------------------------------------------------------------------------*/
155Volume *vol,
156float alpha);
157/*------------------------------------------------------------------------------*/
158
159/*------------------------------------------------------------------------------*/
161Volume *vol,
162float alpha);
163/*------------------------------------------------------------------------------*/
164
165
166/*------------------------------------------------------------------------------*/
168Volume *vol,
169float alpha);
170/*------------------------------------------------------------------------------*/
171
172/*------------------------------------------------------------------------------*/
174Volume *vol,
175float alpha);
176/*------------------------------------------------------------------------------*/
177
178/*------------------------------------------------------------------------------*/
180Volume *vol,
181float alpha);
182/*------------------------------------------------------------------------------*/
183
184
185/*------------------------------------------------------------------------------*/
187Volume *vol,
188float alpha);
189/*------------------------------------------------------------------------------*/
190
191/*------------------------------------------------------------------------------*/
193float *p1,
194float *p2,
195float *output,
196float *work,
197float afl1_g,
198float bfl1_g,
199float bfl2_g,
200int xsize,
201int ysize);
202/*------------------------------------------------------------------------------*/
203
204/*------------------------------------------------------------------------------*/
206float *p1,
207float *p2,
208float *input,
209float *output,
210float *work,
211float afl1_g,
212float bfl1_g,
213float bfl2_g,
214int xsize,
215int ysize);
216/*------------------------------------------------------------------------------*/
217/*------------------------------------------------------------------------------*/
219float *p1,
220float *p2,
221float *output,
222float *work,
223float afl1,
224float afl2,
225float aflr1,
226float aflr2,
227float bfl1,
228float bfl2,
229int xsize,
230int ysize);
231/*------------------------------------------------------------------------------*/
232
233/*------------------------------------------------------------------------------*/
235float *p1,
236float *p2,
237float *input,
238float *output,
239float *work,
240float afl1,
241float afl2,
242float aflr1,
243float aflr2,
244float bfl1,
245float bfl2,
246int xsize,
247int ysize);
248/*------------------------------------------------------------------------------*/
249/*------------------------------------------------------------------------------*/
251Volume *vol,
252float alpha);
253/*------------------------------------------------------------------------------*/
254/*------------------------------------------------------------------------------*/
256Volume *vol,
257float alpha);
258/*------------------------------------------------------------------------------*/
259
260/*------------------------------------------------------------------------------*/
262Volume *vol,
263float alpha);
264/*------------------------------------------------------------------------------*/
265
266/*------------------------------------------------------------------------------*/
268Volume *vol,
269float alpha);
270/*------------------------------------------------------------------------------*/
271
272
273/*------------------------------------------------------------------------------*/
274#endif /* VIP_DERICHE_STATIC_H */
void GradientDericheAlongColumns(float *p1, float *p2, float *input, float *output, float *work, float afl1_g, float bfl1_g, float bfl2_g, int xsize, int ysize)
void CoefSmoothingDeriche(float alpha, float *afl1, float *afl2, float *bfl1, float *bfl2, float *aflr1, float *aflr2)
int VolumeSmoothingDericheAlongSlices(Volume *vol, float alpha)
int Compute3DNorm(Volume *newv, Volume *gx, Volume *gy, Volume *gz, float gxabsmax, float gyabsmax, float gzabsmax, float threshold)
int VolumeGradientDericheAlongColumns(Volume *vol, float alpha)
int VolumeGradientDericheAlongSlices(Volume *vol, float alpha)
void LaplacianDeriche(float a1, float a2, float b1, float b2, float *input, float *output, float *work, int dim)
int VolumeSmoothingDericheAlongLines(Volume *vol, float alpha)
int VolumeDeriche3DSmoothing(Volume *vol, float alpha)
int VolumeGradientDericheAlongLines(Volume *vol, float alpha)
void SmoothingDericheAlongLines(float *p1, float *p2, float *output, float *work, float afl1, float afl2, float aflr1, float aflr2, float bfl1, float bfl2, int xsize, int ysize)
void SmoothingDeriche(float *input, float *output, float *work, float a1, float a2, float a11, float a22, float b1, float b2, int dim)
int VolumeGradientDeriche3DZ(Volume *vol, float alpha)
void CoefLaplacianDeriche(float alpha, float *a1, float *a2, float *b1, float *b2)
int Extract3DMaxima(Volume *fvol, Volume *gx, Volume *gy, Volume *gz, float gxabsmax, float gyabsmax, float gzabsmax, float threshold)
void SmoothingDericheAlongColumns(float *p1, float *p2, float *input, float *output, float *work, float afl1, float afl2, float aflr1, float aflr2, float bfl1, float bfl2, int xsize, int ysize)
void Extract2dMaximaFloat(float *gx, float *gy, float *gn, float *gext, int xsize, int ysize, float threshold)
void GradientDeriche(float *input, float *output, float *work, float a1, float b1, float b2, int dim)
void Compute2dGradientNorme(float *gx, float *gy, float *gn, int size)
void CoefGradientDeriche(float alpha, float *afd1, float *bfd1, float *bfd2)
void GradientDericheAlongLines(float *p1, float *p2, float *output, float *work, float afl1_g, float bfl1_g, float bfl2_g, int xsize, int ysize)
int VolumeGradientDeriche3DX(Volume *vol, float alpha)
int VolumeGradientDeriche3DY(Volume *vol, float alpha)
int VolumeSmoothingDericheAlongColumns(Volume *vol, float alpha)