1#ifndef ISMRMRDSERIALIZATION_H
2#define ISMRMRDSERIALIZATION_H
7#include "ismrmrd/export.h"
9#include "ismrmrd/waveform.h"
27enum ISMRMRD_MESSAGE_ID {
28 ISMRMRD_MESSAGE_UNPEEKED = 0,
29 ISMRMRD_MESSAGE_CONFIG_FILE = 1,
30 ISMRMRD_MESSAGE_CONFIG_TEXT = 2,
31 ISMRMRD_MESSAGE_HEADER = 3,
32 ISMRMRD_MESSAGE_CLOSE = 4,
33 ISMRMRD_MESSAGE_TEXT = 5,
34 ISMRMRD_MESSAGE_ACQUISITION = 1008,
35 ISMRMRD_MESSAGE_IMAGE = 1022,
36 ISMRMRD_MESSAGE_WAVEFORM = 1026,
37 ISMRMRD_MESSAGE_NDARRAY = 1030
43 virtual void read(
char *buffer,
size_t count) = 0;
45 virtual bool eof() = 0;
51 virtual void write(
const char *buffer,
size_t count) = 0;
53 virtual bool bad() = 0;
63 std::string config_text;
120 template <
typename T>
void serialize(
const Image<T> &img);
121 void serialize(
const Waveform &wfm);
122 template <
typename T>
void serialize(
const NDArray<T> &arr);
126 void write_msg_id(uint16_t
id);
138 template <
typename T>
void deserialize(
Image<T> &img);
140 template <
typename T>
void deserialize(
NDArray<T> &arr);
144 int peek_image_data_type();
145 int peek_ndarray_data_type();
151 uint16_t _peeked_ndarray_data_type;
MR Acquisition type.
Definition ismrmrd.h:605
MR Image type.
Definition ismrmrd.h:772
N-Dimensional array type.
Definition ismrmrd.h:934
Definition serialization.h:130
Definition serialization.h:112
Definition serialization.h:110
Definition serialization.h:41
Definition serialization.h:49
Definition serialization.h:58
Definition serialization.h:62
Definition serialization.h:66