ODIN
Public Member Functions | List of all members

Advandced RF pulses. More...

#include <odinpulse.h>

Inheritance diagram for OdinPulse:
Inheritance graph
[legend]

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 (direction direction, double offset)
 
double get_spatial_offset (direction 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 ()
 
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 (direction 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, const LDRserBase &serializer=LDRserJDX())
 
- Public Member Functions inherited from LDRblock
 LDRblock (const STD_string &title="Parameter List")
 
 LDRblock (const LDRblock &block)
 
 ~LDRblock ()
 
LDRblockoperator= (const LDRblock &block)
 
LDRblockmerge (LDRblock &block, bool onlyUserPars=true)
 
LDRblockunmerge (LDRblock &block)
 
STD_string printval (const STD_string &parameterName, bool append_unit=false) const
 
bool parseval (const STD_string &parameterName, const STD_string &value)
 
int parseblock (const STD_string &source, const LDRserBase &serializer=LDRserJDX())
 
unsigned int numof_pars () const
 
LDRbaseget_parameter (const STD_string &ldrlabel)
 
bool parameter_exists (const STD_string &ldrlabel) const
 
LDRblockset_prefix (const STD_string &prefix)
 
LDRblockset_embedded (bool embedded)
 
bool is_embedded () const
 
LDRbaseoperator[] (unsigned int i)
 
const LDRbaseoperator[] (unsigned int i) const
 
LDRbaseget_parameter_by_id (int id)
 
LDRblockcreate_copy (const LDRblock &src)
 
LDRblockappend_copy (const LDRbase &src)
 
LDRblockcopy_ldr_vals (const LDRblock &src)
 
bool operator== (const LDRblock &rhs) const
 
bool operator< (const LDRblock &rhs) const
 
bool compare (const LDRblock &rhs, const STD_list< STD_string > *exclude=0, double accuracy=0.0) const
 
STD_string print (const LDRserBase &serializer=LDRserJDX()) const
 
LDRbaseset_parmode (parameterMode parameter_mode)
 
LDRbaseset_filemode (fileMode file_mode)
 
STD_string get_parx_code (parxCodeType type) const
 
STD_ostream & print2stream (STD_ostream &os, const LDRserBase &serializer) const
 
bool parsevalstring (const STD_string &, const LDRserBase *ser=0)
 
bool parse (STD_string &parstring, const LDRserBase &serializer)
 
STD_string printvalstring (const LDRserBase *ser=0) const
 
LDRbasecreate_copy () const
 
STD_string get_typeInfo (bool parx_equivtype=false) const
 
int write (const STD_string &filename, const LDRserBase &serializer=LDRserJDX()) const
 
- Public Member Functions inherited from LDRbase
virtual double get_minval () const
 
virtual double get_maxval () const
 
bool has_minmax () const
 
const STD_string & get_description () const
 
LDRbaseset_description (const STD_string &descr)
 
virtual svector get_alternatives () const
 
const STD_string & get_unit () const
 
LDRbaseset_unit (const STD_string &un)
 
virtual parameterMode get_parmode () const
 
virtual fileMode get_filemode () const
 
virtual GuiProps get_gui_props () const
 
virtual LDRbaseset_gui_props (const GuiProps &)
 
JcampDxProps get_jdx_props () const
 
LDRbaseset_jdx_props (const JcampDxProps &jp)
 
- Public Member Functions inherited from Labeled
 Labeled (const STD_string &label="unnamed")
 
Labeledset_label (const STD_string &label)
 
const STD_string & get_label () const
 
Labeledoperator= (const Labeled &l)
 
- Public Member Functions inherited from List< I, P, R >
 List ()
 
 ~List ()
 
Listoperator= (const List &l)
 
Listclear ()
 
Listappend (R item)
 
Listremove (R 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 SeqClass
SeqClassset_temporary ()
 

Additional Inherited Members

- Public Types inherited from List< I, P, R >
typedef STD_list< P >::iterator iter
 
typedef STD_list< P >::const_iterator constiter
 
- Protected Member Functions inherited from LDRblock
LDRblockappend_member (LDRbase &ldr, const STD_string ldrlabel="")
 
- Protected Member Functions inherited from SeqClass
void marshall_error () const
 
virtual void clear_container ()
 
virtual bool prep ()
 
- Static Protected Member Functions inherited from SeqClass
static void clear_temporary ()
 
static void clear_containers ()
 

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 122 of file odinpulse.h.

Constructor & Destructor Documentation

◆ OdinPulse() [1/2]

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() [2/2]

OdinPulse::OdinPulse ( const OdinPulse pulse)

Constructs an OdinPulse which is a copy of 'pulse'

Member Function Documentation

◆ generate()

OdinPulse& OdinPulse::generate ( )

Generates the pulse

◆ get_B1()

const cvector& OdinPulse::get_B1 ( ) const

Returns the complex RF waveform

◆ get_B10()

double OdinPulse::get_B10 ( ) const

Returns the scaling factor for the RF channels

◆ get_composite_pulse_parameters()

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.

◆ get_consider_Nyquist_cond()

bool OdinPulse::get_consider_Nyquist_cond ( ) const

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

◆ get_consider_system_cond()

bool OdinPulse::get_consider_system_cond ( ) const

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

◆ get_dim_mode()

funcMode OdinPulse::get_dim_mode ( ) const

Returns the pulse mode (dimensionality) of the pulse

◆ get_field_of_excitation()

double OdinPulse::get_field_of_excitation ( ) const

Returns the field of excitation

◆ get_filter()

STD_string OdinPulse::get_filter ( ) const

Returns the label of the current pulse filter

◆ get_filter_parameter()

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

◆ get_flipangle()

double OdinPulse::get_flipangle ( ) const

Returns the flip angle

◆ get_flipangle_corr_factor()

float OdinPulse::get_flipangle_corr_factor ( ) const

Returns the correction factor for the IDEA flipangle

◆ get_G0()

double OdinPulse::get_G0 ( ) const

Returns the scaling factor for the gradient channels

◆ get_Grad()

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

Returns the gradient waveform for the specified channel

◆ get_nucleus()

STD_string OdinPulse::get_nucleus ( ) const

Returns the nucleus for the pulse

◆ get_numof_composite_pulse()

unsigned int OdinPulse::get_numof_composite_pulse ( ) const

Returns the number of composite pulses

◆ get_power_depos()

float OdinPulse::get_power_depos ( ) const

Calculates the power deposition of the pulse

◆ get_pulse_gain()

double OdinPulse::get_pulse_gain ( ) const

Returns the pulse gain

◆ get_pulse_type()

pulseType OdinPulse::get_pulse_type ( ) const

Returns the type of the pulse

◆ get_rel_center()

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

◆ get_shape()

STD_string OdinPulse::get_shape ( ) const

Returns the label of the current pulse shape

◆ get_shape_parameter()

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

◆ get_size()

unsigned int OdinPulse::get_size ( ) const

Returns the number of data points

◆ get_spat_resolution()

double OdinPulse::get_spat_resolution ( ) const

Returns the spatial resolution

◆ get_spatial_offset()

double OdinPulse::get_spatial_offset ( direction  direction) const

Returns the spatial offset in the given direction

◆ get_Tp()

double OdinPulse::get_Tp ( ) const

Returns the duration of the pulse

◆ get_trajectory()

STD_string OdinPulse::get_trajectory ( ) const

Returns the label of the current pulse trajectory

◆ get_trajectory_parameter()

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

◆ is_adiabatic()

bool OdinPulse::is_adiabatic ( ) const

Returns whether the pulse shape is adiabatic

◆ is_composite_pulse()

bool OdinPulse::is_composite_pulse ( ) const

Returns 'true' if the pulse is a composite pulse

◆ load()

int OdinPulse::load ( const STD_string &  filename,
const LDRserBase serializer = LDRserJDX() 
)
virtual

Loads the parameter(s) from a file using format 'serializer'. 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 LDRblock.

◆ load_rf_waveform()

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

◆ operator=()

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

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

◆ resize()

OdinPulse& OdinPulse::resize ( unsigned int  newsize)

specifies number of data points

◆ set_composite_pulse()

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.

◆ set_consider_Nyquist_cond()

OdinPulse& OdinPulse::set_consider_Nyquist_cond ( bool  flag)

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

◆ set_consider_system_cond()

OdinPulse& OdinPulse::set_consider_system_cond ( bool  flag)

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

◆ set_dim_mode()

OdinPulse& OdinPulse::set_dim_mode ( funcMode  dmode)

Sets the pulse mode (dimensionality) of the pulse

◆ set_field_of_excitation()

OdinPulse& OdinPulse::set_field_of_excitation ( double  fox)

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

◆ set_filter()

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

◆ set_filter_parameter()

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'

◆ set_flipangle()

OdinPulse& OdinPulse::set_flipangle ( double  angle)

Sets the flip angle

◆ set_nucleus()

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

Sets the nucleus for the pulse

◆ set_pulse_gain()

OdinPulse& OdinPulse::set_pulse_gain ( )

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

◆ set_pulse_type()

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.

◆ set_shape()

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

◆ set_shape_parameter()

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'

◆ set_spat_resolution()

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.

◆ set_spatial_offset()

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

Sets the spatial offset in the given direction

◆ set_Tp()

OdinPulse& OdinPulse::set_Tp ( double  duration)

Sets the duration of the pulse

◆ set_trajectory()

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

◆ set_trajectory_parameter()

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'

◆ simulate_pulse()

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

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

◆ update()

virtual OdinPulse& OdinPulse::update ( )
virtual

Update all relations and recalculate pulse

◆ use_min_spat_resolution()

OdinPulse& OdinPulse::use_min_spat_resolution ( bool  flag)

Sets whether minimum spatial resolution is used.

◆ write_rf_waveform()

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


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