2 # ---------------------------------------------------------------------
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
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
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.
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
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 # ------------------------------------------------------------------------
28 // C++ Interface: brukerobjectvaryingproperties
33 // Author: denis grenier <denis.grenier@creatis.univ-lyon1.fr>, (C) 2009
35 // Copyright: See COPYING file that comes with this distribution
38 #ifndef BRUKEROBJECTVARYINGPROPERTIES_H
39 #define BRUKEROBJECTVARYINGPROPERTIES_H
49 #include "boost/regex.hpp"
50 #include "brukerFieldData.h"
51 #include "brukerSystem.h"
54 @author denis grenier <denis.grenier@creatis.univ-lyon1.fr>
56 class creaBruker_EXPORT BrukerObjectVaryingProperties{
58 BrukerObjectVaryingProperties();
59 ~BrukerObjectVaryingProperties();
61 double getTE (unsigned int theValue) const;
62 double getPositionP (unsigned int theValue) const;
63 double getPositionR (unsigned int theValue) const;
64 double getPositionS (unsigned int theValue) const;
65 double getPositionTimePerNR(unsigned int theValue) const;
66 int getAcquisitionOrder (unsigned int theValue) const;
68 std::vector<std::vector<double> > getOrientation(unsigned int theValue) const;
70 bool init(std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
74 void computePositionTimePerNR (std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
75 void computeOrientation (std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
76 void computeAcquisitionOrder (std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct);
77 void computePositionS (std::map<std::string, BrukerFieldData> &BrukerHM);
78 void computePositionR (std::map<std::string, BrukerFieldData> &BrukerHM);
79 void computePositionP (std::map<std::string, BrukerFieldData> &BrukerHM);
80 void computeTE (std::map<std::string, BrukerFieldData> &BrukerHM);
81 std::vector<double> TE;
82 std::vector<double> PositionR;
83 std::vector<double> PositionP;
84 std::vector<double> PositionS;
85 std::vector<double> PositionTimePerNR;
86 std::vector<int> AcquisitionOrder;
87 std::vector<std::vector<std::vector <double> > > Orientation;