ISMRMRD
ISMRM Raw Data Format
Loading...
Searching...
No Matches
include
ismrmrd
waveform.h
1
//
2
// Created by dch on 26/02/18.
3
//
4
5
#ifndef ISMRMRD_WAVEFORM_H
6
#define ISMRMRD_WAVEFORM_H
7
8
#include "export.h"
9
#ifdef __cplusplus
10
#include <cstdint>
11
namespace
ISMRMRD {
12
extern
"C"
{
13
#else
14
#include <stdint.h>
15
#endif
16
17
typedef
struct
ISMRMRD_WaveformHeader
18
{
19
uint16_t
version
;
21
uint64_t
flags
;
23
uint32_t
measurement_uid
;
25
uint32_t
scan_counter
;
27
uint32_t
time_stamp
;
29
uint16_t
number_of_samples
;
31
uint16_t
channels
;
33
float
sample_time_us
;
35
uint16_t
waveform_id
;
37
}
ISMRMRD_WaveformHeader
;
38
39
typedef
struct
ISMRMRD_Waveform
40
{
41
ISMRMRD_WaveformHeader
head;
42
uint32_t *data;
43
}
ISMRMRD_Waveform
;
44
45
46
EXPORTISMRMRD
int
ismrmrd_make_consistent_waveform(
ISMRMRD_Waveform
* wav);
47
EXPORTISMRMRD
int
ismrmrd_size_of_waveform_data(
const
ISMRMRD_Waveform
* wav);
48
EXPORTISMRMRD
ISMRMRD_Waveform
* ismrmrd_create_waveform();
49
EXPORTISMRMRD
int
ismrmrd_free_waveform(
ISMRMRD_Waveform
*);
50
EXPORTISMRMRD
int
ismrmrd_init_waveform(
ISMRMRD_Waveform
*);
51
EXPORTISMRMRD
int
ismrmrd_init_waveformheader(
ISMRMRD_WaveformHeader
* header);
52
EXPORTISMRMRD
int
ismrmrd_copy_waveform(
ISMRMRD_Waveform
* dest,
const
ISMRMRD_Waveform
* src);
53
54
#ifdef __cplusplus
55
}
56
struct
EXPORTISMRMRD
WaveformHeader
:
public
ISMRMRD_WaveformHeader
{
57
58
// Flag methods
59
bool
isFlagSet(
const
uint64_t val);
60
void
setFlag(
const
uint64_t val);
61
void
clearFlag(
const
uint64_t val);
62
void
clearAllFlags();
63
64
};
65
struct
EXPORTISMRMRD
Waveform
:
public
ISMRMRD_Waveform
{
66
Waveform
();
67
Waveform
(
const
Waveform
&other);
68
Waveform
(
Waveform
&& other);
69
Waveform
(uint16_t number_of_samples, uint16_t available_channels);
70
~Waveform
();
71
Waveform
& operator=(
const
Waveform
&other);
72
Waveform
& operator=(
Waveform
&&other);
73
74
uint32_t* begin_data();
75
uint32_t* end_data();
76
const
uint32_t* begin_data()
const
;
77
const
uint32_t* end_data()
const
;
78
size_t
size()
const
;
79
};
80
}
81
82
83
#endif
84
#endif
//ISMRMRD_WAVEFORM_H_H
ISMRMRD::ISMRMRD_WaveformHeader
Definition
waveform.h:18
ISMRMRD::ISMRMRD_WaveformHeader::scan_counter
uint32_t scan_counter
Definition
waveform.h:25
ISMRMRD::ISMRMRD_WaveformHeader::flags
uint64_t flags
Definition
waveform.h:21
ISMRMRD::ISMRMRD_WaveformHeader::number_of_samples
uint16_t number_of_samples
Definition
waveform.h:29
ISMRMRD::ISMRMRD_WaveformHeader::time_stamp
uint32_t time_stamp
Definition
waveform.h:27
ISMRMRD::ISMRMRD_WaveformHeader::channels
uint16_t channels
Definition
waveform.h:31
ISMRMRD::ISMRMRD_WaveformHeader::version
uint16_t version
Definition
waveform.h:19
ISMRMRD::ISMRMRD_WaveformHeader::sample_time_us
float sample_time_us
Definition
waveform.h:33
ISMRMRD::ISMRMRD_WaveformHeader::measurement_uid
uint32_t measurement_uid
Definition
waveform.h:23
ISMRMRD::ISMRMRD_WaveformHeader::waveform_id
uint16_t waveform_id
Definition
waveform.h:35
ISMRMRD::ISMRMRD_Waveform
Definition
waveform.h:40
ISMRMRD::WaveformHeader
Definition
waveform.h:56
ISMRMRD::Waveform
Definition
waveform.h:65
Generated by
1.9.8