msl 1.3.0
Loading...
Searching...
No Matches
msl::gradient_pulses Namespace Reference

Detailed Description

Functions generating gradient pulses based on user and system constraints.

Functions

GradientPulse quickest (Vector3d const &k, double maxAmplitude, double minRiseTime)
 Compute the quickest gradient pulse to achieve the given k-space vector.
GradientPulse quickest (Vector3d const &k, GradientSpecs const &specs)
 Compute the quickest gradient pulse to achieve the given k-space vector.
GradientPulse plateau (Vector3d const &kPlateau, long plateauDuration, double maxAmplitude, double minRiseTime)
 Compute a gradient pulse with the requested plateau vector and duration.
GradientPulse plateau (Vector3d const &kPlateau, long plateauDuration, GradientSpecs const &specs)
 Compute a gradient pulse with the requested plateau vector and duration.
GradientPulse fixedDuration (Vector3d const &k, long duration, double maxAmplitude, double minRiseTime)
 Compute a gradient pulse with the requested duration.
GradientPulse fixedDuration (Vector3d const &k, long duration, GradientSpecs const &specs)
 Compute a gradient pulse with the requested duration.
GradientPulse fixedDuration (Vector3d const &k, long rampDuration, long plateauDuration, double maxAmplitude, double minRiseTime)
 Compute a gradient pulse with the requested ramp and plateau durations.
GradientPulse fixedDuration (Vector3d const &k, GradientPulse const &reference, double maxAmplitude, double minRiseTime)
 Compute a gradient pulse with the requested ramp and plateau durations.
GradientPulse fixedDuration (Vector3d const &k, long rampDuration, long plateauDuration, GradientSpecs const &specs)
 Compute a gradient pulse with the requested ramp and plateau durations.
GradientPulse fixedDuration (Vector3d const &k, GradientPulse const &reference, GradientSpecs const &specs)
 Compute a gradient pulse with the requested ramp and plateau durations.
template<typename T>
GradientPulse sliceSelection (T &&pulse, double maxAmplitude, double minRiseTime)
 Compute a slice selection gradient.
template<typename T>
GradientPulse sliceSelection (T &&pulse, GradientSpecs const &specs)
 Compute a slice selection gradient.

Function Documentation

◆ quickest() [1/2]

GradientPulse msl::gradient_pulses::quickest ( Vector3d const & k,
double maxAmplitude,
double minRiseTime )

Compute the quickest gradient pulse to achieve the given k-space vector.

Parameters
kk-space vector in mT/m*µs
maxAmplitudeMaximum gradient amplitude on each axis in mT/m
minRiseTimeMinimum rise up and rise down time in µs/(mT/m)
Note
The duration of ramps and plateau are multiples of GRAD_RASTER_TIME

◆ quickest() [2/2]

GradientPulse msl::gradient_pulses::quickest ( Vector3d const & k,
GradientSpecs const & specs )

Compute the quickest gradient pulse to achieve the given k-space vector.

Parameters
kk-space vector in mT/m*µs
specsSpecifications of the gradient system
Note
The duration of ramps and plateau are multiples of GRAD_RASTER_TIME

◆ plateau() [1/2]

GradientPulse msl::gradient_pulses::plateau ( Vector3d const & kPlateau,
long plateauDuration,
double maxAmplitude,
double minRiseTime )

Compute a gradient pulse with the requested plateau vector and duration.

Parameters
kPlateauk-space vector of the plateau in mT/m*µs
plateauDurationDuration of the plateau in µs
maxAmplitudeMaximum gradient amplitude on each axis in mT/m
minRiseTimeMinimum rise up and rise down time in µs/(mT/m)
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude

◆ plateau() [2/2]

GradientPulse msl::gradient_pulses::plateau ( Vector3d const & kPlateau,
long plateauDuration,
GradientSpecs const & specs )

Compute a gradient pulse with the requested plateau vector and duration.

