ODIN
|
Gradient echo module. More...
#include <seqgradecho.h>
Public Member Functions | |
SeqGradEcho (const STD_string &object_label, SeqPulsar &exc, double sweepwidth, unsigned int readnpts, float FOVread, unsigned int phasenpts, float FOVphase, encodingScheme scheme=linearEncoding, reorderScheme reorder=noReorder, unsigned int nsegments=1, unsigned int reduction=1, unsigned int acl_bands=DEFAULT_ACL_BANDS, bool balanced=false, float partial_fourier_phase=0.0, float partial_fourier_read=0.0, bool partial_fourier_read_at_end=false, float os_factor=1.0, const STD_string &nucleus="") | |
SeqGradEcho (const STD_string &object_label, unsigned int readnpts, float FOVread, unsigned int phasenpts, float FOVphase, unsigned int slicenpts, float FOVslice, SeqPulsar &exc, double sweepwidth, unsigned int reduction=1, unsigned int acl_bands=DEFAULT_ACL_BANDS, bool balanced=false, float partial_fourier_phase=0.0, float partial_fourier_phase3d=0.0, float partial_fourier_read=0.0, bool partial_fourier_read_at_end=false, float os_factor=1.0, const STD_string &nucleus="") | |
SeqGradEcho (const STD_string &object_label="unnamedSeqGradEcho") | |
SeqGradEcho (const SeqGradEcho &sge) | |
SeqGradEcho & | operator= (const SeqGradEcho &sge) |
SeqVector & | get_pe_vector () |
SeqGradEcho & | set_pe_reorder_scheme (reorderScheme scheme, unsigned int nsegments) |
const SeqVector & | get_pe_reorder_vector () const |
SeqVector & | get_pe3d_vector () |
const SeqVector & | get_exc_vector () const |
SeqGradEcho & | set_freq_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1) |
const SeqVector & | get_freq_reorder_vector () const |
double | get_echo_time () const |
SeqGradEcho & | set_midpart (const SeqObjBase &soa) |
SeqGradInterface & | set_strength (float gradstrength) |
float | get_strength () const |
SeqGradInterface & | invert_strength () |
double | get_gradduration () const |
SeqGradInterface & | set_gradrotmatrix (const RotMatrix &matrix) |
fvector | get_gradintegral () const |
double | get_acquisition_center () const |
double | get_acquisition_start () const |
SeqAcqInterface & | set_template_type (templateType type) |
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 |
unsigned int | event (eventContext &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 |
Public Member Functions inherited from SeqGradInterface | |
float | get_gradintegral_norm () const |
Public Member Functions inherited from SeqAcqInterface | |
virtual double | get_acquisition_duration () const |
virtual unsigned int | get_npts () const |
virtual SeqAcqInterface & | set_sweepwidth (double sw, float os_factor) |
virtual double | get_sweepwidth () const |
virtual float | get_oversampling () const |
virtual SeqAcqInterface & | set_readout_shape (const fvector &shape, unsigned int dstsize) |
virtual SeqAcqInterface & | set_reco_vector (recoDim dim, const SeqVector &vec, const dvector &valvec=dvector()) |
virtual SeqAcqInterface & | set_default_reco_index (recoDim dim, unsigned int index) |
virtual SeqAcqInterface & | set_reflect_flag (bool flag) |
Public Member Functions inherited from SeqFreqChanInterface | |
virtual SeqFreqChanInterface & | set_nucleus (const STD_string &nucleus) |
virtual SeqFreqChanInterface & | set_freqlist (const dvector &freqlist) |
virtual SeqFreqChanInterface & | set_phaselist (const dvector &phaselist) |
virtual const SeqVector & | get_freqlist_vector () const |
virtual const SeqVector & | get_phaselist_vector () const |
operator const SeqVector & () const | |
virtual SeqFreqChanInterface & | set_encoding_scheme (encodingScheme scheme) |
virtual SeqFreqChanInterface & | set_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1) |
virtual const SeqVector & | get_reorder_vector () const |
virtual SeqFreqChanInterface & | set_phaselist_encoding_scheme (encodingScheme scheme) |
virtual SeqFreqChanInterface & | set_phaselist_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1) |
virtual const SeqVector & | get_phaselist_reorder_vector () const |
SeqFreqChanInterface & | set_freqoffset (double freqoffset) |
SeqFreqChanInterface & | set_phase (double phaseval) |
SeqFreqChanInterface & | set_phasespoiling (unsigned int size=80, double incr=117.0, double offset=0.0) |
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 Member Functions inherited from SeqObjList | |
void | clear_container () |
bool | prep () |
Protected Member Functions inherited from SeqClass | |
void | marshall_error () const |
Static Protected Member Functions inherited from SeqClass | |
static void | clear_temporary () |
static void | clear_containers () |
Gradient echo module.
A gradient echo module (excitation pulse + phase encoding + frequency encoding). This is a convenience class which groups a number of low-level sequence objects together. All objects necessary to produce a gradient echo are part of this class, except the excitation pulse. The latter is passed per reference (no copy is created within the module, it uses a safe pointer to the pulse).
Definition at line 45 of file seqgradecho.h.
SeqGradEcho::SeqGradEcho | ( | const STD_string & | object_label, |
SeqPulsar & | exc, | ||
double | sweepwidth, | ||
unsigned int | readnpts, | ||
float | FOVread, | ||
unsigned int | phasenpts, | ||
float | FOVphase, | ||
encodingScheme | scheme = linearEncoding , |
||
reorderScheme | reorder = noReorder , |
||
unsigned int | nsegments = 1 , |
||
unsigned int | reduction = 1 , |
||
unsigned int | acl_bands = DEFAULT_ACL_BANDS , |
||
bool | balanced = false , |
||
float | partial_fourier_phase = 0.0 , |
||
float | partial_fourier_read = 0.0 , |
||
bool | partial_fourier_read_at_end = false , |
||
float | os_factor = 1.0 , |
||
const STD_string & | nucleus = "" |
||
) |
Constructs a 2D (i.e. multi-slice) gradient echo module labeled 'object_label' with the following properties:
SeqGradEcho::SeqGradEcho | ( | const STD_string & | object_label, |
unsigned int | readnpts, | ||
float | FOVread, | ||
unsigned int | phasenpts, | ||
float | FOVphase, | ||
unsigned int | slicenpts, | ||
float | FOVslice, | ||
SeqPulsar & | exc, | ||
double | sweepwidth, | ||
unsigned int | reduction = 1 , |
||
unsigned int | acl_bands = DEFAULT_ACL_BANDS , |
||
bool | balanced = false , |
||
float | partial_fourier_phase = 0.0 , |
||
float | partial_fourier_phase3d = 0.0 , |
||
float | partial_fourier_read = 0.0 , |
||
bool | partial_fourier_read_at_end = false , |
||
float | os_factor = 1.0 , |
||
const STD_string & | nucleus = "" |
||
) |
Constructs a gradient echo module labeled 'object_label' for 3D imaging with the following properties:
SeqGradEcho::SeqGradEcho | ( | const STD_string & | object_label = "unnamedSeqGradEcho" | ) |
Constructs an empty SeqGradEcho
SeqGradEcho::SeqGradEcho | ( | const SeqGradEcho & | sge | ) |
Constructs a copy of 'sge'
|
inlinevirtual |
Returns the the duration from the the beginnig of the acquisition object to the middle of the acquisition window.
Reimplemented from SeqAcqInterface.
Definition at line 183 of file seqgradecho.h.
|
inlinevirtual |
Returns the the duration from the the beginnig of the acquisition object to the beginnig of the acquisition window (the point of time where data starts to be acquired).
Reimplemented from SeqAcqInterface.
Definition at line 184 of file seqgradecho.h.
double SeqGradEcho::get_echo_time | ( | ) | const |
Returns the echo time (from the middle of excitation pulse to the middle of the acquisition window)
|
inline |
Returns the excitation pulse as a sequence object (for loop insertion)
Definition at line 146 of file seqgradecho.h.
|
inline |
Returns the reorder vector for the frequency list of the excitation pulse (for loop insertion)
Definition at line 158 of file seqgradecho.h.
|
inlinevirtual |
Returns the duration of the gradient object. This function returns only the effective duration during whichthe gradient is active, any delays before and after the gradient are omitted.
Implements SeqGradInterface.
Definition at line 177 of file seqgradecho.h.
|
virtual |
Returns the integral vector of the gradient course
Implements SeqGradInterface.
SeqVector& SeqGradEcho::get_pe3d_vector | ( | ) |
Returns the 2nd phase encoding vector as a sequence object (for loop insertion)
const SeqVector& SeqGradEcho::get_pe_reorder_vector | ( | ) | const |
Returns the phase encoding reordering vector (for loop insertion)
SeqVector& SeqGradEcho::get_pe_vector | ( | ) |
Returns the phase encoding vector as a sequence object (for loop insertion)
|
inlinevirtual |
Returns the strength of the gradient object
Implements SeqGradInterface.
Definition at line 175 of file seqgradecho.h.
|
virtual |
Changes the polarity of the gradient, i.e. inverts the sign of the gradient strength
Implements SeqGradInterface.
SeqGradEcho& SeqGradEcho::operator= | ( | const SeqGradEcho & | sge | ) |
Assignment operator that makes this object become a copy of 'sge'
|
inline |
Sets the reordering scheme for the frequency list of the excitation pulse
Definition at line 151 of file seqgradecho.h.
|
virtual |
This function can be used to specify a rotation of the gradient object in the spatial domain, the rotation will be applied to this object only rather than to the whole sequence.
Implements SeqGradInterface.
SeqGradEcho& SeqGradEcho::set_midpart | ( | const SeqObjBase & | soa | ) |
Places an additional sequence object between excitation and readout
SeqGradEcho& SeqGradEcho::set_pe_reorder_scheme | ( | reorderScheme | scheme, |
unsigned int | nsegments | ||
) |
Sets the reordering scheme and the number of segments for phase encoding
|
inlinevirtual |
Changes the strength of the gradient object
Implements SeqGradInterface.
Definition at line 174 of file seqgradecho.h.
|
virtual |
Sets the template mode of this acquisition object. This is also relevant for automatic reconstruction.
Reimplemented from SeqAcqInterface.