]> Creatis software - creaBruker.git/blob - lib/src1/brukerkspaceobject.cpp
Initial revision
[creaBruker.git] / lib / src1 / brukerkspaceobject.cpp
1 //
2 // C++ Implementation: brukerobject
3 //
4 // Description: 
5 //
6 //
7 // Author:  <Denis Grenier>, (C) 2008
8 //
9 // Copyright: See COPYING file that comes with this distribution
10 //
11 //
12 #include "brukerkspaceobject.h"
13
14
15
16 bool BrukerKspaceObject::FillWithObject(BrukerDataSet DataSet, int ObjectNumber)
17 {
18
19   std::string TempString;
20   std::vector< int > TempVectInt;
21   std::vector<double> TempVectDouble;
22
23   TempString="ACQ_abs_time";
24   if (DataSet.CheckExistKeyword(TempString)) {
25     setAbsoluteTimePosition ( DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]  );
26   }
27   else return false;
28
29   TempString="ACQ_phase_factor";
30   if (DataSet.CheckExistKeyword(TempString)) {
31     setACQ_phase_factor(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
32   }
33   else return false;
34
35   TempString="ACQ_dim";
36   if (DataSet.CheckExistKeyword(TempString)) {
37     setDimension(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
38   }
39   else return false;
40
41   TempString="ACQ_size";
42   if (DataSet.CheckExistKeyword(TempString)){
43     for (int i=0;i<getDimension();i++) 
44       TempVectInt.push_back(DataSet.BrukerHeaderMap[TempString].GetIntValue()[i]);
45     setDimensionSizes(TempVectInt);
46     TempVectInt.clear();
47   }
48   else return false;
49
50   TempString="ACQ_flip_angle";
51   if (DataSet.CheckExistKeyword(TempString)){ 
52     setFlipAngle(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
53   }
54   else return false;
55
56   TempString="ACQ_fov";
57   if (DataSet.CheckExistKeyword(TempString)) {
58     if ( 1!=DataSet.BrukerHeaderMap[TempString].GetDimensionNumber()) 
59       return false;
60     for (int i=0;i<DataSet.BrukerHeaderMap[TempString].GetNumberOfElements();i++){ 
61       TempVectDouble.push_back(DataSet.BrukerHeaderMap[TempString].GetDoubleValue()[i]);
62     }
63     setFOV(TempVectDouble);
64     TempVectDouble.clear();
65   }
66   else return false;
67
68   TempString="NA";
69   if (DataSet.CheckExistKeyword(TempString)){ 
70   setNA(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
71   }
72   else return false;
73
74   TempString="NR";
75   if (DataSet.CheckExistKeyword(TempString)){ 
76   setNA(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
77   }
78   else return false;
79
80   TempString="NSLICES";
81   if (DataSet.CheckExistKeyword(TempString)){ 
82   setNA(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
83   }
84   else return false;
85
86   TempString="NI";
87   if (DataSet.CheckExistKeyword(TempString)){ 
88     setNI(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
89   }
90   else return false;
91
92   TempString="NAE";
93   if (DataSet.CheckExistKeyword(TempString)){ 
94     setNAE(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
95   }
96   else return false;
97
98   TempString="DS";
99   if (DataSet.CheckExistKeyword(TempString)){ 
100     setDS(DataSet.BrukerHeaderMap[TempString].GetIntValue()[0]);
101   }
102   else return false;
103
104
105   TempString="ACQ_ns_list";
106   if (DataSet.CheckExistKeyword(TempString)) {
107   for (int i=0;i<DataSet.BrukerHeaderMap[TempString].GetNumberOfElements();i++){ 
108     TempVectInt.push_back(DataSet.BrukerHeaderMap[TempString].GetIntValue()[i]);
109   }
110   setACQ_ns_list(TempVectInt);
111   TempVectInt.clear();
112   }
113   else return false;
114
115   TempString="ACQ_obj_order";
116   if (DataSet.CheckExistKeyword(TempString)) {
117   for (int i=0;i<DataSet.BrukerHeaderMap[TempString].GetNumberOfElements();i++){ 
118     TempVectInt.push_back(DataSet.BrukerHeaderMap[TempString].GetIntValue()[i]);
119   }
120   setACQ_obj_order(TempVectInt);
121   TempVectInt.clear();
122   }
123   else return false;
124
125   TempString="ACQ_echo_time";
126   if (DataSet.CheckExistKeyword(TempString)) {
127   for (int i=0;i<DataSet.BrukerHeaderMap[TempString].GetNumberOfElements();i++){ 
128     TempVectInt.push_back(DataSet.BrukerHeaderMap[TempString].GetIntValue()[i]);
129   }
130   setACQ_echo_time(TempVectInt);
131   TempVectInt.clear();
132   }
133   else return false;
134
135   return true;
136 }
137