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

Advandced RF pulses. More...

#include <odinpulse.h>

Inheritance diagram for OdinPulse:

Inheritance graph
[legend]
Collaboration diagram for OdinPulse:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 OdinPulse (const STD_string &pulse_label="unnamedOdinPulse", bool interactive=false)
 OdinPulse (const OdinPulse &pulse)
OdinPulseoperator= (const OdinPulse &pulse)
OdinPulseset_dim_mode (funcMode dmode)
funcMode get_dim_mode () const
unsigned int get_size () const
OdinPulseresize (unsigned int newsize)
OdinPulseset_Tp (double duration)
double get_Tp () const
OdinPulseset_consider_system_cond (bool flag)
bool get_consider_system_cond () const
OdinPulseset_consider_Nyquist_cond (bool flag)
bool get_consider_Nyquist_cond () const
OdinPulseset_spat_resolution (double sigma)
OdinPulseuse_min_spat_resolution (bool flag)
double get_spat_resolution () const
OdinPulseset_field_of_excitation (double fox)
double get_field_of_excitation () const
OdinPulseset_spatial_offset (channelNo direction, double offset)
double get_spatial_offset (channelNo direction) const
OdinPulseset_nucleus (const STD_string &nucleusname)
STD_string get_nucleus () const
OdinPulseset_pulse_type (pulseType type)
pulseType get_pulse_type () const
OdinPulseset_composite_pulse (const STD_string &cpstring)
farray get_composite_pulse_parameters () const
bool is_composite_pulse () const
unsigned int get_numof_composite_pulse () const
bool is_adiabatic () const
float get_rel_center () const
double get_pulse_gain () const
float get_flipangle_corr_factor () const
OdinPulseset_flipangle (double angle)
double get_flipangle () const
OdinPulsegenerate ()
OdinPulseset_pulse_gain ()
virtual OdinPulseupdate (JDXeditWidget *guiwidget=0)
float get_power_depos () const
OdinPulseset_shape (const STD_string &shapeval)
OdinPulseset_trajectory (const STD_string &shapeval)
OdinPulseset_filter (const STD_string &shapeval)
OdinPulseset_shape_parameter (const STD_string &parameter_label, const STD_string &value)
OdinPulseset_trajectory_parameter (const STD_string &parameter_label, const STD_string &value)
OdinPulseset_filter_parameter (const STD_string &parameter_label, const STD_string &value)
STD_string get_shape_parameter (const STD_string &parameter_label) const
STD_string get_trajectory_parameter (const STD_string &parameter_label) const
STD_string get_filter_parameter (const STD_string &parameter_label) const
STD_string get_shape () const
STD_string get_trajectory () const
STD_string get_filter () const
const fvectorget_Grad (channelNo channel) const
double get_G0 () const
const cvectorget_B1 () const
double get_B10 () const
void simulate_pulse (SeqSimAbstract &sim, const Sample &sample) const
int write_rf_waveform (const STD_string &filename) const
int load_rf_waveform (const STD_string &filename)
int load (const STD_string &filename)
int write (const STD_string &filename) const

Detailed Description

Advandced RF pulses.

This class represents an advanced RF pulse. The RF and gradient shape will be calculated according to a set of given parameters.

Definition at line 126 of file odinpulse.h.


Constructor & Destructor Documentation

OdinPulse::OdinPulse ( const STD_string &  pulse_label = "unnamedOdinPulse",
bool  interactive = false 
)

Constructs an OdinPulse with the given label. If 'interactive' is set to 'true', the RF, gradient shape and pulse_gain will be recalculted each time a parameter has been changed

OdinPulse::OdinPulse ( const OdinPulse pulse  ) 

Constructs an OdinPulse which is a copy of 'pulse'


Member Function Documentation

OdinPulse& OdinPulse::operator= ( const OdinPulse pulse  ) 

This assignment operator will make this OdinPulse become an exact copy of 'pulse'.

OdinPulse& OdinPulse::set_dim_mode ( funcMode  dmode  ) 

Sets the pulse mode (dimensionality) of the pulse

