00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef SEQPARS_H
00019 #define SEQPARS_H
00020
00021 #include <odinpara/jdxblock.h>
00022 #include <odinpara/jdxtypes.h>
00023 #include <odinpara/jdxnumbers.h>
00024 #include <odinpara/jdxarrays.h>
00025 #include <odinpara/odinpara.h>
00026
00027
00035 class SeqPars : public JcampDxBlock {
00036
00037 public:
00038
00042 SeqPars(const STD_string& label="unnamedSeqPars");
00043
00047 SeqPars(const SeqPars& sp) {SeqPars::operator = (sp);}
00048
00049
00053 SeqPars& set_MatrixSize(direction dir,unsigned int size, parameterMode parmode=edit);
00054
00058 unsigned int get_MatrixSize(direction dir) const;
00059
00063 SeqPars& set_RepetitionTime(double time, parameterMode parmode=edit);
00064
00068 double get_RepetitionTime() const {return RepetitionTime;}
00069
00073 SeqPars& set_NumOfRepetitions(unsigned int times, parameterMode parmode=edit);
00074
00078 unsigned int get_NumOfRepetitions() const {return NumOfRepetitions;}
00079
00080
00084 SeqPars& set_EchoTime(double time, parameterMode parmode=edit);
00085
00089 double get_EchoTime() const {return EchoTime;}
00090
00091
00092
00096 SeqPars& set_AcqSweepWidth(double sw, parameterMode parmode=edit);
00097
00101 double get_AcqSweepWidth() const {return AcqSweepWidth;}
00102
00106 SeqPars& set_FlipAngle(double fa, parameterMode parmode=edit);
00107
00111 double get_FlipAngle() const {return FlipAngle;}
00112
00116 SeqPars& set_ReductionFactor(unsigned int factor, parameterMode parmode=edit);
00117
00121 unsigned int get_ReductionFactor() const {return ReductionFactor;}
00122
00126 SeqPars& set_PartialFourier(float factor, parameterMode parmode=edit);
00127
00131 float get_PartialFourier() const {return PartialFourier;}
00132
00136 SeqPars& set_RFSpoiling(bool flag, parameterMode parmode=edit);
00137
00141 bool get_RFSpoiling() const {return RFSpoiling;}
00142
00146 SeqPars& set_GradientIntro(bool flag, parameterMode parmode=edit);
00147
00151 bool get_GradientIntro() const {return GradientIntro;}
00152
00156 SeqPars& set_PhysioTrigger(bool flag, parameterMode parmode=edit);
00157
00161 bool get_PhysioTrigger() const {return PhysioTrigger;}
00162
00166 SeqPars& set_Sequence(const STD_string& seqid) {Sequence=seqid; return *this;}
00167
00171 const STD_string& get_Sequence() const {return Sequence;}
00172
00173
00177 SeqPars& set_ExpDuration(double dur) {ExpDuration=dur; return *this;}
00178
00182 double get_ExpDuration() const {return ExpDuration;}
00183
00187 SeqPars& set_AcquisitionStart(double time) {AcquisitionStart=time; return *this;}
00188
00192 double get_AcquisitionStart() const {return AcquisitionStart;}
00193
00197 SeqPars& operator = (const SeqPars& pars2);
00198
00199
00200
00201 private:
00202 void append_all_members();
00203
00204 JDXdouble ExpDuration;
00205 JDXstring Sequence;
00206 JDXdouble AcquisitionStart;
00207
00208 JDXint MatrixSizeRead;
00209 JDXint MatrixSizePhase;
00210 JDXint MatrixSizeSlice;
00211 JDXdouble RepetitionTime;
00212 JDXint NumOfRepetitions;
00213 JDXdouble EchoTime;
00214 JDXdouble AcqSweepWidth;
00215 JDXdouble FlipAngle;
00216 JDXint ReductionFactor;
00217 JDXfloat PartialFourier;
00218 JDXbool RFSpoiling;
00219 JDXbool GradientIntro;
00220 JDXbool PhysioTrigger;
00221 };
00222
00223 #endif