8#ifndef ISMRMRD_DATASET_H
9#define ISMRMRD_DATASET_H
12#include "ismrmrd/waveform.h"
40EXPORTISMRMRD
int ismrmrd_init_dataset(ISMRMRD_Dataset *dset,
const char *filename,
const char *groupname);
46EXPORTISMRMRD
int ismrmrd_open_dataset(ISMRMRD_Dataset *dset,
const bool create_if_needed);
52EXPORTISMRMRD
int ismrmrd_close_dataset(ISMRMRD_Dataset *dset);
60EXPORTISMRMRD
int ismrmrd_write_header(
const ISMRMRD_Dataset *dset,
const char *xmlstring);
68EXPORTISMRMRD
char * ismrmrd_read_header(
const ISMRMRD_Dataset *dset);
75EXPORTISMRMRD
int ismrmrd_append_acquisition(
const ISMRMRD_Dataset *dset,
const ISMRMRD_Acquisition *acq);
80EXPORTISMRMRD
int ismrmrd_read_acquisition(
const ISMRMRD_Dataset *dset, uint32_t index, ISMRMRD_Acquisition *acq);
85EXPORTISMRMRD uint32_t ismrmrd_get_number_of_acquisitions(
const ISMRMRD_Dataset *dset);
92EXPORTISMRMRD
int ismrmrd_append_waveform(
const ISMRMRD_Dataset *dset,
const ISMRMRD_Waveform *wav);
97EXPORTISMRMRD
int ismrmrd_read_waveform(
const ISMRMRD_Dataset *dset, uint32_t index, ISMRMRD_Waveform* wav);
102EXPORTISMRMRD uint32_t ismrmrd_get_number_of_waveforms(
const ISMRMRD_Dataset *dset);
116EXPORTISMRMRD
int ismrmrd_append_image(
const ISMRMRD_Dataset *dset,
const char *varname,
117 const ISMRMRD_Image *im);
123EXPORTISMRMRD
int ismrmrd_read_image(
const ISMRMRD_Dataset *dset,
const char *varname,
124 const uint32_t index, ISMRMRD_Image *im);
129EXPORTISMRMRD uint32_t ismrmrd_get_number_of_images(
const ISMRMRD_Dataset *dset,
const char *varname);
142EXPORTISMRMRD
int ismrmrd_append_array(
const ISMRMRD_Dataset *dset,
const char *varname,
143 const ISMRMRD_NDArray *arr);
148EXPORTISMRMRD
int ismrmrd_read_array(
const ISMRMRD_Dataset *dataset,
const char *varname,
149 const uint32_t index, ISMRMRD_NDArray *arr);
154EXPORTISMRMRD uint32_t ismrmrd_get_number_of_arrays(
const ISMRMRD_Dataset *dset,
const char *varname);
164 Dataset(
const char* filename,
const char* groupname,
bool create_file_if_needed =
true);
169 void writeHeader(
const std::string &xmlstring);
170 void readHeader(std::string& xmlstring);
173 void readAcquisition(uint32_t index,
Acquisition &acq);
174 uint32_t getNumberOfAcquisitions();
176 template <
typename T>
void appendImage(
const std::string &var,
const Image<T> &im);
177 void appendImage(
const std::string &var,
const ISMRMRD_Image *im);
178 template <
typename T>
void readImage(
const std::string &var, uint32_t index,
Image<T> &im);
179 uint32_t getNumberOfImages(
const std::string &var);
181 template <
typename T>
void appendNDArray(
const std::string &var,
const NDArray<T> &arr);
182 void appendNDArray(
const std::string &var,
const ISMRMRD_NDArray *arr);
183 template <
typename T>
void readNDArray(
const std::string &var, uint32_t index,
NDArray<T> &arr);
184 uint32_t getNumberOfNDArrays(
const std::string &var);
187 void appendWaveform(
const Waveform &wav);
188 void readWaveform(uint32_t index,
Waveform & wav);
189 uint32_t getNumberOfWaveforms();
MR Acquisition type.
Definition ismrmrd.h:504
MR Image type.
Definition ismrmrd.h:638
N-Dimensional array type.
Definition ismrmrd.h:800