ODIN
|
Pulsar pulses, combines OdinPulse and SeqPulsNdim. More...
#include <seqpulsar.h>
Public Member Functions | |
SeqPulsar (const STD_string &object_label="unnamedSeqPulsar", bool rephased=false, bool interactive=true) | |
SeqPulsar (const SeqPulsar &sp) | |
~SeqPulsar () | |
SeqPulsar & | set_rephased (bool rephased, float strength=0.0) |
fvector | get_reph_gradintegral () const |
SeqPulsar & | operator= (const SeqPulsar &sp) |
SeqPulsar & | refresh () |
SeqPulsar & | set_interactive (bool flag) |
float | get_strength () const |
int | get_dims () const |
SeqFreqChanInterface & | set_nucleus (const STD_string &nucleus) |
float | get_flipangle () const |
SeqPulsInterface & | set_flipangle (float flipangle) |
SeqPulsInterface & | set_pulsduration (float pulsduration) |
SeqPulsInterface & | set_power (float pulspower) |
SeqPulsInterface & | set_pulse_type (pulseType type) |
pulseType | get_pulse_type () const |
STD_string | get_properties () const |
Public Member Functions inherited from SeqPulsNdim | |
SeqPulsNdim (const STD_string &object_label="unnamedSeqPulsNdim") | |
SeqPulsNdim (const SeqPulsNdim &spnd) | |
~SeqPulsNdim () | |
SeqPulsNdim & | set_rfwave (const cvector &waveform) |
SeqPulsNdim & | set_gradwave (direction dir, const fvector &waveform) |
SeqPulsNdim & | set_B1max (float b1max) |
cvector | get_rfwave () const |
fvector | get_gradwave (direction dir) const |
SeqPulsNdim & | set_grad_shift_offset (float grad_shift_offset) |
SeqPulsInterface & | set_pulsduration (float pulsduration) |
float | get_magnetic_center () const |
SeqPulsNdim & | operator= (const SeqPulsNdim &spnd) |
SeqPulsNdim & | operator+= (SeqGradChanList &sgcl) |
Public Member Functions inherited from SeqParallel | |
SeqParallel (const STD_string &object_label="unnamedSeqParallel") | |
SeqParallel (const SeqParallel &sgp) | |
SeqParallel & | operator= (const SeqParallel &sgp) |
SeqParallel & | operator/= (SeqGradChan &sgc) |
SeqParallel & | operator/= (SeqGradChanList &sgcl) |
SeqParallel & | operator/= (SeqGradChanParallel &sgcp) |
SeqParallel & | operator/= (SeqGradObjInterface &sgoa) |
SeqParallel & | operator/= (const SeqObjBase &soa) |
STD_string | get_program (programContext &context) const |
double | get_duration () const |
unsigned int | event (eventContext &context) const |
SeqValList | get_freqvallist (freqlistAction action) const |
SeqValList | get_delayvallist () const |
void | query (queryContext &context) const |
RecoValList | get_recovallist (unsigned int reptimes, LDRkSpaceCoords &coords) const |
double | get_rf_energy () const |
SeqGradInterface & | set_strength (float gradstrength) |
SeqGradInterface & | invert_strength () |
fvector | get_gradintegral () const |
double | get_gradduration () const |
SeqGradInterface & | set_gradrotmatrix (const RotMatrix &matrix) |
double | get_pulprogduration () const |
void | clear () |
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 SeqGradInterface | |
float | get_gradintegral_norm () const |
Public Member Functions inherited from SeqPulsInterface | |
virtual double | get_pulsduration () const |
SeqPulsInterface & | set_flipangles (const fvector &flipangles) |
fvector | get_flipangles () const |
virtual float | get_power () const |
virtual SeqPulsInterface & | set_rel_magnetic_center (float center) |
virtual float | get_rel_magnetic_center () const |
virtual SeqPulsInterface & | set_flipangle_reorder_scheme (reorderScheme scheme, unsigned int nsegments) |
virtual const SeqVector & | get_flipangle_vector () const |
virtual const SeqVector & | get_flipangle_reorder_vector () const |
Public Member Functions inherited from SeqFreqChanInterface | |
virtual SeqFreqChanInterface & | set_freqlist (const dvector &freqlist) |
virtual SeqFreqChanInterface & | set_phaselist (const dvector &phaselist) |
virtual const SeqVector & | get_freqlist_vector () const |
virtual const SeqVector & | get_phaselist_vector () const |
operator const SeqVector & () const | |
virtual SeqFreqChanInterface & | set_encoding_scheme (encodingScheme scheme) |
virtual SeqFreqChanInterface & | set_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1) |
virtual const SeqVector & | get_reorder_vector () const |
virtual SeqFreqChanInterface & | set_phaselist_encoding_scheme (encodingScheme scheme) |
virtual SeqFreqChanInterface & | set_phaselist_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1) |
virtual const SeqVector & | get_phaselist_reorder_vector () const |
SeqFreqChanInterface & | set_freqoffset (double freqoffset) |
SeqFreqChanInterface & | set_phase (double phaseval) |
SeqFreqChanInterface & | set_phasespoiling (unsigned int size=80, double incr=117.0, double offset=0.0) |
Public Member Functions inherited from OdinPulse | |
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 () |
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 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 |
Friends | |
class | SeqPulsarReph |
class | SeqMethod |
class | SeqMethodProxy |
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 SeqClass | |
void | marshall_error () const |
virtual bool | prep () |
Protected Member Functions inherited from LDRblock | |
LDRblock & | append_member (LDRbase &ldr, const STD_string ldrlabel="") |
Static Protected Member Functions inherited from SeqClass | |
static void | clear_temporary () |
static void | clear_containers () |
Pulsar pulses, combines OdinPulse and SeqPulsNdim.
This class is an interface to the Pulsar program; It is possible to access most of the parameters of the underlying data structure 'OdinPulse' via get/set functions
Definition at line 41 of file seqpulsar.h.
SeqPulsar::SeqPulsar | ( | const STD_string & | object_label = "unnamedSeqPulsar" , |
bool | rephased = false , |
||
bool | interactive = true |
||
) |
Constructs an empty Pulsar pulse with the given label. If 'rephased' is true, rephasing gradient lobes will be added to null the zero'th order gradient moment, i.e. the integral. If 'interactive' is true, the pulse will be updated each time a parameter was changed, otherwise update() has to be called manually.
SeqPulsar::SeqPulsar | ( | const SeqPulsar & | sp | ) |
Constructs a Pulsar pulse which is a copy of 'sp'
SeqPulsar::~SeqPulsar | ( | ) |
Destructor
|
virtual |
Dimensionality of the pulse
Reimplemented from SeqPulsNdim.
|
inlinevirtual |
Returns the flip angle of the pulse
Reimplemented from SeqPulsInterface.
Definition at line 105 of file seqpulsar.h.
|
virtual |
Returns a string describing the object
Reimplemented from SeqParallel.
|
inlinevirtual |
Returns the type of the pulse
Reimplemented from SeqPulsInterface.
Definition at line 110 of file seqpulsar.h.
fvector SeqPulsar::get_reph_gradintegral | ( | ) | const |
Returns the rephasers integral on all three channels
|
inlinevirtual |
Returns the strength of the gradient object
Reimplemented from SeqParallel.
Definition at line 95 of file seqpulsar.h.
This assignment operator will make this object become an exact copy of 'sp'.
SeqPulsar& SeqPulsar::refresh | ( | ) |
Recalculates the pulse manually, this is only required if the pulse is not interactive
|
virtual |
Sets the flip angle of the pulse
Reimplemented from SeqPulsInterface.
SeqPulsar& SeqPulsar::set_interactive | ( | bool | flag | ) |
If this flag is set to true, the pulse will be recalculated each time a parameter is changed, otherwise it must be done manually via the refresh() function
|
virtual |
Specify the nucleus for this frequency channel
Reimplemented from SeqFreqChanInterface.
|
virtual |
Sets the power deposition (or pulse attenuation on Bruker) of the pulse
Reimplemented from SeqPulsInterface.
|
virtual |
Sets the duration of the pulse. In case of a more complex pulse that needs some extra commands before and after the actual pulse will be played out, this function still sets the effective duration, i.e. when the RF-field is non-zero
Reimplemented from SeqPulsInterface.
|
virtual |
Sets the type of the pulse
Reimplemented from SeqPulsInterface.
SeqPulsar& SeqPulsar::set_rephased | ( | bool | rephased, |
float | strength = 0.0 |
||
) |
Specifies whether an additional gradient rephasing lobe will be added to rephase the magnetization in case of an excitation pulse. If strength is larger than zero, this maximum strength will be used for the rephaser gradient.