]> Creatis software - creaBruker.git/blob - lib/src1/brukerkspaceobject.h
a55161f7f8e75175b896df503cae296e9b094fa8
[creaBruker.git] / lib / src1 / brukerkspaceobject.h
1 /*
2         # ---------------------------------------------------------------------
3         #
4         # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
5         #                        pour la Santé)
6         # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7         # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8         # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9         #
10         #  This software is governed by the CeCILL-B license under French law and 
11         #  abiding by the rules of distribution of free software. You can  use, 
12         #  modify and/ or redistribute the software under the terms of the CeCILL-B 
13         #  license as circulated by CEA, CNRS and INRIA at the following URL 
14         #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
15         #  or in the file LICENSE.txt.
16         #
17         #  As a counterpart to the access to the source code and  rights to copy,
18         #  modify and redistribute granted by the license, users are provided only
19         #  with a limited warranty  and the software's author,  the holder of the
20         #  economic rights,  and the successive licensors  have only  limited
21         #  liability. 
22         #
23         #  The fact that you are presently reading this means that you have had
24         #  knowledge of the CeCILL-B license and that you accept its terms.
25         # ------------------------------------------------------------------------
26 */
27 //
28 // C++ Interface: brukerobject
29 //
30 // Description: 
31 //
32 //
33 // Author:  <Denis Grenier>, (C) 2008
34 //
35 // Copyright: See COPYING file that comes with this distribution
36 //
37 //
38 #ifndef BRUKERKSPACEOBJECT_H
39 #define BRUKERKSPACEOBJECT_H
40
41 #include <vector>
42 #include "brukerSystem.h"
43 #include "brukerdataset.h"
44
45
46 class creaBruker_EXPORT BrukerKspaceObject{
47 public:
48    BrukerKspaceObject(BrukerDataSet DataSet);
49    ~BrukerKspaceObject();
50
51
52
53    void setAbsoluteTimePosition ( long theValue )
54    {
55       AbsoluteTimePosition = theValue;
56    }
57         
58
59
60    long  getAbsoluteTimePosition() const
61    {
62       return AbsoluteTimePosition;
63    }
64
65    void setACQ_phase_factor ( int theValue )
66    {
67       ACQ_phase_factor = theValue;
68    }
69         
70
71    int  getACQ_phase_factor() const
72    {
73       return ACQ_phase_factor;
74    }
75
76    void setDimension ( int theValue )
77    {
78       Dimension = theValue;
79    }
80         
81    int  getDimension() const
82    {
83       return Dimension;
84    }
85
86    void setFlipAngle ( double theValue )
87    {
88       FlipAngle = theValue;
89    }
90         
91    double  getFlipAngle() const
92    {
93    return FlipAngle;
94    }
95
96    void setImaginaryPart ( const std::vector< double >& theValue )
97    {
98       ImaginaryPart = theValue;
99    }    
100
101    std::vector< double >  getImaginaryPart() const
102    {
103       return ImaginaryPart;
104    }
105
106    void setNA ( int theValue )
107    {
108       NA = theValue;
109    }    
110
111    int  getNA() const
112    {
113       return NA;
114    }
115
116    void setNR ( int theValue )
117    {
118       NR = theValue;
119    }
120         
121    int  getNR() const
122    {
123       return NR;
124    }
125
126    void setNumberOfSlices ( int theValue )
127    {
128       NumberOfSlices = theValue;
129    }
130         
131
132 int  getNumberOfSlices() const
133 {
134    return NumberOfSlices;
135 }
136
137 void setObjectNumber ( int theValue )
138 {
139    ObjectNumber = theValue;
140 }
141         
142
143 int  getObjectNumber() const 
144 {
145    return ObjectNumber;
146 }
147
148 void setRealPart ( const std::vector< double >& theValue )
149 {
150    RealPart = theValue;
151 }
152         
153
154 std::vector< double >  getRealPart() const
155 {
156    return RealPart;
157 }
158
159 void setRG ( double theValue )
160 {
161    RG = theValue;
162 }
163         
164
165 double  getRG() const
166 {
167    return RG;
168 }
169
170 void setRotationMatrixRPS2XYZ ( const std::vector< std :: vector < double > >& theValue )
171 {
172    RotationMatrixRPS2XYZ = theValue;
173 }
174         
175
176 std::vector< std :: vector < double > >  getRotationMatrixRPS2XYZ() const
177 {
178    return RotationMatrixRPS2XYZ;
179 }
180
181 void setSliceNumber ( int theValue )
182 {
183    SliceNumber = theValue;
184 }
185         
186
187 int  getSliceNumber() const
188 {
189    return SliceNumber;
190 }
191
192 void setSliceThickness ( double theValue )
193 {
194    SliceThickness = theValue;
195 }
196         
197
198 double  getSliceThickness() const
199 {
200    return SliceThickness;
201 }
202
203 void setTE ( double theValue )
204 {
205    TE = theValue;
206 }
207         
208
209 double  getTE() const
210 {
211    return TE;
212 }
213
214
215 void setTI ( double theValue )
216 {
217    TI = theValue;
218 }
219         
220
221 double  getTI() const
222 {
223    return TI;
224 }
225
226 void setTR ( double theValue )
227 {
228    TR = theValue;
229 }
230         
231
232 double getTR() const
233 {
234    return TR;
235 }
236
237 void setTranslationVectorRPS2XYZ ( const std::vector< double >& theValue )
238 {
239    TranslationVectorRPS2XYZ = theValue;
240 }
241         
242
243 std::vector< double >  getTranslationVectorRPS2XYZ() const
244 {
245    return TranslationVectorRPS2XYZ;
246 }
247
248 void setDimensionSizes ( const std::vector< int >& theValue )
249 {
250    DimensionSizes = theValue;
251 }
252         
253
254 std::vector< int > getDimensionSizes() const
255 {
256    return DimensionSizes;
257 }
258
259 void setFOV ( const std::vector< double >& theValue )
260 {
261         FOV = theValue;
262 }
263         
264
265 std::vector< double > getFOV() const
266 {
267    return FOV;
268 }
269
270
271 bool FillWithObject(BrukerDataSet DataSet, int ObjectNumber);
272
273
274 void setNI ( int theValue )
275 {
276    NI = theValue;
277 }
278         
279
280 int getNI() const
281 {
282    return NI;   
283 }
284
285 void setNAE ( int theValue )
286 {
287    NAE = theValue;
288 }
289         
290
291 int getNAE() const
292 {
293    return NAE;
294 }
295
296 void setDS ( int theValue )
297 {
298    DS = theValue;
299 }
300         
301
302 int getDS() const
303 {
304    return DS;
305 }
306
307 void setACQ_ns_list ( const std::vector< int >& theValue )
308 {
309    ACQ_ns_list = theValue;
310 }
311         
312
313 std::vector< int > getACQ_ns_list() const
314 {
315    return ACQ_ns_list;
316 }
317
318 void setACQ_obj_order ( const std::vector< int >& theValue )
319 {
320    ACQ_obj_order = theValue;
321 }
322         
323
324 std::vector< int > getACQ_obj_order() const
325 {
326    return ACQ_obj_order;
327 }
328
329 void setACQ_echo_time ( const std::vector< int >& theValue )
330 {
331    ACQ_echo_time = theValue;
332 }
333         
334 std::vector< int > getACQ_echo_time() const
335 {
336    return ACQ_echo_time;
337 }
338         
339
340
341 private:
342     int ObjectNumber;
343     int Dimension;
344     std::vector <int> DimensionSizes;
345     std::vector <int> ACQ_ns_list;
346     std::vector <int> ACQ_obj_order;
347     std::vector <int> ACQ_echo_time;
348     double TE;
349     double TR;
350     double TI;
351     double FlipAngle;
352     double RG;
353     int NA;
354     int ACQ_phase_factor;
355     std::vector<std::vector<double> >  RotationMatrixRPS2XYZ;
356     std::vector <double> TranslationVectorRPS2XYZ;
357     long AbsoluteTimePosition;
358     int NR;
359     int NI;
360     int NAE;
361     int DS;
362     int NumberOfSlices;
363     int SliceNumber;
364     std::vector <double> FOV;
365     double SliceThickness;
366     std::vector<double> RealPart;
367     std::vector<double> ImaginaryPart;
368 };
369
370 #endif