Public Member Functions

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, unsigned int ndir, const fvector &bvals, float maxgradstrength, const SeqObjBase &midpart, unsigned int baseline_rep=0, bool stejskalTanner=false, const STD_string &nucleus="")
 SeqDiffWeight (const STD_string &object_label="unnamedSeqDiffWeight")
 SeqDiffWeight (const SeqDiffWeight &sgdw)
SeqDiffWeightoperator= (const SeqDiffWeight &sgdw)
const SeqGradInterfaceget_grad1 () const
const SeqGradInterfaceget_grad2 () const
double get_grad1_duration () const
double get_grad2_duration () const
double get_midpart_duration () const
const darrayget_b_vectors () const
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 ()

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,
unsigned int  ndir,
const fvector bvals,
float  maxgradstrength,
const SeqObjBase midpart,
unsigned int  baseline_rep = 0,
bool  stejskalTanner = false,
const STD_string &  nucleus = "" 
)

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

  • ndir: Number of uniformly ditributed directions
  • 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.
  • baseline_rep: Repetition rate of the baseline (b=0) scan. Not repeated if zero.
  • 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 96 of file seqdiffweight.h.


Member Function Documentation

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 SeqClass.

Definition at line 145 of file seqdiffweight.h.

const darray& SeqDiffWeight::get_b_vectors (  )  const [inline]

Returns the b-vectors used in subsequent order.

Definition at line 131 of file seqdiffweight.h.

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

Returns the first gradient lobe

Definition at line 106 of file seqdiffweight.h.

double SeqDiffWeight::get_grad1_duration (  )  const [inline]

Returns the duration of the first gradient lobe

Definition at line 116 of file seqdiffweight.h.

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

Returns the second gradient lobe

Definition at line 111 of file seqdiffweight.h.

double SeqDiffWeight::get_grad2_duration (  )  const [inline]

Returns the duration of the second gradient lobe

Definition at line 121 of file seqdiffweight.h.

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.

fvector SeqDiffWeight::get_gradintegral (  )  const [virtual]

Returns the integral vector of the gradient course

Implements SeqGradInterface.

double SeqDiffWeight::get_midpart_duration (  )  const [inline]

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

Definition at line 126 of file seqdiffweight.h.

float SeqDiffWeight::get_strength (  )  const [virtual]

Returns 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.

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

Assignment operator

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.

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

Changes the strength of the gradient object

Implements SeqGradInterface.


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