VIP: Volume Image Processing


connex.h
Go to the documentation of this file.
1/*****************************************************************************
2 * PROJECT : V.I.P. Library
3 * MODULE NAME : vip/connex.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 a la connexite
11 * jfmangin@cea.fr
12 *
13 *****************************************************************************
14 *
15 * USED MODULES :
16 *
17 *****************************************************************************
18 * REVISIONS : DATE | AUTHOR | DESCRIPTION
19 *--------------------|--------------|----------------------------------------
20 * / / | |
21 *****************************************************************************/
22
23
24
25#ifndef VIP_CONNEX_H
26#define VIP_CONNEX_H
27
28#ifdef __cplusplus
29 extern "C" {
30#endif
31
32#include <vip/volume.h>
33#include <vip/bucket.h>
34#include <vip/connex/3Dconnex_gen.h>
35
36#define CONNECTIVITY_4 4
37#define CONNECTIVITY_4_SAGITTAL 40
38#define CONNECTIVITY_4_CORONAL 41
39#define CONNECTIVITY_6 6
40#define CONNECTIVITY_8 8
41#define CONNECTIVITY_8_SAGITTAL 80
42#define CONNECTIVITY_8_CORONAL 81
43#define CONNECTIVITY_18 18
44#define CONNECTIVITY_26 26
45#define CONNECTIVITY_2x26 124
46#define CONNECTIVITY_3x26 342
47#define CONNECTIVITY_4x26 728
48
49
50#define CONNEX_BINARY 30
51#define CONNEX_GREYLEVEL 31
52#define CONNEX_LABEL 32
53#define CONNEX_ORDER 33
54
55#define HYSTE_NUMBER 40
56#define HYSTE_PERCENT 41
57
58typedef struct {
61 int *offset;
62 Vip3DPoint_S16BIT *xyz_offset;
64
65/*----------------------------------------------------------------------------*/
67 Vip3DBucket_S16BIT *buck,
68 Volume *vol,
70 int label);
71/*----------------------------------------------------------------------------*/
72
73/*----------------------------------------------------------------------------*/
75char *thestring
76);
77/*----------------------------------------------------------------------------*/
78
79/*----------------------------------------------------------------------------*/
81Volume *volume,
82int connectivity);
83/*----------------------------------------------------------------------------*/
84
85/*----------------------------------------------------------------------------*/
88);
89/*----------------------------------------------------------------------------*/
90
91
92/*----------------------------------------------------------------------------*/
93Vip3DBucket_S16BIT *VipGetFiltered3DConnex(
94 Volume *vol,
95 int connectivity,
96 int how);
97/*----------------------------------------------------------------------------*/
98
99/*----------------------------------------------------------------------------*/
100Vip3DBucket_S16BIT *VipGetDualFiltered3DConnex(
101 Volume *vol,
102 int connectivity,
103 int how);
104 /* returns the list of connected comp. which are deleted by the corresponding
105VipGetFiltered3DConnex*/
106 /* if how>0, it means all cc with strictly less than how points will be removed
107 if how<0, it means only the -how th will be preserved */
108/*----------------------------------------------------------------------------*/
109
110/*----------------------------------------------------------------------------*/
112 Volume *vol,
113 int connectivity,
114 int how,
115 float threshold,
116 int mode,
117 int param);
118 /* if how>0, it means all cc with strictly less than how points will be removed
119 if how<0, it means only the -how th will be preserved */
120/* follows a low thresholding. If mode==HYSTE_NUMBER, all cc with at least
121"param" points over threshold will be kept, if mode==HYSTE_PERCENT,
122all cc with percent points over threshold will be kept */
123/*----------------------------------------------------------------------------*/
124
125/*----------------------------------------------------------------------------*/
127 Volume *vol,
128 int connectivity,
129 int how,
130 float threshold,
131 int mode,
132 int param);
133 /* returns the list of connected comp. which are deleted by the corresponding
134VipGetHysteresisFiltered3DConnex*/
135 /* if how>0, it means all cc with strictly less than how points will be removed
136 if how<0, it means only the -how th will be preserved */
137/*----------------------------------------------------------------------------*/
138
139/*----------------------------------------------------------------------------*/
141 Volume *vol,
142 int connectivity,
143 int how,
144 int connex_mode,
145 int low_percent,
146 int high_percent,
147 int mode,
148 int param);
149/*VipHysteresisThresholding with percent of max*/
150/*----------------------------------------------------------------------------*/
151
152/*----------------------------------------------------------------------------*/
154 Volume *vol,
155 int connectivity,
156 int how,
157 int connex_mode,
158 float low_threshold,
159 float high_threshold,
160 int mode,
161 int param);
162 /* if how>0, it means all cc with strictly less than how points will be removed
163 if how<0, it means only the -how th will be preserved */
164/* If mode==HYSTE_NUMBER, all cc with at least
165"param" points over high_threshold will be kept, if mode==HYSTE_PERCENT,
166all cc with percent points over high_threshold will be kept */
167/*----------------------------------------------------------------------------*/
168/*----------------------------------------------------------------------------*/
170 Volume *vol,
171 int connectivity,
172 int how,
173 int mode);
174
175/*----------------------------------------------------------------------------*/
176
177#ifdef __cplusplus
178 }
179#endif
180
181#endif /* VIP_CONNEX_H */
int VipHysteresisThresholding(Volume *vol, int connectivity, int how, int connex_mode, float low_threshold, float high_threshold, int mode, int param)
VipConnectivityStruct * VipGetConnectivityStruct(Volume *volume, int connectivity)
int VipHysteresisPercentThresholding(Volume *vol, int connectivity, int how, int connex_mode, int low_percent, int high_percent, int mode, int param)
void VipFreeConnectivityStruct(VipConnectivityStruct *vcs)
Vip3DBucket_S16BIT * VipGetFiltered3DConnex(Volume *vol, int connectivity, int how)
int VipTestCoordBucketConnectedToLabel(Vip3DBucket_S16BIT *buck, Volume *vol, VipConnectivityStruct *vcs, int label)
int VipConvertStringToConnectivity(char *thestring)
Vip3DBucket_S16BIT * VipGetDualFiltered3DConnex(Volume *vol, int connectivity, int how)
int VipConnexVolumeFilter(Volume *vol, int connectivity, int how, int mode)
Vip3DBucket_S16BIT * VipGetHysteresisFiltered3DConnex(Volume *vol, int connectivity, int how, float threshold, int mode, int param)
Vip3DBucket_S16BIT * VipGetDualHysteresisFiltered3DConnex(Volume *vol, int connectivity, int how, float threshold, int mode, int param)
Vip3DPoint_S16BIT * xyz_offset
Definition connex.h:62
Definition param.h:3