ODIN
Public Member Functions | Friends | List of all members

Pulsar pulses, combines OdinPulse and SeqPulsNdim. More...

#include <seqpulsar.h>

Inheritance diagram for SeqPulsar:
Inheritance graph
[legend]

Public Member Functions

 SeqPulsar (const STD_string &object_label="unnamedSeqPulsar", bool rephased=false, bool interactive=true)
 
 SeqPulsar (const SeqPulsar &sp)
 
 ~SeqPulsar ()
 
SeqPulsarset_rephased (bool rephased, float strength=0.0)
 
fvector get_reph_gradintegral () const
 
SeqPulsaroperator= (const SeqPulsar &sp)
 
SeqPulsarrefresh ()
 
SeqPulsarset_interactive (bool flag)
 
float get_strength () const
 
int get_dims () const
 
SeqFreqChanInterfaceset_nucleus (const STD_string &nucleus)
 
float get_flipangle () const
 
SeqPulsInterfaceset_flipangle (float flipangle)
 
SeqPulsInterfaceset_pulsduration (float pulsduration)
 
SeqPulsInterfaceset_power (float pulspower)
 
SeqPulsInterfaceset_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 ()
 
SeqPulsNdimset_rfwave (const cvector &waveform)
 
SeqPulsNdimset_gradwave (direction dir, const fvector &waveform)
 
SeqPulsNdimset_B1max (float b1max)
 
cvector get_rfwave () const
 
fvector get_gradwave (direction dir) const
 
SeqPulsNdimset_grad_shift_offset (float grad_shift_offset)
 
SeqPulsInterfaceset_pulsduration (float pulsduration)
 
float get_magnetic_center () const
 
SeqPulsNdimoperator= (const SeqPulsNdim &spnd)
 
SeqPulsNdimoperator+= (SeqGradChanList &sgcl)
 
- Public Member Functions inherited from SeqParallel
 SeqParallel (const STD_string &object_label="unnamedSeqParallel")
 
 SeqParallel (const SeqParallel &sgp)
 
SeqParalleloperator= (const SeqParallel &sgp)
 
SeqParalleloperator/= (SeqGradChan &sgc)
 
SeqParalleloperator/= (SeqGradChanList &sgcl)
 
SeqParalleloperator/= (SeqGradChanParallel &sgcp)
 
SeqParalleloperator/= (SeqGradObjInterface &sgoa)
 
SeqParalleloperator/= (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
 
SeqGradInterfaceset_strength (float gradstrength)
 
SeqGradInterfaceinvert_strength ()
 
fvector get_gradintegral () const
 
double get_gradduration () const
 
SeqGradInterfaceset_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
SeqClassset_temporary ()
 
- 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 SeqGradInterface
float get_gradintegral_norm () const
 
- Public Member Functions inherited from SeqPulsInterface
virtual double get_pulsduration () const
 
SeqPulsInterfaceset_flipangles (const fvector &flipangles)
 
fvector get_flipangles () const
 
virtual float get_power () const
 
virtual SeqPulsInterfaceset_rel_magnetic_center (float center)
 
virtual float get_rel_magnetic_center () const
 
virtual SeqPulsInterfaceset_flipangle_reorder_scheme (reorderScheme scheme, unsigned int nsegments)
 
virtual const SeqVectorget_flipangle_vector () const
 
virtual const SeqVectorget_flipangle_reorder_vector () const
 
- Public Member Functions inherited from SeqFreqChanInterface
virtual SeqFreqChanInterfaceset_freqlist (const dvector &freqlist)
 
virtual SeqFreqChanInterfaceset_phaselist (const dvector &phaselist)
 
virtual const SeqVectorget_freqlist_vector () const
 
virtual const SeqVectorget_phaselist_vector () const
 
 operator const SeqVector & () const
 
virtual SeqFreqChanInterfaceset_encoding_scheme (encodingScheme scheme)
 
virtual SeqFreqChanInterfaceset_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
virtual const SeqVectorget_reorder_vector () const
 
virtual SeqFreqChanInterfaceset_phaselist_encoding_scheme (encodingScheme scheme)
 
virtual SeqFreqChanInterfaceset_phaselist_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
virtual const SeqVectorget_phaselist_reorder_vector () const
 
SeqFreqChanInterfaceset_freqoffset (double freqoffset)
 
SeqFreqChanInterfaceset_phase (double phaseval)
 
SeqFreqChanInterfaceset_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)
 
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 ()
 
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 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
 

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
LDRblockappend_member (LDRbase &ldr, const STD_string ldrlabel="")
 
- Static Protected Member Functions inherited from SeqClass
static void clear_temporary ()
 
static void clear_containers ()
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SeqPulsar() [1/2]

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

SeqPulsar::SeqPulsar ( const SeqPulsar sp)

Constructs a Pulsar pulse which is a copy of 'sp'

◆ ~SeqPulsar()

SeqPulsar::~SeqPulsar ( )

Destructor

Member Function Documentation

◆ get_dims()

int SeqPulsar::get_dims ( ) const
virtual

Dimensionality of the pulse

Reimplemented from SeqPulsNdim.

◆ get_flipangle()

float SeqPulsar::get_flipangle ( ) const
inlinevirtual

Returns the flip angle of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 105 of file seqpulsar.h.

◆ get_properties()

STD_string SeqPulsar::get_properties ( ) const
virtual

Returns a string describing the object

Reimplemented from SeqParallel.

◆ get_pulse_type()

pulseType SeqPulsar::get_pulse_type ( ) const
inlinevirtual

Returns the type of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 110 of file seqpulsar.h.

◆ get_reph_gradintegral()

fvector SeqPulsar::get_reph_gradintegral ( ) const

Returns the rephasers integral on all three channels

◆ get_strength()

float SeqPulsar::get_strength ( ) const
inlinevirtual

Returns the strength of the gradient object

Reimplemented from SeqParallel.

Definition at line 95 of file seqpulsar.h.

◆ operator=()

SeqPulsar& SeqPulsar::operator= ( const SeqPulsar sp)

This assignment operator will make this object become an exact copy of 'sp'.

◆ refresh()

SeqPulsar& SeqPulsar::refresh ( )

Recalculates the pulse manually, this is only required if the pulse is not interactive

◆ set_flipangle()

SeqPulsInterface& SeqPulsar::set_flipangle ( float  flipangle)
virtual

Sets the flip angle of the pulse

Reimplemented from SeqPulsInterface.

◆ set_interactive()

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

◆ set_nucleus()

SeqFreqChanInterface& SeqPulsar::set_nucleus ( const STD_string &  nucleus)
virtual

Specify the nucleus for this frequency channel

Reimplemented from SeqFreqChanInterface.

◆ set_power()

SeqPulsInterface& SeqPulsar::set_power ( float  pulspower)
virtual

Sets the power deposition (or pulse attenuation on Bruker) of the pulse

Reimplemented from SeqPulsInterface.

◆ set_pulsduration()

SeqPulsInterface& SeqPulsar::set_pulsduration ( float  pulsduration)
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.

◆ set_pulse_type()

SeqPulsInterface& SeqPulsar::set_pulse_type ( pulseType  type)
virtual

Sets the type of the pulse

Reimplemented from SeqPulsInterface.

◆ set_rephased()

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.


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