ODIN
|
Diffusion Weighting. More...
#include <seqdiffweight.h>
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) | |
SeqDiffWeight & | operator= (const SeqDiffWeight &sgdw) |
const SeqGradInterface & | get_grad1 () const |
const SeqGradInterface & | get_grad2 () const |
double | get_grad1_duration () const |
double | get_grad2_duration () const |
double | get_midpart_duration () const |
const darray & | get_b_vectors () const |
SeqGradInterface & | set_strength (float gradstrength) |
SeqGradInterface & | invert_strength () |
float | get_strength () const |
fvector | get_gradintegral () const |
double | get_gradduration () const |
SeqGradInterface & | set_gradrotmatrix (const RotMatrix &matrix) |
void | clear_container () |
bool | is_qualvector () const |
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 SeqSimultanVector | |
SeqSimultanVector (const STD_string &object_label="unnamedSeqSimultanVector") | |
SeqSimultanVector (const SeqSimultanVector &ssv) | |
SeqSimultanVector & | operator= (const SeqSimultanVector &ssv) |
SeqSimultanVector & | operator+= (const SeqVector &sv) |
SeqSimultanVector & | clear () |
svector | get_vector_commands (const STD_string &iterator) const |
unsigned int | get_vectorsize () const |
unsigned int | get_numof_iterations () const |
STD_string | get_loopcommand () const |
nestingRelation | get_nesting_relation () const |
bool | needs_unrolling_check () const |
bool | prep_iteration () const |
bool | is_qualvector () const |
Public Member Functions inherited from SeqVector | |
SeqVector (const STD_string &object_label="unnamedSeqVector") | |
SeqVector (const STD_string &object_label, unsigned int nindices, int slope=1, int offset=0) | |
SeqVector (const SeqVector &sv) | |
virtual | ~SeqVector () |
SeqVector & | operator= (const SeqVector &sv) |
virtual int | get_current_index () const |
int | get_acq_index () const |
virtual bool | is_acq_vector () const |
virtual bool | is_obj_vector () const |
SeqVector & | set_indexvec (const ivector &iv) |
ivector | get_indexvec () const |
SeqVector & | set_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1) |
SeqVector & | set_encoding_scheme (encodingScheme scheme) |
const SeqVector & | get_reorder_vector () const |
iarray | get_index_matrix () const |
int | get_current_reord_index () const |
STD_string | get_reord_iterator (const STD_string &iterator) const |
Public Member Functions inherited from List< SeqVector, const SeqVector *, const SeqVector & > | |
List () | |
~List () | |
List & | operator= (const List &l) |
List & | clear () |
List & | append (const SeqVector & item) |
List & | remove (const SeqVector & 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 |
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 |
Public Types inherited from List< SeqVector, const SeqVector *, const SeqVector & > | |
typedef STD_list< const SeqVector * >::iterator | iter |
typedef STD_list< const SeqVector * >::const_iterator | constiter |
Protected Member Functions inherited from SeqObjList | |
void | clear_container () |
bool | prep () |
Protected Member Functions inherited from SeqClass | |
void | marshall_error () const |
Protected Member Functions inherited from SeqVector | |
virtual svector | get_reord_vector_commands (const STD_string &iterator) const |
bool | is_handled () const |
Static Protected Member Functions inherited from SeqClass | |
static void | clear_temporary () |
static void | clear_containers () |
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.
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:
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:
SeqDiffWeight::SeqDiffWeight | ( | const STD_string & | object_label = "unnamedSeqDiffWeight" | ) |
Default constructor
|
inline |
Copy constructor
Definition at line 96 of file seqdiffweight.h.
|
inlinevirtual |
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.
|
inline |
Returns the b-vectors used in subsequent order.
Definition at line 131 of file seqdiffweight.h.
|
inline |
Returns the first gradient lobe
Definition at line 106 of file seqdiffweight.h.
|
inline |
Returns the duration of the first gradient lobe
Definition at line 116 of file seqdiffweight.h.
|
inline |
Returns the second gradient lobe
Definition at line 111 of file seqdiffweight.h.
|
inline |
Returns the duration of the second gradient lobe
Definition at line 121 of file seqdiffweight.h.
|
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.
|
virtual |
Returns the integral vector of the gradient course
Implements SeqGradInterface.
|
inline |
Returns the duration of the part in the middle between the two gradient lobes
Definition at line 126 of file seqdiffweight.h.
|
virtual |
Returns the strength of the gradient object
Implements SeqGradInterface.
|
virtual |
Changes the polarity of the gradient, i.e. inverts the sign of the gradient strength
Implements SeqGradInterface.
|
inlinevirtual |
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 SeqVector.
Definition at line 149 of file seqdiffweight.h.
SeqDiffWeight& SeqDiffWeight::operator= | ( | const SeqDiffWeight & | sgdw | ) |
Assignment operator
|
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.
|
virtual |
Changes the strength of the gradient object
Implements SeqGradInterface.