funcMode OdinPulse::get_dim_mode (  )  const

Returns the pulse mode (dimensionality) of the pulse

unsigned int OdinPulse::get_size (  )  const

Returns the number of data points

OdinPulse& OdinPulse::resize ( unsigned int  newsize  ) 

specifies number of data points

OdinPulse& OdinPulse::set_Tp ( double  duration  ) 

Sets the duration of the pulse

double OdinPulse::get_Tp (  )  const

Returns the duration of the pulse

OdinPulse& OdinPulse::set_consider_system_cond ( bool  flag  ) 

Specifies whether to consider maximum gradient strength and slew-rate while calculating the trajectory.

bool OdinPulse::get_consider_system_cond (  )  const

Returns whether to consider maximum gradient strength and slew-rate while calculating the trajectory.

OdinPulse& OdinPulse::set_consider_Nyquist_cond ( bool  flag  ) 

Specifies whether to consider Nyquist-theorem while sampling along the k-space trajectory.

bool OdinPulse::get_consider_Nyquist_cond (  )  const

Returns whether to consider Nyquist-theorem while sampling along the k-space trajectory.

OdinPulse& OdinPulse::set_spat_resolution ( double  sigma  ) 

Sets the spatial resolution if the pulse is calculated according to the small tip angle approximation, otherwise this has no effect.

OdinPulse& OdinPulse::use_min_spat_resolution ( bool  flag  ) 

Sets whether minimum spatial resolution is used.

double OdinPulse::get_spat_resolution (  )  const

Returns the spatial resolution

OdinPulse& OdinPulse::set_field_of_excitation ( double  fox  ) 

Sets the field of excitation, i.e. the spatial area where no aliasing occurs

double OdinPulse::get_field_of_excitation (  )  const

Returns the field of excitation

OdinPulse& OdinPulse::set_spatial_offset ( channelNo  direction,
double  offset 
)

Sets the spatial offset in the given direction

double OdinPulse::get_spatial_offset ( channelNo  direction  )  const

Returns the spatial offset in the given direction

OdinPulse& OdinPulse::set_nucleus ( const STD_string &  nucleusname  ) 

Sets the nucleus for the pulse

Reimplemented in SeqPulsar.

STD_string OdinPulse::get_nucleus (  )  const

Returns the nucleus for the pulse

OdinPulse& OdinPulse::set_pulse_type ( pulseType  type  ) 

Sets the type of the pulse, this is necessary for calculating the pulse gain of adiabatic pulses and optimization of pulses.

Reimplemented in SeqPulsar.

pulseType OdinPulse::get_pulse_type (  )  const

Returns the type of the pulse

Reimplemented in SeqPulsar.

OdinPulse& OdinPulse::set_composite_pulse ( const STD_string &  cpstring  ) 

Specifies the composite pulse to use. A composite pulse can be specified by a string of the form a1(x2) a2(x2) ... where a1,a2,... are the flipangles in degree and x1,x2,... are the axes, .e.g. X,-X,Y or -Y.

farray OdinPulse::get_composite_pulse_parameters (  )  const

Returns a 2dim array with the first index indicating the pulse in the composite pulse train and the second index selects the flipangle(=0) or pulse phase(=1) of the sub-pulse.

bool OdinPulse::is_composite_pulse (  )  const

Returns 'true' if the pulse is a composite pulse

unsigned int OdinPulse::get_numof_composite_pulse (  )  const

Returns the number of composite pulses

bool OdinPulse::is_adiabatic (  )  const

Returns whether the pulse shape is adiabatic

float OdinPulse::get_rel_center (  )  const

Returns the relative center of the pulse, i.e. the point where the center of k-space is passed. The value will be in the range in the range [0,1].

double OdinPulse::get_pulse_gain (  )  const

Returns the pulse gain

float OdinPulse::get_flipangle_corr_factor (  )  const

Returns the correction factor for the IDEA flipangle

OdinPulse& OdinPulse::set_flipangle ( double  angle  ) 

Sets the flip angle

double OdinPulse::get_flipangle (  )  const

Returns the flip angle

