1 /**********
2 *
3 * Copyright (c) 2003, Division of Imaging Science and Biomedical Engineering,
4 * University of Manchester, UK. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without modification,
7 * are permitted provided that the following conditions are met:
8 *
9 * . Redistributions of source code must retain the above copyright notice,
10 * this list of conditions and the following disclaimer.
11 *
12 * . Redistributions in binary form must reproduce the above copyright notice,
13 * this list of conditions and the following disclaimer in the documentation
14 * and/or other materials provided with the distribution.
15 *
16 * . Neither the name of the University of Manchester nor the names of its
17 * contributors may be used to endorse or promote products derived from this
18 * software without specific prior written permission.
19 *
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 *
33 **********
34 *
35 * Program : TINA
36 * File : $Source: /home/tina/cvs/tina-libs/tina/image/img_SeqDef.h,v $
37 * Date : $Date: 2005/12/20 16:28:01 $
38 * Version : $Revision: 1.6 $
39 * CVS Id : $Id: img_SeqDef.h,v 1.6 2005/12/20 16:28:01 matts Exp $
40 *
41 * Notes : Sequence structures etc
42 *
43 *********
44 */
45
46 #ifndef TINA_IMG_SEQ_DEF_HDR
47 #define TINA_IMG_SEQ_DEF_HDR
48
49 #include <tina/sys/sysDef.h>
50 #include <tina/sys/sysPro.h>
51 #include <tina/math/mathDef.h>
52 #include <tina/image/img_GenDef.h>
53
54
55 #ifdef __cplusplus
56 extern "C" {
57 #endif /* __cplusplus */
58
59
60 #define SEQ 1001
61
62 /*
63 sequence proplist types
64 */
65
66 #define VOXELS 450
67 #define TE_DATA 453
68 #define PAT_DATA 454
69 /*mjs added TR_DATA and FLIP_ANGLE_DATA 8/11/05 */
70 #define TR_DATA 455
71 #define FLIP_ANGLE_DATA 456
72
73
74 #define SLICE(_br_imstack) (_br_imstack)->slice[(_br_imstack)->z]
75 #define VOI(_br_imstack) (_br_imstack)->slice[(_br_imstack)->z]->voi[(_br_imstack)->nvoi]
76
77 #define NVOI 6
78
79 typedef struct seq_params
80 {
81 Ts_id ts_id;
82 char *filename; /* sequence filename */
83
84 int type; /* ie, edge_rect imrect etc, NOT AIFF, ANLZ etc */
85
86 List *start; /* pointer to start of ddlist containing sequence imrects */
87 List *current; /* pointer to current position in list */
88 List *end; /* pointer to end of list */
89
90 int offset; /* number of start image in the sequence (ie, offset from 0) */
91 int stride; /* amount sequence is incremented by (normally 1) */
92
93
94 float dim[4]; /* dim[0] is xscale, dim[1] is yscale, dim[2] is zscale */
95 /* dim[3] is time interval between slices */
96
97 List *props; /* props list for data such as TE */
98 int downsample; /* As stride allows downsampling of the z-axis, this allows downsampling of x and y (normally 1) */
99
100 } Sequence;
101
102 typedef struct various
103 {
104 int width, height;
105 int ax, ay;
106 int sh_dx, sh_dy;
107 float Sigma, mu;
108 int Ip, Ib;
109 } Local;
110
111 typedef struct seqvoi
112 {
113 Spline2 *spline;
114 Tstring *string;
115 int nspline; /* removed snake stuff MLJS 29/11/00*/
116 int n;
117 } Seqvoi;
118
119
120 typedef struct seqslice
121 {
122 Imrect *im;
123 Seqvoi *voi[NVOI];
124 double z;
125 } Seqslice;
126
127 typedef struct br_imstack
128 {
129 Vartype vtype;
130 int x, lx, ux;
131 int y, ly, uy;
132 int z, lz, uz;
133 int zmark;
134 Seqslice **slice;
135 double zscale;
136 int nvoi;
137 /*struct stats *stats; snake stuff */
138 /*struct tube *tube; sagit view stuff */
139 } Br_imstack;
140
141
142
143 #ifdef __cplusplus
144 }
145 #endif /* __cplusplus */
146
147 #endif /* TINA_IMG_SEQ_DEF_HDR */
148
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.