8#ifndef ISMRMRD_DATASET_H
9#define ISMRMRD_DATASET_H
12#include "ismrmrd/waveform.h"
34 hid_t transfer_properties;
41EXPORTISMRMRD
int ismrmrd_init_dataset(ISMRMRD_Dataset *dset,
const char *filename,
const char *groupname);
47EXPORTISMRMRD
int ismrmrd_open_dataset(ISMRMRD_Dataset *dset,
const bool create_if_needed);
53EXPORTISMRMRD
int ismrmrd_close_dataset(ISMRMRD_Dataset *dset);
61EXPORTISMRMRD
int ismrmrd_write_header(
const ISMRMRD_Dataset *dset,
const char *xmlstring);
69EXPORTISMRMRD
char * ismrmrd_read_header(
const ISMRMRD_Dataset *dset);
76EXPORTISMRMRD
int ismrmrd_append_acquisition(
const ISMRMRD_Dataset *dset,
const ISMRMRD_Acquisition *acq);
81EXPORTISMRMRD
int ismrmrd_read_acquisition(
const ISMRMRD_Dataset *dset, uint32_t index, ISMRMRD_Acquisition *acq);
86EXPORTISMRMRD uint32_t ismrmrd_get_number_of_acquisitions(
const ISMRMRD_Dataset *dset);
93EXPORTISMRMRD
int ismrmrd_append_waveform(
const ISMRMRD_Dataset *dset,
const ISMRMRD_Waveform *wav);
98EXPORTISMRMRD
int ismrmrd_read_waveform(
const ISMRMRD_Dataset *dset, uint32_t index, ISMRMRD_Waveform* wav);
103EXPORTISMRMRD uint32_t ismrmrd_get_number_of_waveforms(
const ISMRMRD_Dataset *dset);
117EXPORTISMRMRD
int ismrmrd_append_image(
const ISMRMRD_Dataset *dset,
const char *varname,
118 const ISMRMRD_Image *im);
124EXPORTISMRMRD
int ismrmrd_read_image(
const ISMRMRD_Dataset *dset,
const char *varname,
125 const uint32_t index, ISMRMRD_Image *im);
130EXPORTISMRMRD uint32_t ismrmrd_get_number_of_images(
const ISMRMRD_Dataset *dset,
const char *varname);
143EXPORTISMRMRD
int ismrmrd_append_array(
const ISMRMRD_Dataset *dset,
const char *varname,
144 const ISMRMRD_NDArray *arr);
149EXPORTISMRMRD
int ismrmrd_read_array(
const ISMRMRD_Dataset *dataset,
const char *varname,
150 const uint32_t index, ISMRMRD_NDArray *arr);
155EXPORTISMRMRD uint32_t ismrmrd_get_number_of_arrays(
const ISMRMRD_Dataset *dset,
const char *varname);
165 Dataset(
const char* filename,
const char* groupname,
bool create_file_if_needed =
true);
170 void writeHeader(
const std::string &xmlstring);
171 void readHeader(std::string& xmlstring);
174 void readAcquisition(uint32_t index,
Acquisition &acq);
175 uint32_t getNumberOfAcquisitions();
177 template <
typename T>
void appendImage(
const std::string &var,
const Image<T> &im);
178 void appendImage(
const std::string &var,
const ISMRMRD_Image *im);
179 template <
typename T>
void readImage(
const std::string &var, uint32_t index,
Image<T> &im);
180 uint32_t getNumberOfImages(
const std::string &var);
182 template <
typename T>
void appendNDArray(
const std::string &var,
const NDArray<T> &arr);
183 void appendNDArray(
const std::string &var,
const ISMRMRD_NDArray *arr);
184 template <
typename T>
void readNDArray(
const std::string &var, uint32_t index,
NDArray<T> &arr);
185 uint32_t getNumberOfNDArrays(
const std::string &var);
188 void appendWaveform(
const Waveform &wav);
189 void readWaveform(uint32_t index,
Waveform & wav);
190 uint32_t getNumberOfWaveforms();
MR Acquisition type.
Definition ismrmrd.h:604
MR Image type.
Definition ismrmrd.h:771
N-Dimensional array type.
Definition ismrmrd.h:933