SeqDiffWeight Class Reference
[Classes for sequence design (odinseq library)]

Diffusion Weighting. More...

#include <seqdiffweight.h>

Inheritance diagram for SeqDiffWeight:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 SeqDiffWeight (const STD_string &object_label, const fvector &bvals, float maxgradstrength, const SeqObjBase &midpart, direction chan, bool stejskalTanner=false, const STD_string &nucleus="")
 SeqDiffWeight (const STD_string &object_label="unnamedSeqDiffWeight")
 SeqDiffWeight (const SeqDiffWeight &sgdw)
SeqDiffWeightoperator= (const SeqDiffWeight &sgdw)
const SeqGradVectorPulseget_grad1 () const
const SeqGradVectorPulseget_grad2 () const
double get_grad1_duration () const
double get_grad2_duration () const
double get_midpart_duration () const
SeqDiffWeightset_gradrotmatrixvector (const SeqRotMatrixVector &matrixVec)
SeqGradInterfaceset_strength (float gradstrength)
SeqGradInterfaceinvert_strength ()
float get_strength () const
fvector get_gradintegral () const
double get_gradduration () const
SeqGradInterfaceset_gradrotmatrix (const RotMatrix &matrix)
void clear_container ()
bool is_qualvector () const


Detailed Description

Diffusion Weighting.

A bipolar gradient pulse for diffusion weighting

The b-value and the properties of the gradient pulses are connected through the equation

b = gamma^2 * delta^2 ( Delta - delta/3 ) G^2

The order in which the series of b-values is played out can be cyclically reordered by using the vector which is returned by the get_reorder_vector() function: At each iteration of this vector, the b-values are exchanged cyclically.

Definition at line 53 of file seqdiffweight.h.


Constructor & Destructor Documentation

SeqDiffWeight::SeqDiffWeight ( const STD_string &  object_label,
const fvector bvals,
float  maxgradstrength,
const SeqObjBase midpart,
direction  chan,
bool  stejskalTanner = false,
const STD_string &  nucleus = "" 
)

Constructs a bipolar gradient pulse labeled 'object_label' with the following properties:

  • bvals: The b-values for diffusion weighting, a postive value means that the first gradient pulse will have positive polarity and the second gradient pulse a negative polarity. These polarities are swapped in case of a negative b-value.
  • maxgradstrength: The maximum gradient strength to use for the maximum b-value
  • midpart: The sequence part which will be enclosed by the two gradient pulses.
  • chan: The gradient channel for the gradient pulses.
  • stejskalTanner: If set to 'true', both gradients will have the same polarity
  • nucleus: The nucleus for which the gradient pulses will be calculated

SeqDiffWeight::SeqDiffWeight ( const STD_string &  object_label = "unnamedSeqDiffWeight"  ) 

Default constructor

SeqDiffWeight::SeqDiffWeight ( const SeqDiffWeight sgdw  )  [inline]

Copy constructor

Definition at line 79 of file seqdiffweight.h.


Member Function Documentation

SeqDiffWeight& SeqDiffWeight::operator= ( const SeqDiffWeight sgdw  ) 

Assignment operator

const SeqGradVectorPulse& SeqDiffWeight::get_grad1 (  )  const [inline]

Returns the first gradient lobe

Definition at line 89 of file seqdiffweight.h.

const SeqGradVectorPulse& SeqDiffWeight::get_grad2 (  )  const [inline]

Returns the second gradient lobe

Definition at line 94 of file seqdiffweight.h.

double SeqDiffWeight::get_grad1_duration (  )  const [inline]

Returns the duration of the first gradient lobe

Definition at line 99 of file seqdiffweight.h.

double SeqDiffWeight::get_grad2_duration (  )  const [inline]

Returns the duration of the second gradient lobe

Definition at line 104 of file seqdiffweight.h.

double SeqDiffWeight::get_midpart_duration (  )  const [inline]

Returns the duration of the part in the middle between the two gradient lobes

Definition at line 109 of file seqdiffweight.h.

SeqDiffWeight& SeqDiffWeight::set_gradrotmatrixvector ( const SeqRotMatrixVector matrixVec  ) 

Specifies a vector of rotatition matrices in order to rotate the diffusion vector gradient in space. The sequence vector 'matrixVec' can be attached to a loop to iterate over the different matrices/directions.

SeqGradInterface& SeqDiffWeight::set_strength ( float  gradstrength  )  [virtual]

Changes the strength of the gradient object

Implements SeqGradInterface.

SeqGradInterface& SeqDiffWeight::invert_strength (  )  [virtual]

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

Implements SeqGradInterface.

float SeqDiffWeight::get_strength (  )  const [virtual]

Returns the strength of the gradient object

Implements SeqGradInterface.

fvector SeqDiffWeight::get_gradintegral (  )  const [virtual]

Returns the integral vector of the gradient course

Implements SeqGradInterface.

double SeqDiffWeight::get_gradduration (  )  const [virtual]

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.

SeqGradInterface& SeqDiffWeight::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.

void SeqDiffWeight::clear_container (  )  [inline, virtual]

Overload this function in case the class is a container object, i.e. it contains other sequence objects. The function should clear all references to other sequence objects, i.e. to thos it contains.

Reimplemented from SeqObjList.

Definition at line 130 of file seqdiffweight.h.

bool SeqDiffWeight::is_qualvector (  )  const [inline, virtual]

Overload this function to tell whether the vector qualitatively alters the sequence concerning timings and RF power deposition. This is useful for accelerating duration and SAR calculations (Siemens).

Reimplemented from SeqSimultanVector.

Definition at line 134 of file seqdiffweight.h.


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

Generated on Wed Sep 30 15:33:16 2009 by  doxygen 1.5.6