ODIN
|
Base class for methods (sequences) More...
#include <seqmeth.h>
Public Member Functions | |
SeqMethod (const STD_string &method_label) | |
virtual | ~SeqMethod () |
bool | clear () |
bool | init () |
bool | build () |
bool | prepare () |
bool | update_timings () |
bool | prep_acquisition () const |
const char * | get_description () const |
int | process (int argc, char *argv[]) |
int | load_protocol (const STD_string &filename) |
int | write_protocol (const STD_string &filename) const |
LDRblock & | get_methodPars () |
int | load_sequencePars (const STD_string &filename) |
int | write_sequencePars (const STD_string &filename) const |
bool | set_sequenceParameter (const STD_string ¶meter_label, const STD_string &value) |
SeqMethod & | set_commonPars (const SeqPars &pars) |
SeqPars & | get_commonPars () |
SeqMethod & | set_geometry (const Geometry &geo) |
Geometry & | get_geometry () |
int | load_geometry (const STD_string &filename) |
int | write_geometry (const STD_string &filename) const |
Study & | get_studyInfo () |
int | write_systemInfo (const STD_string &filename) const |
int | load_systemInfo (const STD_string &filename) |
SeqMethod & | init_systemInfo (double basicfreq, double maxgrad, double slewrate) |
int | write_recoInfo (const STD_string &filename) const |
int | write_meas_contex (const STD_string &prefix) const |
double | get_totalDuration () const |
STD_string | get_main_nucleus () const |
unsigned int | get_numof_acquisitions () const |
STD_list< const SeqPulsar * > | get_active_pulsar_pulses () const |
unsigned int | event (eventContext &context) const |
Public Member Functions inherited from SeqObjList | |
SeqObjList (const STD_string &object_label="unnamedSeqObjList") | |
SeqObjList (const SeqObjList &so) | |
SeqObjList & | operator= (const SeqObjList &so) |
SeqObjList & | operator= (const SeqObjLoop &sl) |
SeqObjList & | operator= (const SeqDecoupling &sd) |
SeqObjList & | operator= (const SeqObjBase &soa) |
SeqObjList & | operator= (SeqGradObjInterface &sgoa) |
SeqObjList & | operator= (SeqGradChan &sgc) |
SeqObjList & | operator= (SeqGradChanList &sgcl) |
SeqObjList & | operator+= (const SeqObjBase &soa) |
SeqObjList & | operator+= (SeqGradObjInterface &sgoa) |
SeqObjList & | operator+= (SeqGradChan &sgc) |
SeqObjList & | operator+= (SeqGradChanList &sgcl) |
SeqObjList & | set_gradrotmatrixvector (const SeqRotMatrixVector &matrixVec) |
STD_string | get_program (programContext &context) const |
double | get_duration () const |
STD_string | get_properties () const |
void | query (queryContext &context) const |
RecoValList | get_recovallist (unsigned int reptimes, LDRkSpaceCoords &coords) const |
SeqValList | get_freqvallist (freqlistAction action) const |
SeqValList | get_delayvallist () const |
double | get_rf_energy () const |
Public Member Functions inherited from SeqTreeObj | |
bool | contains (const SeqTreeObj *sto) const |
void | tree (SeqTreeCallbackAbstract *display) const |
Public Member Functions inherited from SeqClass | |
SeqClass & | set_temporary () |
Public Member Functions inherited from Labeled | |
Labeled (const STD_string &label="unnamed") | |
Labeled & | set_label (const STD_string &label) |
const STD_string & | get_label () const |
Labeled & | operator= (const Labeled &l) |
Public Member Functions inherited from List< SeqObjBase, const SeqObjBase *, const SeqObjBase & > | |
List () | |
~List () | |
List & | operator= (const List &l) |
List & | clear () |
List & | append (const SeqObjBase & item) |
List & | remove (const SeqObjBase & item) |
unsigned int | size () const |
iter | get_begin () |
iter | get_end () |
constiter | get_const_begin () const |
constiter | get_const_end () const |
Protected Attributes | |
SeqPars * | commonPars |
Friends | |
class | SeqMethodProxy |
class | SeqCmdLine |
Additional Inherited Members | |
Public Types inherited from List< SeqObjBase, const SeqObjBase *, const SeqObjBase & > | |
typedef STD_list< const SeqObjBase * >::iterator | iter |
typedef STD_list< const SeqObjBase * >::const_iterator | constiter |
Protected Types inherited from List< SeqObjBase, const SeqObjBase *, const SeqObjBase & > | |
typedef STD_list< const SeqObjBase * >::iterator | iter |
typedef STD_list< const SeqObjBase * >::const_iterator | constiter |
Static Protected Member Functions inherited from SeqClass | |
static void | clear_temporary () |
static void | clear_containers () |
Base class for methods (sequences)
The base class for all NMR sequences. To create a new sequence, write a new class which is derived from SeqMethod and overload the following virtual functions with the specified functionality:
To get an idea what has to be done in each function, please take a look at the example sequences.
SeqMethod::SeqMethod | ( | const STD_string & | method_label | ) |
Constructs a method with the given label.
|
virtual |
Destructor
|
protected |
Append a user defined parameter to the list of parameters that describe the method
|
inline |
|
inline |
|
virtual |
Queries the sequence tree for events, returns the number of events executed
Reimplemented from SeqObjList.
STD_list<const SeqPulsar*> SeqMethod::get_active_pulsar_pulses | ( | ) | const |
Returns a list of Pulsar pulses which are currently active.
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
unsigned int SeqMethod::get_numof_acquisitions | ( | ) | const |
Returns the total number of acquisition windows in the sequence.
|
inline |
double SeqMethod::get_totalDuration | ( | ) | const |
Returns the scan duration for this method
|
inline |
SeqMethod& SeqMethod::init_systemInfo | ( | double | basicfreq, |
double | maxgrad, | ||
double | slewrate | ||
) |
Initialises the method with the given system-specific stuff
|
inline |
int SeqMethod::load_protocol | ( | const STD_string & | filename | ) |
Loads the sequence protocol (systemInfo, geometryInfo, sequencePars) from file 'filename'
int SeqMethod::load_sequencePars | ( | const STD_string & | filename | ) |
Loads the sequence parameters (commonPars & methodPars) from file
int SeqMethod::load_systemInfo | ( | const STD_string & | filename | ) |
Loads the systemInfo from disk
|
protectedpure virtual |
This function must be implemented by the method programmer. It should contain all code that initialies parameters of the method.
|
protectedpure virtual |
This function must be implemented by the method programmer. It should contain all code that is called only once before the sequence is started, e.g. the setup of the reconsruction.
|
protectedpure virtual |
This function must be implemented by the method programmer. It should contain all code that changes the aspects of the sequence objects without changing their serialisation, .e.g. timing calculations should be coded in this function.
|
protectedpure virtual |
This function must be implemented by the method programmer. It should contain all code that initialises the sequence objects and their arrangement.
|
inlineprotectedvirtual |
bool SeqMethod::prep_acquisition | ( | ) | const |
Prepares the acquisition parameters, i.e. recoInfo structure and performs platform specific preparation (generating pulse program, etc.). This function will be called by the current frontend (ODIN GUI, odin2idea, ...) prior to the measurement.
|
inline |
int SeqMethod::process | ( | int | argc, |
char * | argv[] | ||
) |
This function is used in the ODINMAIN function to hand over control to the SeqMethod object.
Sets the current set of common sequence parameters
|
inlineprotected |
|
protected |
This function is used to specify the sequence of this method that will be played out
bool SeqMethod::set_sequenceParameter | ( | const STD_string & | parameter_label, |
const STD_string & | value | ||
) |
Sets the value of the sequence parameter 'parameter_label' to 'value'. Returns true if successful.
bool SeqMethod::update_timings | ( | ) |
Updates the timing of the sequence (TR, TE) without changing its structure. If the sequence is not yet in the 'built' state, this state will be obtained first.
|
inline |
int SeqMethod::write_meas_contex | ( | const STD_string & | prefix | ) | const |
Writes all files which describe the measurement, uses the given filename-prefix
|
inline |
int SeqMethod::write_recoInfo | ( | const STD_string & | filename | ) | const |
Writes the recoInfo to disk
int SeqMethod::write_sequencePars | ( | const STD_string & | filename | ) | const |
Writes the sequence parameters (commonPars & methodPars) to file
|
inline |
|
protected |