VIP: Volume Image Processing


depla.h
Go to the documentation of this file.
1/*****************************************************************************
2 * PROJECT : V.I.P. Library
3 * MODULE NAME : vip/depla.h * TYPE : Header
4 * AUTHOR : MANGIN J.F. * CREATION : 15/01/1997
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 rotations affines
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_DEPLA_H
26#define VIP_DEPLA_H
27
28#ifdef __cplusplus
29 extern "C" {
30#endif
31
32#include <stdio.h>
33#include <stdlib.h>
34#include <string.h>
35#include <stdarg.h>
36#include <limits.h>
37#include <errno.h>
38#include <math.h>
39
40#include <vip/util.h>
41#include <vip/alloc.h>
42#include <vip/volume.h>
43#include <vip/bucket.h>
44
45typedef struct viprotation {
46 double xx;
47 double xy;
48 double xz;
49 double yx;
50 double yy;
51 double yz;
52 double zx;
53 double zy;
54 double zz;
56
57typedef struct deplacement {
58 Vip3DPoint_VFLOAT t;
61
62typedef struct {
63 int count;
66
67#ifndef M_PI /* defini dans <math.h> seulement sur Sun, Borland, etc. */
68#define M_PI 3.14159265358979323846
69#endif
70/*-------------------------------------------------------------------*/
72char *name);
73/*-------------------------------------------------------------------*/
74
75/*-------------------------------------------------------------------*/
77char *name);
78/*-------------------------------------------------------------------*/
79
80/*-------------------------------------------------------------------*/
82 VipDeplacement *dep,
83 char *name);
84/*-------------------------------------------------------------------*/
85
86/*-------------------------------------------------------------------*/
88 VipDeplacement *dep);
89/*-------------------------------------------------------------------*/
90
91/*-------------------------------------------------------------------*/
94 Vip3DPoint_VFLOAT *in,
95 Vip3DPoint_VFLOAT *out);
96/*-------------------------------------------------------------------*/
97
98/*-------------------------------------------------------------------*/
100 VipRotation *r,
101 Vip3DPoint_VFLOAT *in,
102 Vip3DPoint_VFLOAT *out);
103/*-------------------------------------------------------------------*/
104
105/*-------------------------------------------------------------------*/
107 Vip3DPoint_VFLOAT *translat);
108/*-------------------------------------------------------------------*/
109
110/*-------------------------------------------------------------------*/
112 VipDeplacement *first,
113 VipDeplacement *second);
114/*-------------------------------------------------------------------*/
115
116/*-------------------------------------------------------------------*/
118 Vip3DPoint_VFLOAT *tra,
119 VipRotation *rot,
120 VipDeplacement *dep);
121/*-------------------------------------------------------------------*/
122
123/*-------------------------------------------------------------------*/
125 float xangle,
126 float yangle,
127 float zangle,
128 VipRotation *rot);
129 /*Remplis la structure rotation (qui doit etre allouee prealablement)
130 avec une rotation combinaison de 3 rotations autour des axes*/
131/*-------------------------------------------------------------------*/
132
133/*-------------------------------------------------------------------*/
135 VipRotation *g,
136 VipRotation *d,
137 VipRotation *out); /* g=left, d=right ...*/
138/*-------------------------------------------------------------------*/
139
140/*-------------------------------------------------------------------*/
142 VipRotation *rot);
143/*-------------------------------------------------------------------*/
144
145/*----------------------------------------------------------------------*/
147VipDeplacement *dep,
148VipDeplacement *invdep);
149/*----------------------------------------------------------------------*/
150
151/*----------------------------------------------------------------------*/
153 VipDeplacement *dep,
154 VipDeplacement *left,
155 VipDeplacement *right);
156/*----------------------------------------------------------------------*/
157
158/*----------------------------------------------------------------------*/
160 VipDeplacement *dep,
161 Volume *from,
162 Volume *to);
163/*----------------------------------------------------------------------*/
164
165#ifdef __cplusplus
166 }
167#endif
168
169#endif /* VIP_DEPLA_H */
170
171
172
173
174
175
int VipFillRotation(float xangle, float yangle, float zangle, VipRotation *rot)
VipDeplacement * VipInitialiseDeplacement(Vip3DPoint_VFLOAT *translat)
VipDeplacementVector * VipReadDeplacementVector(char *name)
int VipMultDeplacement(VipDeplacement *dep, VipDeplacement *left, VipDeplacement *right)
int VipWriteDeplacement(VipDeplacement *dep, char *name)
int VipFillDeplacement(Vip3DPoint_VFLOAT *tra, VipRotation *rot, VipDeplacement *dep)
int VipApplyRotation(VipRotation *r, Vip3DPoint_VFLOAT *in, Vip3DPoint_VFLOAT *out)
VipDeplacement * VipReadDeplacement(char *name)
int VipMultiplyRotations(VipRotation *g, VipRotation *d, VipRotation *out)
int VipScaleDeplacement(VipDeplacement *dep, Volume *from, Volume *to)
int VipInverseDeplacement(VipDeplacement *dep, VipDeplacement *invdep)
struct viprotation VipRotation
int VipPrintRotation(VipRotation *rot)
int VipDeplaFirstEgalDeplaSecond(VipDeplacement *first, VipDeplacement *second)
struct deplacement VipDeplacement
float VipGetRotationAngle(VipDeplacement *dep)
int VipApplyDeplacement(VipDeplacement *d, Vip3DPoint_VFLOAT *in, Vip3DPoint_VFLOAT *out)
VipDeplacement * dep
Definition depla.h:64
VipRotation r
Definition depla.h:59
Vip3DPoint_VFLOAT t
Definition depla.h:58
double zy
Definition depla.h:53
double yy
Definition depla.h:50
double yx
Definition depla.h:49
double zx
Definition depla.h:52
double xz
Definition depla.h:48
double xy
Definition depla.h:47
double yz
Definition depla.h:51
double xx
Definition depla.h:46
double zz
Definition depla.h:54