README.edges3D
1
2DESCRIPTION
3-----------
4
5This is a little package containing code
6for edges extraction based on the following
7publication (among others):
8 * "Recursive filtering and edge tracking: two primary tools
9 for 3-D edge detection", O. Monga, R. Deriche,
10 G. Malandain and J.-P. Cocquerez, Image and Vision
11 Computing 4:9, pp 203-214, August 1991.
12 * "Recursively Implementing The Gaussian and Its Derivatives",
13 R. Deriche, International Conference On Image Processing,
14 pp 263-267, Singapore, September 1992. Also INRIA research
15 report.
16
17It should be only use it for research purposes with no commercialization
18interests. You are not allowed to distribute it outside your laboratory.
19The authors thank you to mention them in forthcoming related publications.
20
21CONTENTS
22--------
23
24This package should contain the following directories
25
26src/: source and header files
27
28 recline.[c,h]: recursive filtering of a line (a 1D array)
29 recbuffer.[c,h]: recursive filtering of a buffer (a [1,2,3]D array)
30 according that the filtering is separable
31 extrema.[c,h]: extraction of 2D or 3D edges
32 main (most important) functions are:
33 Extract_Gradient_Maxima_2D()
34 Extract_Gradient_Maxima_3D()
35 convert.[c.h]: conversion between buffers of different types
36 connexe.[c.h]: connected components extraction, may be used for
37 hysteresis thresholding, to count and label
38 connected components. Design of other tools
39 (as components containing seeds, or holes filling)
40 should be really easy.
41 typedefs.h: some common defintions
42 iopnm.[c.h]: home made I/O routines for PBM/PGM/PPM raw images
43 test-edges.c: a test program to show how to use the main functions
44 test-edges-pnm.c: a test program to extract edges in PBM/PGM/PPM raw images
45 test-hyster-pnm.c: a test program to perform hysteresis thresholding
46 in PBM/PGM/PPM raw images
47
48 images/: some test images *.data (data without headers) to be processed
49 with test-edges
50
51 square64x64.data: a 64^2 2D synthetical image (unsigned char)
52 disk64x64x64.data: a 64^3 3D synthetical image (unsigned char)
53 mri64x64x64.data: a 64^3 3D medical image (unsigned char)
54 *.extrema are the ground truth outputs (the ones I obtained at INRIA
55 with the same test program).
56 *.tmp are the output you will obtain.
57
58 greg-rmn.pgm, mona.pgm: two PBM/PGM/PPM raw images
59 (me and mona :-)
60 to be processed with test-edges-pnm, example:
61 %%% test-edges-pnm mona.pgm mona-edges.pgm
62 will generate edges of the image mona.pgm
63
64html/: a html documentation generated by c2man from the src/*.h files
65 in addition you will find index.html
66
67latex/: a tex documentation generated by c2man from the src/*.h files
68 in addition you will find main.tex main.dvi main.ps
69
70HOW TO USE IT
71-------------
72
73go into the src directory and compile the code:
74
75% cd src
76% make
77
78then (if everything is ok) you can reproduce the example from the web page
79 http://www-sop.inria.fr/epidaure/personnel/malandain/segment/edges.html
80i.e.
81
82% test-edges-pnm images/greg-rmn.pgm greg-rmn.ext
83
84test-edges-pnm works on 2D pgm image, you can use your favorite image
85format converter to convert your 2D images into that format.
86Otherwise, you may have a look on http://www.imagemagick.org/ or get xv
87to convert them manually (cf http://www.trilon.com/xv/),
88or you may try to build your own converter (see pgm.5 for the description
89for the format).
90
91This package has been designed to be used in some image processing library,
92thus one should look at test-edges.c to see how to call the different
93functions (especially in 3D).
94
95
96
97
98
99Gregoire Malandain
100gregoire.malandain@inria.fr
101
README_COMPILE_ZSS