msl 1.3.0
Loading...
Searching...
No Matches
msl::readouts::Linear Class Reference

Detailed Description

Linear readout defined by its start and end points.

#include <Linear.h>

Public Member Functions

 Linear ()
 Create a null readout.
 Linear (Linear const &)=default
 Linear (Linear &&)=default
Linearoperator= (Linear const &)=default
Linearoperator= (Linear &&)=default
Vector3d const & start () const
 Return the starting k-space point.
LinearsetStart (Vector3d const &start)
 Set the starting k-space point.
Vector3d const & end () const
 Return the end k-space point.
LinearsetEnd (Vector3d const &end)
 Set the end k-space point.
std::size_t size () const
 Return the number of discrete k-space points.
LinearsetSize (std::size_t size)
 Set the number of discrete k-space points.
void update ()
 Update the gradient following a modification of start and/or end.
NLSStatus prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
 Prepare the real-time events.
NLSStatus run (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
 Run the real-time events.
Public Member Functions inherited from msl::Readout
 Readout (Readout const &)=default
 Readout (Readout &&)=default
Readout & operator= (Readout const &)=default
Readout & operator= (Readout &&)=default
double phase () const
 Return the phase of the NCO during the readout.
Readout & setPhase (double phase)
 Set the phase of the NCO during the readout.
long contrast () const
 Return the contrast number.
Readout & setContrast (long contrast)
 Set the contrast number.
long timeOffset () const
 Return the time offset to get the effective echo time, accounting e.g. for the time of the excitation pulse peak.
Readout & setTimeOffset (long timeOffset)
 Set the time offset to get the effective echo time, accounting e.g. for the time of the excitation pulse peak.
Vector3l const & ncoOffset () const
 Return NCO k-space offset.
Readout & setNCOOffset (Vector3l const &point)
 Set NCO k-space offset.
GradientSpecs const & gradientSpecs () const
 Return the gradient specifications constraining the read-out duration.
Readout & setGradientSpecs (GradientSpecs const &gradientSpecs)
 Set the gradient specifications constraining the read-out duration.
long echoTime () const
 Return the effective echo time (requires preparation).
MrProtocolData::SeqExpoRFInfo rfInfo () const override
 Return the RF information for SAR computation.
long startTime () const override
 Return the start time of the events.
long endTime () const override
 Return the end time of the events.
GradientPulse const & gradient () const
 Return the read-out gradient.
long adcStartTime () const
 Return the start time of the ADC.
long adcEndTime () const
 Return the start time of the ADC.
Vector3d areaBeforeADC () const
 Return the area of the read-out gradient before the start of the ADC.
Vector3d areaBeforeEcho () const
 Return the area of the read-out gradient before the effective echo time.
Vector3d areaAfterEcho () const
 Return the area of the read-out gradient after the effective echo time.
Vector3d areaAfterADC () const
 Return the area of the read-out gradient after the end of the ADC.
sREADOUT const & adc () const
 Return a reference to the ADC real-time object, e.g. for updating its meta-data.
sREADOUT & adc ()
 Return a reference to the ADC real-time object, e.g. for updating its meta-data.
Public Member Functions inherited from msl::RealTimeEvents
 RealTimeEvents ()
 No-op constructor.
 RealTimeEvents (RealTimeEvents const &)=default
 RealTimeEvents (RealTimeEvents &&)=default
RealTimeEventsoperator= (RealTimeEvents const &)=default
RealTimeEventsoperator= (RealTimeEvents &&)=default
sSLICE_POS const & slice () const
 Return the slice used in prepare and run.
virtual RealTimeEventssetSlice (sSLICE_POS const &slice)
 Set the slice used in prepare and run.

Protected Member Functions

msl::GradientPulse _computeGradient () const
 Return the gradient lobe corresponding to the current start and end.

Protected Attributes

Vector3d _start
 Starting k-space point.
Vector3d _end
 End k-space point.
std::size_t _size
 Number of discrete k-space points.
Protected Attributes inherited from msl::Readout
double _phase
 Phase of the NCO during the readout.
long _contrast
 Contrast number.
long _timeOffset
 Time offset to get the effective echo time.
GradientSpecs _gradientSpecs
 Gradient specifications constraining the read-out duration.
long _echoTime
 Effective echo time.
GradientPulse _gradient
 Read-out gradient.
NCOPair _nco
 NCO before and after this gradient.
Vector3l _ncoOffset
 NCO k-space offset.
sREADOUT _adc
 Real-time readout object.
Protected Attributes inherited from msl::RealTimeEvents
sSLICE_POS _slice
 Slice specifications attached to this real time object.

Member Function Documentation

◆ prepare()

NLSStatus msl::readouts::Linear::prepare ( MrProt & protocol,
SeqLim & limits,
SeqExpo & exports )
overridevirtual

Prepare the real-time events.

Implements msl::RealTimeEvents.

◆ run()

NLSStatus msl::readouts::Linear::run ( MrProt & protocol,
SeqLim & limits,
SeqExpo & exports )
overridevirtual

Run the real-time events.

Implements msl::RealTimeEvents.

◆ _computeGradient()

msl::GradientPulse msl::readouts::Linear::_computeGradient ( ) const
protected

Return the gradient lobe corresponding to the current start and end.

Note
ADC and gradient specs must be set before calling this function

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