![]() |
JEMRIS 2.9.2
open-source MRI simulations
|
Base class of coil objects. More...
#include <Coil.h>
Inheritance diagram for Coil:
Collaboration diagram for Coil:Public Member Functions | |
| virtual | ~Coil () |
| Destructor. | |
| double | GetSensitivity (const double time=0) |
| Get the B1+ magnitude at point (x,y,z) of the current spin. | |
| double | GetPhase (const double time=0) |
| Get the B1+ phase at point (x,y,z) of the current spin. | |
| double | InterpolateSensitivity (const double *position, bool magnitude=true) |
| Interpolate the sensitivity at point (x,y,z) | |
| virtual double | GetSensitivity (const double *position)=0 |
| Get the B1+ magnitude at point (x,y,z) | |
| virtual double | GetPhase (const double *position) |
| Get the B1+ phase at point (x,y,z) | |
| void | InitSignal (long lADCs) |
| Initialize my signal repository. | |
| void | Receive (long lADC) |
| Receive signal from World. | |
| void | Transmit () |
| Transmit signal. | |
| Signal * | GetSignal () |
| Get the received signal of this coil. | |
| Coil * | Clone () const =0 |
| void | GridMap () |
| Dump sensitivity map on the XML defined grid. | |
| double * | MagnitudeMap () |
| Map magnitudes. | |
| double * | PhaseMap () |
| Map phases. | |
| virtual bool | Prepare (const PrepareMode mode) |
| Prepare coil with given attributes. | |
| void | Initialize (DOMNode *node) |
| Initialize this prototype. | |
| int | GetPoints () |
| int | GetExtent () |
| unsigned | GetNDim () |
| double | GetNorm () |
Public Member Functions inherited from Prototype | |
| Prototype () | |
| Constructor. | |
| virtual | ~Prototype () |
| Default destructor. | |
| Prototype (const Prototype &) | |
| Default copy constructor. | |
| virtual Prototype * | GetParent () |
| Get Parent. | |
| bool | IsPrepared () |
| Check if the Prototype is prepared. | |
| void | SetName (string name) |
| Set the name of this module. | |
| DOMNode * | GetNode () |
| Get the DOMNode of this module. | |
| void | SetNode (DOMNode *node) |
| Set the DOMNode of this module. | |
| string | GetClassType () |
| Get the class type of this prototype. | |
| Type | GetType () |
| Get the module type of this module. | |
| string | GetDOMattribute (const string attribute) |
| Get attribute value from the DOMNode. | |
| bool | HasDOMattribute (const string attribute) |
| Check, if attribute exists in DOM node of this module. | |
| Attribute * | GetAttribute (string name) |
| Get an Attribute. | |
| void | CopyObservers (Attribute *a1, Attribute *a2) |
| Copy observers from one attribute to another. | |
| bool | HasAttribute (string name) |
| Check if an attribute exist. | |
| void | HideAttribute (string attrib, bool observable=true) |
| Hide an attribute. | |
| virtual Prototype * | GetPrototypeByAttributeValue (string name, string attrib) |
| Get a Prototype by value of an attribute. | |
| string | GetName () |
| Get the name of this module. | |
| bool | Observe (Attribute *attrib, string prot_name, string attrib_name, bool verbose) |
| Set up the list of observations. | |
| bool | Observe (Attribute *attrib, string prot_name, string attrib_name, string attrib_keyword, bool verbose) |
| template<typename T > | |
| bool | Notify (const T &val) |
| Notify all observers of an attribute. | |
| template<typename T > | |
| bool | NewState (const T &val) |
| Check the state of an attribute. | |
| vector< double > * | GetVector () |
| Each Prototype has a double vector as a private member, which values can be filled through XML and accessed from attributes within the same Prototype. | |
Protected Member Functions | |
| Coil () | |
| double | Unwrap (double diff, bool magnitude) |
Protected Attributes | |
| double | m_position [3] |
| Signal * | m_signal |
| unsigned | m_mode |
| double | m_azimuth |
| double | m_polar |
| double | m_scale |
| double | m_norm |
| double | m_phase |
| bool | m_interpolate |
| bool | m_complex |
| bool | m_conjugate |
| unsigned | m_dim |
| double | m_extent |
| int | m_points |
| NDData< double > | m_sensmag |
| NDData< double > | m_senspha |
Protected Attributes inherited from Prototype | |
| bool | m_aux |
| auxiliary helper variable for debugging purposes | |
| bool | m_prepared |
| True, after the first call to Prepare. | |
| string | m_name |
| Name of this Prototype. | |
| DOMNode * | m_node |
| The node configuring this Module. | |
| Type | m_type |
| The type of the module: one of MOD_PULSE, MOD_ATOM, MOD_CONCAT. | |
| vector< double > | m_vector |
| A vector which elements are accessible through loop counters. | |
| map< string, Attribute * > | m_attributes |
| Map to connect a keyword with an Attribute. | |
| vector< Attribute * > | m_obs_attribs |
| Vector of observed Attributes. | |
| vector< string > | m_obs_attrib_keyword |
| Vector of user-defined Attribute names. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Prototype | |
| static bool | ReplaceString (string &str, const string &s1, const string &s2) |
| A global sub-string replacer. | |
| static bool | ReplaceSymbolString (string &str, const string &s1, const string &s2) |
| A global sub-string replacer which replaces only complete symbol strings. | |
| static vector< string > | Tokenize (const string &str, const string &delimiters=",") |
| A global string tokenizer. | |
Base class of coil objects.
|
inlineprotected |
Constructor
|
pure virtual |
See Prototype::Clone
Implements Prototype.
Implemented in AnalyticCoil, BiotSavartLoop, ExternalCoil, and IdealCoil.
Here is the caller graph for this function:
|
inlinevirtual |
Get the B1+ phase at point (x,y,z)
This method may be implemented by every derived coil. Otherwise phase is zero.
Important: the phase of Coils needs to be implemented with unit radians! (In contrast to the phase of RF pulses which has units degrees.)
| position | At position. |
Reimplemented in AnalyticCoil, BiotSavartLoop, and ExternalCoil.
| double Coil::GetPhase | ( | const double | time = 0 | ) |
Get the B1+ phase at point (x,y,z) of the current spin.
@return Phase with respect to spin in World
Here is the call graph for this function:
Here is the caller graph for this function:
|
pure virtual |
Get the B1+ magnitude at point (x,y,z)
This method must be implemented by every derived coil.
| position | At position. |
Implemented in AnalyticCoil, BiotSavartLoop, ExternalCoil, and IdealCoil.
| double Coil::GetSensitivity | ( | const double | time = 0 | ) |
Get the B1+ magnitude at point (x,y,z) of the current spin.
@return Sensitivity with respect to spin in World
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Get the received signal of this coil.
Here is the caller graph for this function:
|
virtual |
Initialize this prototype.
The first step after cloning! The method sets the Name of the Prototype, and pointers to the referring node and the (unique) SequenceTree.
| node | The DOMNode referring to this prototype. |
Implements Prototype.
Here is the call graph for this function:
Here is the caller graph for this function:| void Coil::InitSignal | ( | long | lADCs | ) |
Initialize my signal repository.
| lADCs | Number of ADCs |
Here is the call graph for this function:| double Coil::InterpolateSensitivity | ( | const double * | position, |
| bool | magnitude = true ) |
Interpolate the sensitivity at point (x,y,z)
@return Interpolated Sensitivity
Here is the call graph for this function:
Here is the caller graph for this function:| double * Coil::MagnitudeMap | ( | ) |
Map magnitudes.
| double * Coil::PhaseMap | ( | ) |
Map phases.
|
virtual |
Prepare coil with given attributes.
| mode | Sets the preparation mode, one of enum PrepareMode {PREP_INIT,PREP_VERBOSE,PREP_UPDATE}. |
Implements Prototype.
Reimplemented in AnalyticCoil, BiotSavartLoop, and ExternalCoil.
Here is the call graph for this function:
Here is the caller graph for this function:| void Coil::Receive | ( | long | lADC | ) |
Receive signal from World.
| lADC | Receive the signal for this particular ADC |
Here is the call graph for this function:
|
protected |
helper function to check for phase wraps in interpolation of phase maps.
Here is the caller graph for this function:
|
protected |
Change of coordinate system: azimuth angle
|
protected |
True, if sensitivity map is complex (non-zero phase entries).
|
protected |
Complex conjugate the sensitivites, if true.
|
protected |
Dimensions (2D or 3D) of the array
|
protected |
Array extend of support region [mm]
|
protected |
Whether to precompute sensitivities in an array
|
protected |
My mode (RX/TX)
|
protected |
Normalization factor for sensitivities
|
protected |
Constant phase shift
|
protected |
Sampling points of the array
|
protected |
Change of coordinate system: polar angle
|
protected |
Center location
|
protected |
Scaling factor for sensitivities
-- last change 03.01.2025 |
Tony Stoecker |
Imprint |
Data Protection --