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

Diffusion Weighting. More...

#include <seqdiffweight.h>

Inheritance diagram for SeqDiffWeight:

Inheritance graph
[legend]
Collaboration diagram for SeqDiffWeight:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SeqDiffWeight (const STD_string &object_label, const fvector &bvals, float maxgradstrength, const SeqObjBase &midpart, channelNo 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 49 of file seqdiffweight.h.


Constructor & Destructor Documentation

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

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

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

Default constructor

SeqDiffWeight::SeqDiffWeight ( const SeqDiffWeight sgdw  ) 

Copy constructor


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 85 of file seqdiffweight.h.

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

Returns the second gradient lobe

Definition at line 90 of file seqdiffweight.h.

double SeqDiffWeight::get_grad1_duration (  )  const [inline]

Returns the duration of the first gradient lobe

Definition at line 95 of file seqdiffweight.h.

double SeqDiffWeight::get_grad2_duration (  )  const [inline]

Returns the duration of the second gradient lobe

Definition at line 100 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 105 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 126 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 130 of file seqdiffweight.h.


The documentation for this class was generated from the following file:
Generated on Sat Jun 14 12:32:17 2008 by  doxygen 1.5.1