msl 1.3.0
Loading...
Searching...
No Matches
StackOfSpirals.h
Go to the documentation of this file.
1// Copyright 2026 Julien Lamy, ICube, Université de Strasbourg-CNRS.
2// Part of msl, distributed under the terms of the MIT license.
3
4#ifndef _0cc05ba7_89a6_4523_b78c_63604892f081
5#define _0cc05ba7_89a6_4523_b78c_63604892f081
6
7#include "msl/iPATMask.h"
8#include "msl/Sampling.h"
10#include "msl/Vector.h"
11
12namespace msl
13{
14namespace samplings
15{
16
18class StackOfSpirals:public Sampling
19{
20public:
21 DECLARE_POINTERS(StackOfSpirals)
22
23 StackOfSpirals();
24 StackOfSpirals(StackOfSpirals const &) = default;
25 StackOfSpirals(StackOfSpirals &&) = default;
26 StackOfSpirals & operator=(StackOfSpirals const &) = default;
27 StackOfSpirals & operator=(StackOfSpirals &&) = default;
28 ~StackOfSpirals() override = default;
29
31 double phase() const override;
32
34 StackOfSpirals & setPhase(double phase) override;
35
37 long contrast() const override;
38
40 StackOfSpirals & setContrast(long contrast) override;
41
46 long timeOffset() const override;
47
52 StackOfSpirals & setTimeOffset(long timeOffset) override;
53
55 GradientSpecs const & gradientSpecs() const override;
56
58 StackOfSpirals & setGradientSpecs(GradientSpecs const & gradientSpecs) override;
59
64 uint32_t interleaves() const;
65
67 iPATMask const & mask() const;
68
70 StackOfSpirals & setMask(iPATMask const & mask);
71
74
77
80
81 NLSStatus prepare(
82 MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
83
84 NLSStatus run(
85 MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
86
87 long startTime() const override;
88
90 long endTime() const override;
91
93 MrProtocolData::SeqExpoRFInfo rfInfo() const override;
94
95 NLSStatus updateReadout(MrProt & protocol, SeqLim & limits, SeqExpo & exports) override;
96
97 readouts::Spiral const & readout() const override;
98
99private:
100 readouts::Spiral _readout;
101 bool _runFirstInterleaveOnly;
102 iPATMask _mask;
103 iPATMask::Points _enabledPoints;
104};
105
106}
107}
108
109#endif // _0cc05ba7_89a6_4523_b78c_63604892f081
std::vector< Point > Points
Definition MaskBase.h:25
A two dimensional indicator of iPAT status.
Definition iPATMask.h:30
WHIRLED PEAS spiral readout.
Definition Spiral.h:29
StackOfSpirals & setRunFirstInterleaveOnly(bool runFirstInterleaveOnly)
Set whether to run the first interleave only (e.g. in check mode).
NLSStatus updateReadout(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Update the readout with respect to index so that a subsequent call to readout() returns a readout mat...
uint32_t interleaves() const
Return the number of interleaves per partition.
readouts::Spiral const & readout() const override
Return a reference to the concrete readout.
bool runFirstInterleaveOnly() const
Return whether to run the first interleave only (e.g. in check mode).
StackOfSpirals & setMask(iPATMask const &mask)
Set the iPAT mask.
NLSStatus prepare(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Prepare the real-time events.
StackOfSpirals & setGradientSpecs(GradientSpecs const &gradientSpecs) override
Set the gradient specifications constraining the read-out duration.
long timeOffset() const override
Return the time offset to get the effective echo time, accounting e.g. for the time of the excitation...
iPATMask::Points enabledPoints() const
Return the enabled points of the mask.
StackOfSpirals & setTimeOffset(long timeOffset) override
Set the time offset to get the effective echo time, accounting e.g. for the time of the excitation pu...
MrProtocolData::SeqExpoRFInfo rfInfo() const override
Return the RF information for SAR computation.
GradientSpecs const & gradientSpecs() const override
Return the gradient specifications constraining the read-out duration.
NLSStatus run(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Run the real-time events.
iPATMask const & mask() const
Return the iPAT mask.
StackOfSpirals & setPhase(double phase) override
Set the phase of the NCO during the readout.
double phase() const override
Return the phase of the NCO during the readout.
long startTime() const override
Return the start time of the events.
long endTime() const override
Return the end time of the events.
StackOfSpirals & setContrast(long contrast) override
Set the contrast number.
long contrast() const override
Return the contrast number.
#define DECLARE_POINTERS(name)
Declare pointer type aliases.
Definition helpers.h:83
Namespace for all Readout-derived objects.
Definition Cartesian.h:16
Top-level namespace of the msl library.
Definition acceleration.h:17
Specifications of the gradient system.
Definition GradientSpecs.h:14