VIP: Volume Image Processing


voi.h
Go to the documentation of this file.
1/****************************************************************************
2 * PROJECT : V.I.P. Library
3 * MODULE NAME : vip/voi.h * TYPE : Header
4 * AUTHOR : FROUIN V. * CREATION : 14/04/1999
5 * VERSION : 0.1 * REVISION :
6 * LANGUAGE : C++ * EXAMPLE :
7 * DEVICE : Sun SPARC
8 ****************************************************************************
9 *
10 * DESCRIPTION : Definition de volume d'interet pour Vip.
11 * Ces notions sont orientees pour les statistiques.
12 *
13 ****************************************************************************
14 *
15 * USED MODULES :
16 *
17 *
18 ****************************************************************************
19 * REVISIONS : DATE | AUTHOR | DESCRIPTION
20 *--------------------|--------------|---------------------------------------
21 * 08/09/99| V. Frouin | Ajout d'une zone explicite pour la
22 * | | gestion des postitions entieres en vue
23 * | | du re-echantillonnage LinearResamp
24 ****************************************************************************/
25
26#ifndef VIP_VOI_H
27#define VIP_VOI_H
28
29#ifdef __cplusplus
30 extern "C" {
31#endif
32
33
34#include <stddef.h>
35#include <math.h>
36
37#include <vip/volume.h>
38#include <vip/util.h>
39#include <vip/bucket.h>
40#include <vip/depla.h>
41#include <vip/nomen.h>
42
43
44
45#define VROI_LOADED 0x00000001
46#define VROI_RDY_FORARM 0x00000002
47#define VROI_ARMED 0x00000004
48#define VROI_RDY_FORITERATE 0x00000008
49#define VROI_ITERATED 0x00000010
50#define VROI_RDY_FORSTAT 0x00000020
51#define VROI_STATED 0x00000040
52
53#define VROI_RDY_FORCORR 0x00000080
54#define VROI_CORRED 0x00000100
55
56#define VROI_RDY_FOREDIT 0x00000200
57#define VROI_EDITED 0x00000400
58
59
60#define PVEC_CORR 1
61#define UN_CORR 2
62
63
64#define mVipRoiDepIsIdentity(dep) 0
65
66
67
68typedef struct
69{
70 float vol;
71 float mean;
72 float std;
73 float min;
74 float max;
76
77
78typedef struct
79{
80 /* compatibilite avec les modules i/o des */
81 /* necessite d'utiliser les signés... */
82 Vip3DBucket_S16BIT **ListeDePaquetDePoint;
83 /* structure bucket contrepartie des depla- */
84 /* cements entier pour linearresamp */
85 Vip3DBucket_U16BIT **ListeDePaquetDeDeplaEntier;
86 /* offset en terme de pointeurs */
88 /* liste de pointeurs sur les mesures */
90 /* */
91 /* */
92 /* Liste de stats struct 1 par temps et roi */
93 /* Classement par temps puis roi */
94 /* L'indice le plus rapide concerne les rois */
97 int NbVoi;
98 int *label; /* Ersatz du roi-name */
99 Volume *ReferenceImage;/* Image quantitative */
100 Volume *VoiImage; /* Image anatom de def des roi*/
102 int Etat;
103
104 Vip3DBucket_S16BIT **traLDPDP;
105 Vip3DBucket_U16BIT **traLDPDDE;
109 float ***traLDPDM;
110 float **t_traLDPDM;
111
112} VipVoi;
113
114
115/*---------------------------------------------------------------------------*/
116
118 Volume *image,
119 int *label,
120 int nb_label
121);
122/*---------------------------------------------------------------------------*/
123
124
125/*---------------------------------------------------------------------------*/
127 VipVoi *roi,
128 VipDeplacement *dep,
129 Volume *image
130);
131/*---------------------------------------------------------------------------*/
132
133/*---------------------------------------------------------------------------*/
135 VipVoi *roi,
136 VipDeplacementVector *depVector,
137 Volume *image
138);
139/*---------------------------------------------------------------------------*/
140
141/*---------------------------------------------------------------------------*/
143 VipVoi *roi
144);
145/*---------------------------------------------------------------------------*/
146
148
149/*---------------------------------------------------------------------------*/
150extern int VipFreeVoi(
151 VipVoi *roi
152);
153/*---------------------------------------------------------------------------*/
154
155
156/*---------------------------------------------------------------------------*/
158 VipVoi *roi
159);
160/*---------------------------------------------------------------------------*/
161/*---------------------------------------------------------------------------*/
163 VipVoi *voi,
164 VipMatrix_VDOUBLE *gtm
165);
166/*---------------------------------------------------------------------------*/
167
168/*---------------------------------------------------------------------------*/
170 VipVoi *roi,
171 FILE *stream,
172 VipNomenList *nomen,
173 int flag
174);
175/*---------------------------------------------------------------------------*/
176
177
178
179/*---------------------------------------------------------------------------*/
180extern VipVoi *VipVoiAllocate( Volume *label_vol, int *label, int nb );
181/*---------------------------------------------------------------------------*/
182
183
184/*---------------------------------------------------------------------------*/
186 VipVoi *voi
187 );
188/*---------------------------------------------------------------------------*/
189
190
191/*---------------------------------------------------------------------------*/
193 VipVoi *voi
194 );
195/*---------------------------------------------------------------------------*/
196
197
198/*---------------------------------------------------------------------------*/
200 VipVoi *voi
201 );
202/*---------------------------------------------------------------------------*/
203
204/*---------------------------------------------------------------------------*/
206 VipVoi *voi
207 );
208
209/*---------------------------------------------------------------------------*/
211 VipVoi *voi
212 );
213/*---------------------------------------------------------------------------*/
214/*---------------------------------------------------------------------------*/
216 VipVoi *voi
217 );
218/*---------------------------------------------------------------------------*/
219
220/*---------------------------------------------------------------------------*/
222 VipVoi *voi
223 );
224/*---------------------------------------------------------------------------*/
225
226/*---------------------------------------------------------------------------*/
228 VipVoi *voi
229 );
230/*---------------------------------------------------------------------------*/
231
232
233/*---------------------------------------------------------------------------*/
235 VipVoi *voi
236 );
237/*---------------------------------------------------------------------------*/
238
239/*---------------------------------------------------------------------------*/
241 VipVoi *voi
242 );
243/*---------------------------------------------------------------------------*/
244
245/*---------------------------------------------------------------------------*/
247 VipVoi *voi
248 );
249
250/*---------------------------------------------------------------------------*/
252 VipVoi *voi
253 );
254/*---------------------------------------------------------------------------*/
255/*---------------------------------------------------------------------------*/
257 VipVoi *voi
258 );
259/*---------------------------------------------------------------------------*/
260
261/*---------------------------------------------------------------------------*/
262extern Vip3DBucket_S16BIT *VipVoiFirstPtrBucket(
263 VipVoi *voi
264 );
265/*---------------------------------------------------------------------------*/
266
267/*---------------------------------------------------------------------------*/
268extern Vip3DBucket_U16BIT *VipVoiFirstPtrDepla(
269 VipVoi *voi
270 );
271/*---------------------------------------------------------------------------*/
272
273/*---------------------------------------------------------------------------*/
275 VipVoi *voi
276 );
277/*---------------------------------------------------------------------------*/
278
279/*---------------------------------------------------------------------------*/
281 VipVoi *voi
282 );
283/*---------------------------------------------------------------------------*/
284
285/*---------------------------------------------------------------------------*/
287 VipVoi *voi
288 );
289/*---------------------------------------------------------------------------*/
290/*---------------------------------------------------------------------------*/
292 VipVoi *voi
293 );
294/*---------------------------------------------------------------------------*/
295/*---------------------------------------------------------------------------*/
297 VipVoi *voi
298 );
299/*---------------------------------------------------------------------------*/
300/*---------------------------------------------------------------------------*/
301extern float **VipVoiFirstPtrMes(
302 VipVoi *voi
303 );
304
305/*---------------------------------------------------------------------------*/
306/*---------------------------------------------------------------------------*/
308 VipVoi *voi
309 );
310/*---------------------------------------------------------------------------*/
311/*---------------------------------------------------------------------------*/
312extern Vip3DBucket_S16BIT *VipVoiNextPtrBucket(
313 VipVoi *vo
314 );
315/*---------------------------------------------------------------------------*/
316/*---------------------------------------------------------------------------*/
317extern Vip3DBucket_U16BIT *VipVoiNextPtrDepla(
318 VipVoi *voi
319 );
320/*---------------------------------------------------------------------------*/
321/*---------------------------------------------------------------------------*/
323 VipVoi *voi
324 );
325/*---------------------------------------------------------------------------*/
326/*---------------------------------------------------------------------------*/
328 VipVoi *voi
329 );
330/*---------------------------------------------------------------------------*/
331/*---------------------------------------------------------------------------*/
333 VipVoi *voi
334 );
335/*---------------------------------------------------------------------------*/
336/*---------------------------------------------------------------------------*/
338 VipVoi *voi
339 );
340/*---------------------------------------------------------------------------*/
341/*---------------------------------------------------------------------------*/
343 VipVoi *voi
344 );
345/*---------------------------------------------------------------------------*/
346/*---------------------------------------------------------------------------*/
347extern float **VipVoiNextPtrMes(
348 VipVoi *voi
349 );
350/*---------------------------------------------------------------------------*/
351/*---------------------------------------------------------------------------*/
353 VipVoi *voi
354 );
355/*---------------------------------------------------------------------------*/
356
357#ifdef __cplusplus
358 }
359#endif
360
361#endif
struct vipintBucket VipIntBucket
struct deplacement VipDeplacement
float std
Definition voi.h:72
float mean
Definition voi.h:71
float min
Definition voi.h:73
float vol
Definition voi.h:70
float max
Definition voi.h:74
Definition voi.h:79
int Etat
Definition voi.h:102
float *** traLDPDM
Definition voi.h:109
Statistics *** traLDS
Definition voi.h:107
Statistics ** t_traLDS
Definition voi.h:108
Statistics ** t_traLDSC
Definition voi.h:108
VipDeplacement * deplacement
Definition voi.h:101
VipIntBucket ** ListeDePaquetDoffset
Definition voi.h:87
int * label
Definition voi.h:98
float ** t_traLDPDM
Definition voi.h:110
VipIntBucket ** traLDPDO
Definition voi.h:106
float *** ListeDePaquetDeMesure
Definition voi.h:89
Statistics *** ListeDeStat
Definition voi.h:95
Vip3DBucket_S16BIT ** ListeDePaquetDePoint
Definition voi.h:82
Statistics *** ListeDeStatCorr
Definition voi.h:96
Vip3DBucket_U16BIT ** ListeDePaquetDeDeplaEntier
Definition voi.h:85
Statistics *** traLDSC
Definition voi.h:107
Volume * ReferenceImage
Definition voi.h:99
Vip3DBucket_S16BIT ** traLDPDP
Definition voi.h:104
Volume * VoiImage
Definition voi.h:100
Vip3DBucket_U16BIT ** traLDPDDE
Definition voi.h:105
int NbVoi
Definition voi.h:97
int VipVoiAllocateDeplaData(VipVoi *voi)
int VipVoiGetFunctionalValueFromVidaWithMC(VipVoi *roi, VipDeplacementVector *depVector, Volume *image)
int VipFreeVoi(VipVoi *roi)
Statistics ** VipVoiFirstPtrStat(VipVoi *voi)
Statistics * VipVoiNextPtrStatCorrVector(VipVoi *voi)
Vip3DBucket_U16BIT * VipVoiNextPtrDepla(VipVoi *voi)
int VipVoiAllocateStatCorr(VipVoi *voi)
int VipGetVoiStatus(VipVoi *roi)
VipVoi * VipVoiReadFromVolume_S16BIT(Volume *image, int *label, int nb_label)
int VipVoiAllocateStatData(VipVoi *voi)
Statistics ** VipVoiFirstPtrStatCorr(VipVoi *voi)
int VipVoiAllocateStatCorrData(VipVoi *voi)
float ** VipVoiFirstPtrMes(VipVoi *voi)
int VipVoiAllocateBucket(VipVoi *voi)
int VipVoiAllocateMesData(VipVoi *voi)
VipIntBucket * VipVoiNextPtrOffset(VipVoi *voi)
int VipVoiAllocateDepla(VipVoi *voi)
int VipVoiStreamStat(VipVoi *roi, FILE *stream, VipNomenList *nomen, int flag)
Statistics * VipVoiNextPtrStatVector(VipVoi *voi)
int VipVoiAllocateOffsetData(VipVoi *voi)
int VipVoiComputeStat(VipVoi *roi)
Statistics * VipVoiFirstPtrStatVector(VipVoi *voi)
VipIntBucket * VipVoiFirstPtrOffset(VipVoi *voi)
Statistics ** VipVoiNextPtrStatCorr(VipVoi *voi)
Vip3DBucket_S16BIT * VipVoiNextPtrBucket(VipVoi *vo)
Statistics * VipVoiFirstPtrStatCorrVector(VipVoi *voi)
int VipVoiAllocateOffset(VipVoi *voi)
int VipVoiAllocateStat(VipVoi *voi)
int VipVoiResetDeplaData(VipVoi *voi)
int VipVoiAllocateMes(VipVoi *voi)
int VipVoiResetOffsetData(VipVoi *voi)
int VipVoiGTMCorrection(VipVoi *voi, VipMatrix_VDOUBLE *gtm)
Vip3DBucket_U16BIT * VipVoiFirstPtrDepla(VipVoi *voi)
float * VipVoiFirstPtrMesVector(VipVoi *voi)
int VipVoiGetFunctionalValueFromVida(VipVoi *roi, VipDeplacement *dep, Volume *image)
float * VipVoiNextPtrMesVector(VipVoi *voi)
Statistics ** VipVoiNextPtrStat(VipVoi *voi)
Vip3DBucket_S16BIT * VipVoiFirstPtrBucket(VipVoi *voi)
VipVoi * VipVoiAllocate(Volume *label_vol, int *label, int nb)
int VipVoiSetDeplacement(VipVoi *voi, VipDeplacement *dep)
float ** VipVoiNextPtrMes(VipVoi *voi)