msl 1.3.0
Loading...
Searching...
No Matches
KSpace.h
Go to the documentation of this file.
1// Copyright 2025 Julien Lamy, ICube, Université de Strasbourg-CNRS.
2// Part of msl, distributed under the terms of the MIT license.
3
4#ifndef _9285b743_fdb6_43af_8fe6_1577d9a187d7
5#define _9285b743_fdb6_43af_8fe6_1577d9a187d7
6
7#include <MrProtSrv/Domain/MrProtData/MrProt/MrProt.h>
8
9#include "Vector.h"
10
11namespace msl
12{
13
21class KSpace
22{
23public:
25 KSpace(MrProt & protocol);
26
27 KSpace(KSpace const &) = default;
28 KSpace(KSpace &&) = default;
29 KSpace & operator=(KSpace const &) = default;
30 KSpace & operator=(KSpace &&) = default;
31 ~KSpace() = default;
32
34 Vector3l const & nMin() const;
35
37 Vector3l const & nCenter() const;
38
40 Vector3l const & nMax() const;
41
43 Vector3l const & shape() const;
44
46 Vector3d k(Vector3l const & p) const;
47
48private:
49 bool _is3D;
50 Vector3l _shape, _nMin, _nCenter, _nMax;
51 Vector3d _delta;
52};
53
54}
55
56#endif // _9285b743_fdb6_43af_8fe6_1577d9a187d7
Vector3l const & nMax() const
Return the discrete coordinates of the maximum point.
Vector3l const & shape() const
Return the shape of the discrete k-space.
Vector3l const & nCenter() const
Return the index of the center point.
Vector3l const & nMin() const
Return the discrete coordinates of the minimum point.
KSpace(MrProt &protocol)
Create a k-space description from a protocol.
Vector3d k(Vector3l const &p) const
Return the continuous coordinates in mT/m*µs of a discrete point.
Top-level namespace of the msl library.
Definition acceleration.h:17
Vector< 3, double > Vector3d
3D vector of doubles
Definition Vector.h:136
Vector< 3, long > Vector3l
3D vector of longs
Definition Vector.h:139