Reimplemented in SeqPulsar.

OdinPulse& OdinPulse::generate (  ) 

Generates the pulse

OdinPulse& OdinPulse::set_pulse_gain (  ) 

Calculates the pulse gain in comparison to a 90deg 1ms block-shaped pulse

virtual OdinPulse& OdinPulse::update ( JDXeditWidget guiwidget = 0  )  [virtual]

Update all relations and recalculate pulse

float OdinPulse::get_power_depos (  )  const

Calculates the power deposition of the pulse

OdinPulse& OdinPulse::set_shape ( const STD_string &  shapeval  ) 

Specifies the pulse shape and its parameters by a string where the first element is the function name followed by the parameters in braces separated by commas

OdinPulse& OdinPulse::set_trajectory ( const STD_string &  shapeval  ) 

Specifies the pulse trajectory and its parameters by a string where the first element is the function name followed by the parameters in braces separated by commas

OdinPulse& OdinPulse::set_filter ( const STD_string &  shapeval  ) 

Specifies the pulse filter and its parameters by a string where the first element is the function name followed by the parameters in braces separated by commas

OdinPulse& OdinPulse::set_shape_parameter ( const STD_string &  parameter_label,
const STD_string &  value 
)

Sets the value of the pulse shape parameter which has the label 'parameter_label' to 'value'

OdinPulse& OdinPulse::set_trajectory_parameter ( const STD_string &  parameter_label,
const STD_string &  value 
)

Sets the value of the pulse trajectory parameter which has the label 'parameter_label' to 'value'

OdinPulse& OdinPulse::set_filter_parameter ( const STD_string &  parameter_label,
const STD_string &  value 
)

Sets the value of the pulse filter parameter which has the label 'parameter_label' to 'value'

STD_string OdinPulse::get_shape_parameter ( const STD_string &  parameter_label  )  const

Returns the value of the pulse shape parameter which has the given label

STD_string OdinPulse::get_trajectory_parameter ( const STD_string &  parameter_label  )  const

Returns the value of the pulse trajectory parameter which has the given label

STD_string OdinPulse::get_filter_parameter ( const STD_string &  parameter_label  )  const

Returns the value of the pulse filter parameter which has the given label

STD_string OdinPulse::get_shape (  )  const

Returns the label of the current pulse shape

STD_string OdinPulse::get_trajectory (  )  const

Returns the label of the current pulse trajectory

STD_string OdinPulse::get_filter (  )  const

Returns the label of the current pulse filter

const fvector& OdinPulse::get_Grad ( channelNo  channel  )  const

Returns the gradient waveform for the specified channel

double OdinPulse::get_G0 (  )  const

Returns the scaling factor for the gradient channels

const cvector& OdinPulse::get_B1 (  )  const

Returns the complex RF waveform

double OdinPulse::get_B10 (  )  const

Returns the scaling factor for the RF channels

void OdinPulse::simulate_pulse ( SeqSimAbstract sim,
const Sample sample 
) const

Simulates the effect of the pulse using simulator 'sim' using virtual sample 'sample'.

int OdinPulse::write_rf_waveform ( const STD_string &  filename  )  const

This function writes the RF waveform to file in the native (binary) format of the current platform

int OdinPulse::load_rf_waveform ( const STD_string &  filename  ) 

This function loads the RF waveform from file in the native (binary) format of the current platform

int OdinPulse::load ( const STD_string &  filename  )  [virtual]

Loads the parameter(s) from a JCAMP-DX file. In case of calling this function of a single paramter, the file is searched for this parameter and the value is assigned. In case of a parameter block, all parameter values are taken from the file. The return value is the number of parameters which are successfully parsed. If an error occurs, -1 is returned.

Reimplemented from JcampDxBlock.

int OdinPulse::write ( const STD_string &  filename  )  const [virtual]

Writes the parameter(s) to a JCAMP-DX file. In case of calling this function of a single paramter, the file will consist of only this parameter. In case of a parameter block, all parameter values are written to the file. If an error occurs, -1 is returned.

Reimplemented from JcampDxBlock.


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