JEMRIS 2.9.1
open-source MRI simulations
Loading...
Searching...
No Matches
Sequence.h
Go to the documentation of this file.
1
5/*
6 * JEMRIS Copyright (C)
7 * 2006-2023 Tony Stoecker
8 * 2007-2018 Kaveh Vahedipour
9 * 2009-2019 Daniel Pflugfelder
10 *
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 */
26
27#ifndef SEQUENCE_H_
28#define SEQUENCE_H_
29
30#include "Module.h"
31#include "Parameters.h"
32#include "NDData.h"
33#include "OutputSequenceData.h"
34
35#include "ismrmrd/ismrmrd.h"
36#include "ismrmrd/xml.h"
37#include "ismrmrd/dataset.h"
38#include "ismrmrd/version.h"
39
40
42
43class Sequence : public Module {
44
45public:
46
51
55 virtual ~Sequence () {};
56
61
65 virtual void GetValue (double * dAllVal, double const time) {};
66
73 virtual bool Prepare (const PrepareMode mode) ;
74
80 void SeqDiag (const string& fname = "seq.h5");
81
87 bool SeqISMRMRD (const string& fname = "seq.h5");
88
89
93 virtual void CollectSeqData (NDData<double>& seqdata, double& t, long& offset) = 0;
94
100 void OutputSeqData (map<string,string> &scanDefinitions, const string& outputDir="", const string& outFile="external.seq");
101
105 virtual void CollectSeqData (OutputSequenceData *seqdata) = 0;
106
112 virtual long GetNumOfADCs () = 0;
113
114
115 protected:
116
117 vector<string> m_prep_errors;
120 private:
121
122 double m_aux1 ;
123 double m_aux2 ;
124 double m_aux3 ;
126};
127
128#endif /*SEQUENCE_H_*/
mode
Definition: Declarations.h:112
Implementation of JEMRIS Module.
Implementation of JEMRIS OutputSequenceData.
Implementation of JEMRIS Parameters.
Module super class! ABC for all Objects in the sequence framework.
Definition: Module.h:41
Simple nd-data structure.
Definition: NDData.h:53
Maintain libraries of hardware events and write sequence file.
Definition: OutputSequenceData.h:78
Super class for all sequence (non-pulse) modules.
Definition: Sequence.h:43
void SeqDiag(const string &fname="seq.h5")
Definition: Sequence.cpp:66
bool SeqISMRMRD(const string &fname="seq.h5")
Definition: Sequence.cpp:129
virtual long GetNumOfADCs()=0
double m_aux1
auxiliary general purpose variable for convinience
Definition: Sequence.h:122
Sequence()
Default constructor.
Definition: Sequence.h:50
virtual void CollectSeqData(NDData< double > &seqdata, double &t, long &offset)=0
Recursively collect sequence data (for plotting the sequence diagram)
virtual bool Prepare(const PrepareMode mode)
Definition: Sequence.cpp:36
Sequence(const Sequence &)
Default copy constructor.
Definition: Sequence.h:60
vector< string > m_prep_errors
Preparation Error Messages of Modules.
Definition: Sequence.h:117
virtual void GetValue(double *dAllVal, double const time)
Definition: Sequence.h:65
void OutputSeqData(map< string, string > &scanDefinitions, const string &outputDir="", const string &outFile="external.seq")
Definition: Sequence.cpp:361
virtual void CollectSeqData(OutputSequenceData *seqdata)=0
Recursively collect sequence data (for running on the scanner)
double m_aux3
auxiliary general purpose variable for convinience
Definition: Sequence.h:124
virtual ~Sequence()
Default destructor.
Definition: Sequence.h:55
double m_aux2
auxiliary general purpose variable for convinience
Definition: Sequence.h:123

-- last change 03.10.2023 | Tony Stoecker | Imprint | Data Protection --