Public Member Functions

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

MAGSI-based Magnetization Simulator. More...

#include <seqsim.h>

Inheritance diagram for SeqSimMagsi:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 SeqSimMagsi (const STD_string &label="unnamedSeqSimMagsi")
 SeqSimMagsi (const SeqSimMagsi &ssm)
 ~SeqSimMagsi ()
SeqSimMagsioperator= (const SeqSimMagsi &ssm)
unsigned int get_total_size () const
SeqSimMagsireset_magnetization ()
SeqSimMagsiset_initial_vector (float Mx, float My, float Mz)
const farrayget_Mx () const
const farrayget_My () const
const farrayget_Mz () const
const farrayget_Mamp () const
const farrayget_Mpha () const
SeqSimMagsiupdate ()
SeqSimMagsiset_online_simulation (bool onlineflag)
SeqSimMagsiset_intravoxel_simulation (bool ivflag)
SeqSimMagsiset_numof_threads (unsigned int n)
SeqSimMagsiset_spat_rotmatrix (const RotMatrix &rotmatrix)
bool do_simulation ()
void prepare_simulation (const Sample &sample, CoilSensitivity *transmit_coil=0, CoilSensitivity *receive_coil=0, ProgressMeter *progmeter=0)
cvector simulate (const SeqSimInterval &simvals, double gamma)
void finalize_simulation ()

Detailed Description

MAGSI-based Magnetization Simulator.

This is a simulator to calculate the time evolution of a magnetization grid in 4 dimension (frequency and three spatial dimensions). This simulation of the Bloch-Torrey equations is performed by means of the MAGSI algorith (c.f. Journal of Magnetic Resonance 180:29-38, 2006). Simulation usually involves the following steps:

Definition at line 113 of file seqsim.h.


Constructor & Destructor Documentation

SeqSimMagsi::SeqSimMagsi ( const STD_string &  label = "unnamedSeqSimMagsi"  ) 

Constructs a simulator labeled 'object_label'.

SeqSimMagsi::SeqSimMagsi ( const SeqSimMagsi ssm  ) 

Copy constructor

SeqSimMagsi::~SeqSimMagsi (  ) 

Destructor


Member Function Documentation

bool SeqSimMagsi::do_simulation (  ) 

Returns whether simulation should be performed, i.e. whether the 'online' flag is true or 'update' was activated.

void SeqSimMagsi::finalize_simulation (  )  [virtual]

Call this function after a simulation (i.e. after successive calls to simulate() )

Implements SeqSimAbstract.

const farray& SeqSimMagsi::get_Mamp (  )  const [inline]

Returns the amplitude of the transverse magnetisation

Definition at line 170 of file seqsim.h.

const farray& SeqSimMagsi::get_Mpha (  )  const [inline]

Returns the phase of the transverse magnetisation

Definition at line 175 of file seqsim.h.

const farray& SeqSimMagsi::get_Mx (  )  const [inline]

Returns the real part of the transverse magnetisation

Definition at line 155 of file seqsim.h.

const farray& SeqSimMagsi::get_My (  )  const [inline]

Returns the imaginary part of the transverse magnetisation

Definition at line 160 of file seqsim.h.

const farray& SeqSimMagsi::get_Mz (  )  const [inline]

Returns the longitudinal magnetisation

Definition at line 165 of file seqsim.h.

unsigned int SeqSimMagsi::get_total_size (  )  const [inline]

Returns the overall size of the array

Definition at line 140 of file seqsim.h.

SeqSimMagsi& SeqSimMagsi::operator= ( const SeqSimMagsi ssm  ) 

Assignment operator

void SeqSimMagsi::prepare_simulation ( const Sample sample,
CoilSensitivity transmit_coil = 0,
CoilSensitivity receive_coil = 0,
ProgressMeter progmeter = 0 
) [virtual]

Prepare a simulation (i.e. before successive calls to simulate() ) with the parameters:

  • sample: The virtual sample
  • transmit_coil: Transmitter coil, 0 for none
  • receive_coil: Receiver coil, 0 for none
  • progmeter: Status indicator to trace progress, 0 for none

Implements SeqSimAbstract.

SeqSimMagsi& SeqSimMagsi::reset_magnetization (  ) 

Set each magnetization to initial state 'initial_vector', which is (0,0,1) by default

SeqSimMagsi& SeqSimMagsi::set_initial_vector ( float  Mx,
float  My,
float  Mz 
)

Set the vector for the initial magnetization

SeqSimMagsi& SeqSimMagsi::set_intravoxel_simulation ( bool  ivflag  )  [inline]

Specifies whether intra-voxel magnetzation gradients are considered during simulation

Definition at line 192 of file seqsim.h.

SeqSimMagsi& SeqSimMagsi::set_numof_threads ( unsigned int  n  )  [inline]

Specifies the number of threads used during simulation

Definition at line 197 of file seqsim.h.

SeqSimMagsi& SeqSimMagsi::set_online_simulation ( bool  onlineflag  )  [inline]

Specifies whether simulation should be performed everytime update() is called

Definition at line 186 of file seqsim.h.

SeqSimMagsi& SeqSimMagsi::set_spat_rotmatrix ( const RotMatrix rotmatrix  ) 

Specifies a rotation matrix for the spatial domain, i.e. the magnetization array will be rotated in space using the specified rotation matrix.

cvector SeqSimMagsi::simulate ( const SeqSimInterval simvals,
double  gamma 
) [virtual]

Simulation with

  • simvals: The magnetic fields during a time interval
  • gamma: Gyromagnetic ration of the nucleus observed Return value: Signal in each receiver channel

Implements SeqSimAbstract.

SeqSimMagsi& SeqSimMagsi::update (  ) 

Updates all parameter relations


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