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)
 
SeqGradEchooperator= (const SeqGradEcho &sge)
 
SeqVectorget_pe_vector ()
 
SeqGradEchoset_pe_reorder_scheme (reorderScheme scheme, unsigned int nsegments)
 
const SeqVectorget_pe_reorder_vector () const
 
SeqVectorget_pe3d_vector ()
 
const SeqVectorget_exc_vector () const
 
SeqGradEchoset_freq_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
const SeqVectorget_freq_reorder_vector () const
 
double get_echo_time () const
 
SeqGradEchoset_midpart (const SeqObjBase &soa)
 
SeqGradInterfaceset_strength (float gradstrength)
 
float get_strength () const
 
SeqGradInterfaceinvert_strength ()
 
double get_gradduration () const
 
SeqGradInterfaceset_gradrotmatrix (const RotMatrix &matrix)
 
fvector get_gradintegral () const
 
double get_acquisition_center () const
 
double get_acquisition_start () const
 
SeqAcqInterfaceset_template_type (templateType type)
 
- Public Member Functions inherited from SeqObjList
 SeqObjList (const STD_string &object_label="unnamedSeqObjList")
 
 SeqObjList (const SeqObjList &so)
 
SeqObjListoperator= (const SeqObjList &so)
 
SeqObjListoperator= (const SeqObjLoop &sl)
 
SeqObjListoperator= (const SeqDecoupling &sd)
 
SeqObjListoperator= (const SeqObjBase &soa)
 
SeqObjListoperator= (SeqGradObjInterface &sgoa)
 
SeqObjListoperator= (SeqGradChan &sgc)
 
SeqObjListoperator= (SeqGradChanList &sgcl)
 
SeqObjListoperator+= (const SeqObjBase &soa)
 
SeqObjListoperator+= (SeqGradObjInterface &sgoa)
 
SeqObjListoperator+= (SeqGradChan &sgc)
 
SeqObjListoperator+= (SeqGradChanList &sgcl)
 
SeqObjListset_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
SeqClassset_temporary ()
 
- Public Member Functions inherited from Labeled
 Labeled (const STD_string &label="unnamed")
 
Labeledset_label (const STD_string &label)
 
const STD_string & get_label () const
 
Labeledoperator= (const Labeled &l)
 
- Public Member Functions inherited from List< SeqObjBase, const SeqObjBase *, const SeqObjBase & >
 List ()
 
 ~List ()
 
Listoperator= (const List &l)
 
Listclear ()
 
Listappend (const SeqObjBase & item)
 
Listremove (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 SeqAcqInterfaceset_sweepwidth (double sw, float os_factor)
 
virtual double get_sweepwidth () const
 
virtual float get_oversampling () const
 
virtual SeqAcqInterfaceset_readout_shape (const fvector &shape, unsigned int dstsize)
 
virtual SeqAcqInterfaceset_reco_vector (recoDim dim, const SeqVector &vec, const dvector &valvec=dvector())
 
virtual SeqAcqInterfaceset_default_reco_index (recoDim dim, unsigned int index)
 
virtual SeqAcqInterfaceset_reflect_flag (bool flag)
 
- Public Member Functions inherited from SeqFreqChanInterface
virtual SeqFreqChanInterfaceset_nucleus (const STD_string &nucleus)
 
virtual SeqFreqChanInterfaceset_freqlist (const dvector &freqlist)
 
virtual SeqFreqChanInterfaceset_phaselist (const dvector &phaselist)
 
virtual const SeqVectorget_freqlist_vector () const
 
virtual const SeqVectorget_phaselist_vector () const
 
 operator const SeqVector & () const
 
virtual SeqFreqChanInterfaceset_encoding_scheme (encodingScheme scheme)
 
virtual SeqFreqChanInterfaceset_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
virtual const SeqVectorget_reorder_vector () const
 
virtual SeqFreqChanInterfaceset_phaselist_encoding_scheme (encodingScheme scheme)
 
virtual SeqFreqChanInterfaceset_phaselist_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
virtual const SeqVectorget_phaselist_reorder_vector () const
 
SeqFreqChanInterfaceset_freqoffset (double freqoffset)
 
SeqFreqChanInterfaceset_phase (double phaseval)
 
SeqFreqChanInterfaceset_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: