]> Creatis software - creaBruker.git/blob - lib/src1/brukerobjectvaryingproperties.h
8e7d76ad02ff7c74354314c60d9b8ed0033f5716
[creaBruker.git] / lib / src1 / brukerobjectvaryingproperties.h
1 //
2 // C++ Interface: brukerobjectvaryingproperties
3 //
4 // Description: 
5 //
6 //
7 // Author: denis grenier <denis.grenier@creatis.univ-lyon1.fr>, (C) 2009
8 //
9 // Copyright: See COPYING file that comes with this distribution
10 //
11 //
12 #ifndef BRUKEROBJECTVARYINGPROPERTIES_H
13 #define BRUKEROBJECTVARYINGPROPERTIES_H
14 #include <cstdlib>
15 #include <stdlib.h>
16 #include <string>
17 #include <iostream>
18 #include <sstream>
19 #include <stdio.h>
20 #include <fstream>
21 #include <map>
22 #include <algorithm>
23 #include "boost/regex.hpp"
24 #include "brukerFieldData.h"
25 #include "brukerSystem.h"
26
27 /**
28         @author denis grenier <denis.grenier@creatis.univ-lyon1.fr>
29 */
30 class  creaBruker_EXPORT BrukerObjectVaryingProperties{
31 public: 
32    BrukerObjectVaryingProperties();
33    ~BrukerObjectVaryingProperties();
34    
35    double getTE               (unsigned int theValue) const;
36    double getPositionP        (unsigned int theValue) const;
37    double getPositionR        (unsigned int theValue) const;
38    double getPositionS        (unsigned int theValue) const;
39    double getPositionTimePerNR(unsigned int theValue) const;
40    int    getAcquisitionOrder (unsigned int theValue) const;
41
42    std::vector<std::vector<double> > getOrientation(unsigned int theValue) const;
43
44    bool init(std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
45
46 private:
47
48    void setPositionTimePerNR (std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
49    void setOrientation       (std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
50    void setAcquisitionOrder  (std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
51    void setPositionS         (std::map<std::string, BrukerFieldData> &BrukerHM);
52    void setPositionR         (std::map<std::string, BrukerFieldData> &BrukerHM);
53    void setPositionP         (std::map<std::string, BrukerFieldData> &BrukerHM);
54    void setTE                (std::map<std::string, BrukerFieldData> &BrukerHM);
55    std::vector<double> TE;
56    std::vector<double> PositionR;
57    std::vector<double> PositionP;
58    std::vector<double> PositionS;
59    std::vector<double> PositionTimePerNR;
60    std::vector<int>    AcquisitionOrder;
61    std::vector<std::vector<std::vector <double> > > Orientation;
62 };
63
64 #endif