Parameters
kPlateauk-space vector of the plateau in mT/m*µs
plateauDurationDuration of the plateau in µs
specsSpecifications of the gradient system
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude

◆ fixedDuration() [1/6]

GradientPulse msl::gradient_pulses::fixedDuration ( Vector3d const & k,
long duration,
double maxAmplitude,
double minRiseTime )

Compute a gradient pulse with the requested duration.

Parameters
kk-space vector in mT/m*µs
durationTotal duration in µs
maxAmplitudeMaximum gradient amplitude on each axis in mT/m
minRiseTimeMinimum rise up and rise down time in µs/(mT/m)
Exceptions
MrExceptionif the requested vector exceeds the specifications

◆ fixedDuration() [2/6]

GradientPulse msl::gradient_pulses::fixedDuration ( Vector3d const & k,
long duration,
GradientSpecs const & specs )

Compute a gradient pulse with the requested duration.

Parameters
kk-space vector in mT/m*µs
durationTotal duration in µs
specsSpecifications of the gradient system
Exceptions
MrExceptionif the requested vector exceeds the specifications

◆ fixedDuration() [3/6]

GradientPulse msl::gradient_pulses::fixedDuration ( Vector3d const & k,
long rampDuration,
long plateauDuration,
double maxAmplitude,
double minRiseTime )

Compute a gradient pulse with the requested ramp and plateau durations.

Parameters
kk-space vector in mT/m*µs
rampDurationDuration of the ramp (up or down) in µs
plateauDurationDuration of the plateau in µs
maxAmplitudeMaximum gradient amplitude on each axis in mT/m
minRiseTimeMinimum rise up and rise down time in µs/(mT/m)
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude

◆ fixedDuration() [4/6]

GradientPulse msl::gradient_pulses::fixedDuration ( Vector3d const & k,
GradientPulse const & reference,
double maxAmplitude,
double minRiseTime )

Compute a gradient pulse with the requested ramp and plateau durations.

Parameters
kk-space vector in mT/m*µs
referenceSource of the durations of the ramp and plateau in µs
maxAmplitudeMaximum gradient amplitude on each axis in mT/m
minRiseTimeMinimum rise up and rise down time in µs/(mT/m)
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude

◆ fixedDuration() [5/6]

GradientPulse msl::gradient_pulses::fixedDuration ( Vector3d const & k,
long rampDuration,
long plateauDuration,
GradientSpecs const & specs )

Compute a gradient pulse with the requested ramp and plateau durations.

Parameters
kk-space vector in mT/m*µs
rampDurationDuration of the ramp (up or down) in µs
plateauDurationDuration of the plateau in µs
specsSpecifications of the gradient system
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude

◆ fixedDuration() [6/6]

GradientPulse msl::gradient_pulses::fixedDuration ( Vector3d const & k,
GradientPulse const & reference,
GradientSpecs const & specs )

Compute a gradient pulse with the requested ramp and plateau durations.

Parameters
kk-space vector in mT/m*µs
referenceSource of the durations of the ramp and plateau in µs
specsSpecifications of the gradient system
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude

◆ sliceSelection() [1/2]

template<typename T>
GradientPulse msl::gradient_pulses::sliceSelection ( T && pulse,
double maxAmplitude,
double minRiseTime )

Compute a slice selection gradient.

Parameters
pulseRF pulse, as sRF_PULSE or RFPulse
maxAmplitudeMaximum gradient amplitude on each axis in mT/m
minRiseTimeMinimum rise up and rise down time in µs/(mT/m)
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude

◆ sliceSelection() [2/2]

template<typename T>
GradientPulse msl::gradient_pulses::sliceSelection ( T && pulse,
GradientSpecs const & specs )

Compute a slice selection gradient.

Parameters
pulseRF pulse, as sRF_PULSE or RFPulse
specsSpecifications of the gradient system
Exceptions
MrExceptionif the computed amplitude exceeds the maximum amplitude