|
ODIN
|
Advandced RF pulses. More...
#include <odinpulse.h>

Public Member Functions | |
| OdinPulse (const STD_string &pulse_label="unnamedOdinPulse", bool interactive=false) | |
| OdinPulse (const OdinPulse &pulse) | |
| OdinPulse & | operator= (const OdinPulse &pulse) |
| OdinPulse & | set_dim_mode (funcMode dmode) |
| funcMode | get_dim_mode () const |
| unsigned int | get_size () const |
| OdinPulse & | resize (unsigned int newsize) |
| OdinPulse & | set_Tp (double duration) |
| double | get_Tp () const |
| OdinPulse & | set_consider_system_cond (bool flag) |
| bool | get_consider_system_cond () const |
| OdinPulse & | set_consider_Nyquist_cond (bool flag) |
| bool | get_consider_Nyquist_cond () const |
| OdinPulse & | set_spat_resolution (double sigma) |
| OdinPulse & | use_min_spat_resolution (bool flag) |
| double | get_spat_resolution () const |
| OdinPulse & | set_field_of_excitation (double fox) |
| double | get_field_of_excitation () const |
| OdinPulse & | set_spatial_offset (direction direction, double offset) |
| double | get_spatial_offset (direction direction) const |
| OdinPulse & | set_nucleus (const STD_string &nucleusname) |
| STD_string | get_nucleus () const |
| OdinPulse & | set_pulse_type (pulseType type) |
| pulseType | get_pulse_type () const |
| OdinPulse & | set_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 |
| OdinPulse & | set_flipangle (double angle) |
| double | get_flipangle () const |
| OdinPulse & | generate () |
| OdinPulse & | set_pulse_gain () |
| virtual OdinPulse & | update () |
| float | get_power_depos () const |
| OdinPulse & | set_shape (const STD_string &shapeval) |
| OdinPulse & | set_trajectory (const STD_string &shapeval) |
| OdinPulse & | set_filter (const STD_string &shapeval) |
| OdinPulse & | set_shape_parameter (const STD_string ¶meter_label, const STD_string &value) |
| OdinPulse & | set_trajectory_parameter (const STD_string ¶meter_label, const STD_string &value) |
| OdinPulse & | set_filter_parameter (const STD_string ¶meter_label, const STD_string &value) |
| STD_string | get_shape_parameter (const STD_string ¶meter_label) const |
| STD_string | get_trajectory_parameter (const STD_string ¶meter_label) const |
| STD_string | get_filter_parameter (const STD_string ¶meter_label) const |
| STD_string | get_shape () const |
| STD_string | get_trajectory () const |
| STD_string | get_filter () const |
| const fvector & | get_Grad (direction channel) const |
| double | get_G0 () const |
| const cvector & | get_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 () | |
| LDRblock & | operator= (const LDRblock &block) |
| LDRblock & | merge (LDRblock &block, bool onlyUserPars=true) |
| LDRblock & | unmerge (LDRblock &block) |
| STD_string | printval (const STD_string ¶meterName, bool append_unit=false) const |
| bool | parseval (const STD_string ¶meterName, const STD_string &value) |
| int | parseblock (const STD_string &source, const LDRserBase &serializer=LDRserJDX()) |
| unsigned int | numof_pars () const |
| LDRbase * | get_parameter (const STD_string &ldrlabel) |
| bool | parameter_exists (const STD_string &ldrlabel) const |
| LDRblock & | set_prefix (const STD_string &prefix) |
| LDRblock & | set_embedded (bool embedded) |
| bool | is_embedded () const |
| LDRbase & | operator[] (unsigned int i) |
| const LDRbase & | operator[] (unsigned int i) const |
| LDRbase & | get_parameter_by_id (int id) |
| LDRblock & | create_copy (const LDRblock &src) |
| LDRblock & | append_copy (const LDRbase &src) |
| LDRblock & | copy_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 |
| LDRbase & | set_parmode (parameterMode parameter_mode) |
| LDRbase & | set_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 |
| LDRbase * | create_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 |
| LDRbase & | set_description (const STD_string &descr) |
| virtual svector | get_alternatives () const |
| const STD_string & | get_unit () const |
| LDRbase & | set_unit (const STD_string &un) |
| virtual parameterMode | get_parmode () const |
| virtual fileMode | get_filemode () const |
| virtual GuiProps | get_gui_props () const |
| virtual LDRbase & | set_gui_props (const GuiProps &) |
| JcampDxProps | get_jdx_props () const |
| LDRbase & | set_jdx_props (const JcampDxProps &jp) |
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< I, P, R > | |
| List () | |
| ~List () | |
| List & | operator= (const List &l) |
| List & | clear () |
| List & | append (R item) |
| List & | remove (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 | |
| SeqClass & | set_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 | |
| LDRblock & | append_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 () |
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.
| 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::generate | ( | ) |
Generates the pulse
| const cvector& OdinPulse::get_B1 | ( | ) | const |
Returns the complex RF waveform
| double OdinPulse::get_B10 | ( | ) | const |
Returns the scaling factor for the RF channels
| 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::get_consider_Nyquist_cond | ( | ) | const |
Returns whether to consider Nyquist-theorem while sampling along the k-space trajectory.
| bool OdinPulse::get_consider_system_cond | ( | ) | const |
Returns whether to consider maximum gradient strength and slew-rate while calculating the trajectory.
| funcMode OdinPulse::get_dim_mode | ( | ) | const |
Returns the pulse mode (dimensionality) of the pulse
| double OdinPulse::get_field_of_excitation | ( | ) | const |
Returns the field of excitation
| STD_string OdinPulse::get_filter | ( | ) | const |
Returns the label of the current pulse filter
| 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
| double OdinPulse::get_flipangle | ( | ) | const |
Returns the flip angle
| float OdinPulse::get_flipangle_corr_factor | ( | ) | const |
Returns the correction factor for the IDEA flipangle
| double OdinPulse::get_G0 | ( | ) | const |
Returns the scaling factor for the gradient channels
Returns the gradient waveform for the specified channel
| STD_string OdinPulse::get_nucleus | ( | ) | const |
Returns the nucleus for the pulse
| unsigned int OdinPulse::get_numof_composite_pulse | ( | ) | const |
Returns the number of composite pulses
| float OdinPulse::get_power_depos | ( | ) | const |
Calculates the power deposition of the pulse
| double OdinPulse::get_pulse_gain | ( | ) | const |
Returns the pulse gain
| pulseType OdinPulse::get_pulse_type | ( | ) | const |
Returns the type of the pulse
| 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].
| STD_string OdinPulse::get_shape | ( | ) | const |
Returns the label of the current pulse shape
| 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
| unsigned int OdinPulse::get_size | ( | ) | const |
Returns the number of data points
| double OdinPulse::get_spat_resolution | ( | ) | const |
Returns the spatial resolution
| double OdinPulse::get_spatial_offset | ( | direction | direction | ) | const |
Returns the spatial offset in the given direction
| double OdinPulse::get_Tp | ( | ) | const |
Returns the duration of the pulse
| STD_string OdinPulse::get_trajectory | ( | ) | const |
Returns the label of the current pulse trajectory
| 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
| bool OdinPulse::is_adiabatic | ( | ) | const |
Returns whether the pulse shape is adiabatic
| bool OdinPulse::is_composite_pulse | ( | ) | const |
Returns 'true' if the pulse is a composite pulse
|
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.
| 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
This assignment operator will make this OdinPulse become an exact copy of 'pulse'.
| OdinPulse& OdinPulse::resize | ( | unsigned int | newsize | ) |
specifies number of data points
| 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.
| OdinPulse& OdinPulse::set_consider_Nyquist_cond | ( | bool | flag | ) |
Specifies whether to consider Nyquist-theorem while sampling along the k-space trajectory.
| OdinPulse& OdinPulse::set_consider_system_cond | ( | bool | flag | ) |
Specifies whether to consider maximum gradient strength and slew-rate while calculating the trajectory.
Sets the pulse mode (dimensionality) of the pulse
| OdinPulse& OdinPulse::set_field_of_excitation | ( | double | fox | ) |
Sets the field of excitation, i.e. the spatial area where no aliasing occurs
| 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_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'
| OdinPulse& OdinPulse::set_flipangle | ( | double | angle | ) |
Sets the flip angle
| OdinPulse& OdinPulse::set_nucleus | ( | const STD_string & | nucleusname | ) |
Sets the nucleus for the pulse
| OdinPulse& OdinPulse::set_pulse_gain | ( | ) |
Calculates the pulse gain in comparison to a 90deg 1ms block-shaped pulse
Sets the type of the pulse, this is necessary for calculating the pulse gain of adiabatic pulses and optimization of pulses.
| 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_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_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.
Sets the spatial offset in the given direction
| OdinPulse& OdinPulse::set_Tp | ( | double | duration | ) |
Sets the duration of the pulse
| 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_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'
| void OdinPulse::simulate_pulse | ( | SeqSimAbstract & | sim, |
| const Sample & | sample | ||
| ) | const |
Simulates the effect of the pulse using simulator 'sim' using virtual sample 'sample'.
|
virtual |
Update all relations and recalculate pulse
| OdinPulse& OdinPulse::use_min_spat_resolution | ( | bool | flag | ) |
Sets whether minimum spatial resolution is used.
| 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