ODIN
Public Member Functions | List of all members

Gradient echo module. More...

#include <seqgradecho.h>

Inheritance diagram for SeqGradEcho:
Inheritance graph
[legend]

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 ()
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SeqGradEcho() [1/4]

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:

  • exc: The excitation pulse
  • sweepwidth: The sampling frequency
  • readnpts: Matrix size in frequency-encoding direction
  • FOVread: The FOV in frequency-encoding direction
  • phasenpts: Matrix size in phase-encoding direction
  • FOVphase: The FOV in phase-encoding direction
  • scheme: The phase encoding scheme
  • reorder: The reordering scheme
  • nsegments: The number of segments for segmented reordering
  • reduction: Reduction factor for parallel imaging (sparsely sampled k-space)
  • acl_bands: Number of autocalibration bands (bunch of adjacent lines between actual k-space lines) for GRAPPA
  • balanced: Whether rephasers (+ exc dephaser) should be added after acquisition, suitable for SSFP sequences
  • partial_fourier_phase: The amount of partial Fourier undersampling in phase encoding direction (0=no undersampling, 1=half fourier)
  • partial_fourier_read: The amount of partial Fourier undersampling in readout direction (0=no undersampling, 1=half fourier)
  • partial_fourier_read_at_end: If set to 'true', partial Fourier will omit data at the end of the readout
  • os_factor: The oversampling factor, os_factor=1 means no oversampling
  • nucleus: The nucleus to observe

◆ SeqGradEcho() [2/4]

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:

  • readnpts: Matrix size in frequency-encoding direction
  • FOVread: The FOV in frequency-encoding direction
  • phasenpts: Matrix size in phase-encoding direction
  • FOVphase: The FOV in phase-encoding direction
  • slicenpts: Matrix size in the 2nd phase-encoding (slice) direction
  • FOVslice: The FOV in the 2nd phase-encoding (slice) direction
  • exc: The excitation pulse
  • sweepwidth: The sampling frequency
  • reduction: Reduction factor for parallel imaging (sparsely sampled k-space), the factor applies to both phase-encoding directions
  • acl_bands: Number of autocalibration bands (bunch of adjacent lines between actual k-space lines) for GRAPPA
  • balanced: Whether rephasers (+ exc dephaser) should be added after acquisition, suitable for SSFP sequences
  • partial_fourier_phase: The amount of partial Fourier undersampling in phase encoding direction (0=no undersampling, 1=half fourier)
  • partial_fourier_phase3d: The amount of partial Fourier undersampling in 2nd phase encoding direction (0=no undersampling, 1=half fourier)
  • partial_fourier_read: The amount of partial Fourier undersampling in readout direction (0=no undersampling, 1=half fourier)
  • partial_fourier_read_at_end: If set to 'true', partial Fourier will omit data at the end of the readout
  • os_factor: The oversampling factor, os_factor=1 means no oversampling
  • nucleus: The nucleus to observe

◆ SeqGradEcho() [3/4]

SeqGradEcho::SeqGradEcho ( const STD_string &  object_label = "unnamedSeqGradEcho")

Constructs an empty SeqGradEcho

◆ SeqGradEcho() [4/4]

SeqGradEcho::SeqGradEcho ( const SeqGradEcho &  sge)

Constructs a copy of 'sge'

Member Function Documentation

◆ get_acquisition_center()

double SeqGradEcho::get_acquisition_center ( ) const
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.

◆ get_acquisition_start()

double SeqGradEcho::get_acquisition_start ( ) const
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.

◆ get_echo_time()

double SeqGradEcho::get_echo_time ( ) const

Returns the echo time (from the middle of excitation pulse to the middle of the acquisition window)

◆ get_exc_vector()

const SeqVector& SeqGradEcho::get_exc_vector ( ) const
inline

Returns the excitation pulse as a sequence object (for loop insertion)

Definition at line 146 of file seqgradecho.h.

◆ get_freq_reorder_vector()

const SeqVector& SeqGradEcho::get_freq_reorder_vector ( ) const
inline

Returns the reorder vector for the frequency list of the excitation pulse (for loop insertion)

Definition at line 158 of file seqgradecho.h.

◆ get_gradduration()

double SeqGradEcho::get_gradduration ( ) const
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.

◆ get_gradintegral()

fvector SeqGradEcho::get_gradintegral ( ) const
virtual

Returns the integral vector of the gradient course

Implements SeqGradInterface.

◆ get_pe3d_vector()

SeqVector& SeqGradEcho::get_pe3d_vector ( )

Returns the 2nd phase encoding vector as a sequence object (for loop insertion)

◆ get_pe_reorder_vector()

const SeqVector& SeqGradEcho::get_pe_reorder_vector ( ) const

Returns the phase encoding reordering vector (for loop insertion)

◆ get_pe_vector()

SeqVector& SeqGradEcho::get_pe_vector ( )

Returns the phase encoding vector as a sequence object (for loop insertion)

◆ get_strength()

float SeqGradEcho::get_strength ( ) const
inlinevirtual

Returns the strength of the gradient object

Implements SeqGradInterface.

Definition at line 175 of file seqgradecho.h.

◆ invert_strength()

SeqGradInterface& SeqGradEcho::invert_strength ( )
virtual

Changes the polarity of the gradient, i.e. inverts the sign of the gradient strength

Implements SeqGradInterface.

◆ operator=()

SeqGradEcho& SeqGradEcho::operator= ( const SeqGradEcho &  sge)

Assignment operator that makes this object become a copy of 'sge'

◆ set_freq_reorder_scheme()

SeqGradEcho& SeqGradEcho::set_freq_reorder_scheme ( reorderScheme  scheme,
unsigned int  nsegments = 1 
)
inline

Sets the reordering scheme for the frequency list of the excitation pulse

Definition at line 151 of file seqgradecho.h.

◆ set_gradrotmatrix()

SeqGradInterface& SeqGradEcho::set_gradrotmatrix ( const RotMatrix &  matrix)
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.

◆ set_midpart()

SeqGradEcho& SeqGradEcho::set_midpart ( const SeqObjBase &  soa)

Places an additional sequence object between excitation and readout

◆ set_pe_reorder_scheme()

SeqGradEcho& SeqGradEcho::set_pe_reorder_scheme ( reorderScheme  scheme,
unsigned int  nsegments 
)

Sets the reordering scheme and the number of segments for phase encoding

◆ set_strength()

SeqGradInterface& SeqGradEcho::set_strength ( float  gradstrength)
inlinevirtual

Changes the strength of the gradient object

Implements SeqGradInterface.

Definition at line 174 of file seqgradecho.h.

◆ set_template_type()

SeqAcqInterface& SeqGradEcho::set_template_type ( templateType  type)
virtual

Sets the template mode of this acquisition object. This is also relevant for automatic reconstruction.

Reimplemented from SeqAcqInterface.


The documentation for this class was generated from the following file: