ISMRMRD
ISMRM Raw Data Format
Classes | Typedefs | Enumerations | Functions | Variables
ISMRMRD Namespace Reference

Classes

struct  AccelerationFactor
 
class  Acquisition
 MR Acquisition type. More...
 
class  AcquisitionHeader
 Header for MR Acquisition type. More...
 
struct  AcquisitionSystemInformation
 
struct  CoilLabel
 
class  Dataset
 
struct  Encoding
 
struct  EncodingLimits
 
struct  EncodingSpace
 
struct  ExperimentalConditions
 
struct  FieldOfView_mm
 
class  FlagBit
 Convenience class for flags. More...
 
struct  HDF5_Acquisiton
 
struct  HDF5_Waveform
 
class  Image
 MR Image type. More...
 
class  ImageHeader
 Header for MR Image type. More...
 
struct  ISMRMRD_Acquisition
 
struct  ISMRMRD_AcquisitionHeader
 
struct  ISMRMRD_Dataset
 
struct  ISMRMRD_EncodingCounters
 
struct  ISMRMRD_error_node
 
struct  ISMRMRD_Image
 
struct  ISMRMRD_ImageHeader
 
struct  ISMRMRD_NDArray
 
struct  ISMRMRD_Waveform
 
struct  ISMRMRD_WaveformHeader
 
struct  IsmrmrdHeader
 
struct  Limit
 
struct  MatrixSize
 
struct  MeasurementDependency
 
struct  MeasurementInformation
 
class  MetaContainer
 Meta Container. More...
 
class  MetaValue
 
class  NDArray
 N-Dimensional array type. More...
 
class  Optional
 
struct  ParallelImaging
 
struct  ReferencedImageSequence
 
struct  SequenceParameters
 
struct  StudyInformation
 
struct  SubjectInformation
 
struct  TrajectoryDescription
 
struct  UserParameterDouble
 
struct  UserParameterLong
 
struct  UserParameters
 
struct  UserParameterString
 
struct  Waveform
 
struct  WaveformHeader
 
struct  WaveformInformation
 

Typedefs

typedef struct ISMRMRD::ISMRMRD_Dataset ISMRMRD_Dataset
 
typedef struct ISMRMRD::ISMRMRD_EncodingCounters ISMRMRD_EncodingCounters
 
typedef struct ISMRMRD::ISMRMRD_AcquisitionHeader ISMRMRD_AcquisitionHeader
 
typedef struct ISMRMRD::ISMRMRD_Acquisition ISMRMRD_Acquisition
 
typedef struct ISMRMRD::ISMRMRD_ImageHeader ISMRMRD_ImageHeader
 
typedef struct ISMRMRD::ISMRMRD_Image ISMRMRD_Image
 
typedef struct ISMRMRD::ISMRMRD_NDArray ISMRMRD_NDArray
 
typedef void(* ismrmrd_error_handler_t) (const char *file, int line, const char *function, int code, const char *msg)
 
typedef ISMRMRD_EncodingCounters EncodingCounters
 Some typedefs to beautify the namespace.
 
typedef struct ISMRMRD::ISMRMRD_WaveformHeader ISMRMRD_WaveformHeader
 
typedef struct ISMRMRD::ISMRMRD_Waveform ISMRMRD_Waveform
 
typedef struct ISMRMRD::HDF5_Acquisiton HDF5_Acquisition
 
typedef struct ISMRMRD::HDF5_Waveform HDF5_Waveform
 
typedef struct ISMRMRD::ISMRMRD_error_node ISMRMRD_error_node_t
 

Enumerations

enum  ISMRMRD_Constants {
  ISMRMRD_USER_INTS = 8, ISMRMRD_USER_FLOATS = 8, ISMRMRD_PHYS_STAMPS = 3, ISMRMRD_CHANNEL_MASKS = 16,
  ISMRMRD_NDARRAY_MAXDIM = 7, ISMRMRD_POSITION_LENGTH = 3, ISMRMRD_DIRECTION_LENGTH = 3
}
 
enum  ISMRMRD_ErrorCodes {
  ISMRMRD_BEGINERROR =-1, ISMRMRD_NOERROR, ISMRMRD_MEMORYERROR, ISMRMRD_FILEERROR,
  ISMRMRD_TYPEERROR, ISMRMRD_RUNTIMEERROR, ISMRMRD_HDF5ERROR, ISMRMRD_ENDERROR
}
 
enum  ISMRMRD_DataTypes {
  ISMRMRD_USHORT = 1, ISMRMRD_SHORT = 2, ISMRMRD_UINT = 3, ISMRMRD_INT = 4,
  ISMRMRD_FLOAT = 5, ISMRMRD_DOUBLE = 6, ISMRMRD_CXFLOAT = 7, ISMRMRD_CXDOUBLE = 8
}
 
enum  ISMRMRD_AcquisitionFlags {
  ISMRMRD_ACQ_FIRST_IN_ENCODE_STEP1 = 1, ISMRMRD_ACQ_LAST_IN_ENCODE_STEP1 = 2, ISMRMRD_ACQ_FIRST_IN_ENCODE_STEP2 = 3, ISMRMRD_ACQ_LAST_IN_ENCODE_STEP2 = 4,
  ISMRMRD_ACQ_FIRST_IN_AVERAGE = 5, ISMRMRD_ACQ_LAST_IN_AVERAGE = 6, ISMRMRD_ACQ_FIRST_IN_SLICE = 7, ISMRMRD_ACQ_LAST_IN_SLICE = 8,
  ISMRMRD_ACQ_FIRST_IN_CONTRAST = 9, ISMRMRD_ACQ_LAST_IN_CONTRAST = 10, ISMRMRD_ACQ_FIRST_IN_PHASE = 11, ISMRMRD_ACQ_LAST_IN_PHASE = 12,
  ISMRMRD_ACQ_FIRST_IN_REPETITION = 13, ISMRMRD_ACQ_LAST_IN_REPETITION = 14, ISMRMRD_ACQ_FIRST_IN_SET = 15, ISMRMRD_ACQ_LAST_IN_SET = 16,
  ISMRMRD_ACQ_FIRST_IN_SEGMENT = 17, ISMRMRD_ACQ_LAST_IN_SEGMENT = 18, ISMRMRD_ACQ_IS_NOISE_MEASUREMENT = 19, ISMRMRD_ACQ_IS_PARALLEL_CALIBRATION = 20,
  ISMRMRD_ACQ_IS_PARALLEL_CALIBRATION_AND_IMAGING = 21, ISMRMRD_ACQ_IS_REVERSE = 22, ISMRMRD_ACQ_IS_NAVIGATION_DATA = 23, ISMRMRD_ACQ_IS_PHASECORR_DATA = 24,
  ISMRMRD_ACQ_LAST_IN_MEASUREMENT = 25, ISMRMRD_ACQ_IS_HPFEEDBACK_DATA = 26, ISMRMRD_ACQ_IS_DUMMYSCAN_DATA = 27, ISMRMRD_ACQ_IS_RTFEEDBACK_DATA = 28,
  ISMRMRD_ACQ_IS_SURFACECOILCORRECTIONSCAN_DATA = 29, ISMRMRD_ACQ_COMPRESSION1 = 53, ISMRMRD_ACQ_COMPRESSION2 = 54, ISMRMRD_ACQ_COMPRESSION3 = 55,
  ISMRMRD_ACQ_COMPRESSION4 = 56, ISMRMRD_ACQ_USER1 = 57, ISMRMRD_ACQ_USER2 = 58, ISMRMRD_ACQ_USER3 = 59,
  ISMRMRD_ACQ_USER4 = 60, ISMRMRD_ACQ_USER5 = 61, ISMRMRD_ACQ_USER6 = 62, ISMRMRD_ACQ_USER7 = 63,
  ISMRMRD_ACQ_USER8 = 64
}
 
enum  ISMRMRD_ImageTypes {
  ISMRMRD_IMTYPE_MAGNITUDE = 1, ISMRMRD_IMTYPE_PHASE = 2, ISMRMRD_IMTYPE_REAL = 3, ISMRMRD_IMTYPE_IMAG = 4,
  ISMRMRD_IMTYPE_COMPLEX = 5
}
 
enum  ISMRMRD_ImageFlags {
  ISMRMRD_IMAGE_IS_NAVIGATION_DATA = 1, ISMRMRD_IMAGE_USER1 = 57, ISMRMRD_IMAGE_USER2 = 58, ISMRMRD_IMAGE_USER3 = 59,
  ISMRMRD_IMAGE_USER4 = 60, ISMRMRD_IMAGE_USER5 = 61, ISMRMRD_IMAGE_USER6 = 62, ISMRMRD_IMAGE_USER7 = 63,
  ISMRMRD_IMAGE_USER8 = 64
}
 
enum  TrajectoryType {
  CARTESIAN, EPI, RADIAL, GOLDENANGLE,
  SPIRAL, OTHER
}
 
enum  WaveformType {
  ECG, PULSE, RESPIRATORY, TRIGGER,
  GRADIENTWAVEFORM, OTHER
}
 

Functions

EXPORTISMRMRD int ismrmrd_init_dataset (ISMRMRD_Dataset *dset, const char *filename, const char *groupname)
 
EXPORTISMRMRD int ismrmrd_open_dataset (ISMRMRD_Dataset *dset, const bool create_if_neded)
 
EXPORTISMRMRD int ismrmrd_close_dataset (ISMRMRD_Dataset *dset)
 
EXPORTISMRMRD int ismrmrd_write_header (const ISMRMRD_Dataset *dset, const char *xmlstring)
 
EXPORTISMRMRD char * ismrmrd_read_header (const ISMRMRD_Dataset *dset)
 
EXPORTISMRMRD int ismrmrd_append_acquisition (const ISMRMRD_Dataset *dset, const ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD int ismrmrd_read_acquisition (const ISMRMRD_Dataset *dset, uint32_t index, ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD uint32_t ismrmrd_get_number_of_acquisitions (const ISMRMRD_Dataset *dset)
 
EXPORTISMRMRD int ismrmrd_append_waveform (const ISMRMRD_Dataset *dset, const ISMRMRD_Waveform *wav)
 
EXPORTISMRMRD int ismrmrd_read_waveform (const ISMRMRD_Dataset *dset, uint32_t index, ISMRMRD_Waveform *wav)
 
EXPORTISMRMRD uint32_t ismrmrd_get_number_of_waveforms (const ISMRMRD_Dataset *dset)
 
EXPORTISMRMRD int ismrmrd_append_image (const ISMRMRD_Dataset *dset, const char *varname, const ISMRMRD_Image *im)
 
EXPORTISMRMRD int ismrmrd_read_image (const ISMRMRD_Dataset *dset, const char *varname, const uint32_t index, ISMRMRD_Image *im)
 
EXPORTISMRMRD uint32_t ismrmrd_get_number_of_images (const ISMRMRD_Dataset *dset, const char *varname)
 
EXPORTISMRMRD int ismrmrd_append_array (const ISMRMRD_Dataset *dset, const char *varname, const ISMRMRD_NDArray *arr)
 
EXPORTISMRMRD int ismrmrd_read_array (const ISMRMRD_Dataset *dataset, const char *varname, const uint32_t index, ISMRMRD_NDArray *arr)
 
EXPORTISMRMRD uint32_t ismrmrd_get_number_of_arrays (const ISMRMRD_Dataset *dset, const char *varname)
 
EXPORTISMRMRD size_t ismrmrd_sizeof_data_type (int data_type)
 
EXPORTISMRMRD int ismrmrd_init_acquisition_header (ISMRMRD_AcquisitionHeader *hdr)
 
EXPORTISMRMRD ISMRMRD_Acquisitionismrmrd_create_acquisition ()
 
EXPORTISMRMRD int ismrmrd_free_acquisition (ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD int ismrmrd_init_acquisition (ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD int ismrmrd_cleanup_acquisition (ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD int ismrmrd_copy_acquisition (ISMRMRD_Acquisition *acqdest, const ISMRMRD_Acquisition *acqsource)
 
EXPORTISMRMRD int ismrmrd_make_consistent_acquisition (ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD size_t ismrmrd_size_of_acquisition_traj (const ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD size_t ismrmrd_size_of_acquisition_data (const ISMRMRD_Acquisition *acq)
 
EXPORTISMRMRD int ismrmrd_init_image_header (ISMRMRD_ImageHeader *hdr)
 
EXPORTISMRMRD ISMRMRD_Imageismrmrd_create_image ()
 
EXPORTISMRMRD int ismrmrd_free_image (ISMRMRD_Image *im)
 
EXPORTISMRMRD int ismrmrd_init_image (ISMRMRD_Image *im)
 
EXPORTISMRMRD int ismrmrd_cleanup_image (ISMRMRD_Image *im)
 
EXPORTISMRMRD int ismrmrd_copy_image (ISMRMRD_Image *imdest, const ISMRMRD_Image *imsource)
 
EXPORTISMRMRD int ismrmrd_make_consistent_image (ISMRMRD_Image *im)
 
EXPORTISMRMRD size_t ismrmrd_size_of_image_attribute_string (const ISMRMRD_Image *im)
 
EXPORTISMRMRD size_t ismrmrd_size_of_image_data (const ISMRMRD_Image *im)
 
EXPORTISMRMRD ISMRMRD_NDArrayismrmrd_create_ndarray ()
 
EXPORTISMRMRD int ismrmrd_free_ndarray (ISMRMRD_NDArray *arr)
 
EXPORTISMRMRD int ismrmrd_init_ndarray (ISMRMRD_NDArray *arr)
 
EXPORTISMRMRD int ismrmrd_cleanup_ndarray (ISMRMRD_NDArray *arr)
 
EXPORTISMRMRD int ismrmrd_copy_ndarray (ISMRMRD_NDArray *arrdest, const ISMRMRD_NDArray *arrsource)
 
EXPORTISMRMRD int ismrmrd_make_consistent_ndarray (ISMRMRD_NDArray *arr)
 
EXPORTISMRMRD size_t ismrmrd_size_of_ndarray_data (const ISMRMRD_NDArray *arr)
 
EXPORTISMRMRD bool ismrmrd_is_flag_set (const uint64_t flags, const uint64_t val)
 
EXPORTISMRMRD int ismrmrd_set_flag (uint64_t *flags, const uint64_t val)
 
EXPORTISMRMRD int ismrmrd_set_flags (uint64_t *flags, const uint64_t val)
 
EXPORTISMRMRD int ismrmrd_clear_flag (uint64_t *flags, const uint64_t val)
 
EXPORTISMRMRD int ismrmrd_clear_all_flags (uint64_t *flags)
 
EXPORTISMRMRD bool ismrmrd_is_channel_on (const uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS], const uint16_t chan)
 
EXPORTISMRMRD int ismrmrd_set_channel_on (uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS], const uint16_t chan)
 
EXPORTISMRMRD int ismrmrd_set_channel_off (uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS], const uint16_t chan)
 
EXPORTISMRMRD int ismrmrd_set_all_channels_off (uint64_t channel_mask[ISMRMRD_CHANNEL_MASKS])
 
int ismrmrd_push_error (const char *file, const int line, const char *func, const int code, const char *msg)
 
EXPORTISMRMRD void ismrmrd_set_error_handler (ismrmrd_error_handler_t)
 
EXPORTISMRMRD char * ismrmrd_strerror (int code)
 
bool ismrmrd_pop_error (char **file, int *line, char **func, int *code, char **msg)
 
EXPORTISMRMRD int ismrmrd_sign_of_directions (float const read_dir[3], float const phase_dir[3], float const slice_dir[3])
 
EXPORTISMRMRD void ismrmrd_directions_to_quaternion (float const read_dir[3], float const phase_dir[3], float const slice_dir[3], float quat[4])
 
EXPORTISMRMRD void ismrmrd_quaternion_to_directions (float const quat[4], float read_dir[3], float phase_dir[3], float slice_dir[3])
 
std::string build_exception_string (void)
 ISMRMRD C++ Interface. More...
 
bool operator== (const EncodingCounters &ec1, const EncodingCounters &ec2)
 
template<typename T >
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type ()
 Allowed data types for Images and NDArrays.
 
EXPORTISMRMRD void deserialize (const char *xml, MetaContainer &h)
 
EXPORTISMRMRD void serialize (const MetaContainer &h, std::ostream &o)
 
EXPORTISMRMRD int ismrmrd_make_consistent_waveform (ISMRMRD_Waveform *wav)
 
EXPORTISMRMRD int ismrmrd_size_of_waveform_data (const ISMRMRD_Waveform *wav)
 
EXPORTISMRMRD ISMRMRD_Waveformismrmrd_create_waveform ()
 
EXPORTISMRMRD int ismrmrd_free_waveform (ISMRMRD_Waveform *)
 
EXPORTISMRMRD int ismrmrd_init_waveform (ISMRMRD_Waveform *)
 
EXPORTISMRMRD int ismrmrd_init_waveformheader (ISMRMRD_WaveformHeader *header)
 
EXPORTISMRMRD int ismrmrd_copy_waveform (ISMRMRD_Waveform *dest, const ISMRMRD_Waveform *src)
 
EXPORTISMRMRD void deserialize (const char *xml, IsmrmrdHeader &h)
 
EXPORTISMRMRD void serialize (const IsmrmrdHeader &h, std::ostream &o)
 
int read_element (const ISMRMRD_Dataset *dset, const char *path, void *elem, const hid_t datatype, const uint32_t index)
 
template<typename T >
const size_t(& NDArray ())[ISMRMRD_NDARRAY_MAXDIM]
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< uint16_t > ()
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< int16_t > ()
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< uint32_t > ()
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< int32_t > ()
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< float > ()
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< double > ()
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< complex_float_t > ()
 
template<>
EXPORTISMRMRD ISMRMRD_DataTypes get_data_type< complex_double_t > ()
 
EncodingSpace parse_encoding_space (pugi::xml_node &n, const char *child)
 
Optional< Limitparse_encoding_limit (pugi::xml_node &n, const char *child)
 
std::string parse_string (pugi::xml_node &n, const char *child)
 
Optional< std::string > parse_optional_string (pugi::xml_node &n, const char *child)
 
Optional< float > parse_optional_float (pugi::xml_node &n, const char *child)
 
Optional< long > parse_optional_long (pugi::xml_node &n, const char *child)
 
Optional< unsigned short > parse_optional_ushort (pugi::xml_node &n, const char *child)
 
std::vector< float > parse_vector_float (pugi::xml_node &n, const char *child)
 
std::vector< std::string > parse_vector_string (pugi::xml_node &n, const char *child)
 
std::vector< UserParameterLongparse_user_parameter_long (pugi::xml_node &n, const char *child)
 
std::vector< UserParameterDoubleparse_user_parameter_double (pugi::xml_node &n, const char *child)
 
std::vector< UserParameterStringparse_user_parameter_string (pugi::xml_node &n, const char *child)
 
TrajectoryType parse_trajectory_type (const std::string trajectoryString)
 
WaveformType parse_waveform_type (const std::string waveformString)
 
void to_string_val (const std::string &v, std::string &o)
 
void to_string_val (const float &v, std::string &o)
 
void to_string_val (const double &v, std::string &o)
 
void to_string_val (const unsigned short &v, std::string &o)
 
void to_string_val (const long &v, std::string &o)
 
void to_string_val (const TrajectoryType &v, std::string &o)
 
void to_string_val (const WaveformType &v, std::string &o)
 
template<class T >
void append_optional_node (pugi::xml_node &n, const char *child, const Optional< T > &v)
 
template<class T >
void append_node (pugi::xml_node &n, const char *child, const T &v)
 
void append_encoding_space (pugi::xml_node &n, const char *child, const EncodingSpace &s)
 
void append_encoding_limit (pugi::xml_node &n, const char *child, const Optional< Limit > &l)
 
template<class T >
void append_user_parameter (pugi::xml_node &n, const char *child, const std::vector< T > &v)
 
void append_waveform_information (pugi::xml_node &n, const char *child, const WaveformInformation &w)
 

Variables

template EXPORTISMRMRD class Image< uint16_t >
 
template EXPORTISMRMRD class Image< int16_t >
 
template EXPORTISMRMRD class Image< uint32_t >
 
template EXPORTISMRMRD class Image< int32_t >
 
template EXPORTISMRMRD class Image< float >
 
template EXPORTISMRMRD class Image< double >
 
template EXPORTISMRMRD class Image< complex_float_t >
 
template EXPORTISMRMRD class Image< complex_double_t >
 
template EXPORTISMRMRD class NDArray< uint16_t >
 
template EXPORTISMRMRD class NDArray< int16_t >
 
template EXPORTISMRMRD class NDArray< uint32_t >
 
template EXPORTISMRMRD class NDArray< int32_t >
 
template EXPORTISMRMRD class NDArray< float >
 
template EXPORTISMRMRD class NDArray< double >
 
template EXPORTISMRMRD class NDArray< complex_float_t >
 
template EXPORTISMRMRD class NDArray< complex_double_t >
 

Detailed Description

TODO LIST

Typedef Documentation

◆ ISMRMRD_Acquisition

Individual MR acquisition.

◆ ISMRMRD_AcquisitionHeader

Header for each MR acquisition.

◆ ISMRMRD_Dataset

Interface for accessing an ISMRMRD Data Set stored on disk in HDF5 format.

A given ISMRMRD dataset if assumed to be stored under one group name in the HDF5 file. To make the datasets consistent, this library enforces that the XML configuration is stored in the variable groupname/xml and the Acquisitions are stored in the variable groupname/data.

◆ ISMRMRD_EncodingCounters

Struct used for keeping track of typical loop counters in MR experiment.

◆ ISMRMRD_ImageHeader

Header for each Image

◆ ISMRMRD_NDArray

A simple N dimensional array

Enumeration Type Documentation

◆ ISMRMRD_AcquisitionFlags

Acquisition Flags

◆ ISMRMRD_Constants

Constants

◆ ISMRMRD_DataTypes

Data Types

Enumerator
ISMRMRD_USHORT 

corresponds to uint16_t

ISMRMRD_SHORT 

corresponds to int16_t

ISMRMRD_UINT 

corresponds to uint32_t

ISMRMRD_INT 

corresponds to int32_t

ISMRMRD_FLOAT 

corresponds to float

ISMRMRD_DOUBLE 

corresponds to double

ISMRMRD_CXFLOAT 

corresponds to complex float

ISMRMRD_CXDOUBLE 

corresponds to complex double

◆ ISMRMRD_ErrorCodes

Constants

◆ ISMRMRD_ImageFlags

Image Flags

◆ ISMRMRD_ImageTypes

Image Types

Function Documentation

◆ build_exception_string()

std::string ISMRMRD::build_exception_string ( void  )

ISMRMRD C++ Interface.

Construct exception message from ISMRMRD error stack

◆ ismrmrd_append_acquisition()

int ISMRMRD::ismrmrd_append_acquisition ( const ISMRMRD_Dataset dset,
const ISMRMRD_Acquisition acq 
)

Appends and NMR/MRI acquisition to the dataset.

Please consult @See ISMRMRD_Acquisition struct for details.

◆ ismrmrd_append_array()

int ISMRMRD::ismrmrd_append_array ( const ISMRMRD_Dataset dset,
const char *  varname,
const ISMRMRD_NDArray arr 
)

Appends an NDArray to the variable named varname in the dataset.

Please consult @See NDArray struct for details.

Arrays contain simple data elements such as float, double, etc.

Arrays of the same size can be appended to "grow" an array, e.g. 3D arrays of size (K,L,M) can be appended to grow a 4D array of size (K,L,M,N).

◆ ismrmrd_append_image()

int ISMRMRD::ismrmrd_append_image ( const ISMRMRD_Dataset dset,
const char *  varname,
const ISMRMRD_Image im 
)

Appends an Image to the variable named varname in the dataset.

Please consult @See ISMRMRD_Image struct for details.

Headers and attribute strings are stored separately from the data. This allows for easy viewing and reading in other applications.

Images of the same size can be appended to "grow" an array. e.g. 20 images of size (256, 256, 4, 16), i.e. 4 slice and 16 channels, can be appended one at a time to make a (256, 256, 4, 16, 20) array in the file.

◆ ismrmrd_append_waveform()

int ISMRMRD::ismrmrd_append_waveform ( const ISMRMRD_Dataset dset,
const ISMRMRD_Waveform wav 
)

Appends and waveform data to the dataset.

Please consult @See ISMRMRD_Waveform struct for details.

◆ ismrmrd_close_dataset()

int ISMRMRD::ismrmrd_close_dataset ( ISMRMRD_Dataset dset)

Closes all references to the underlying HDF5 file.

◆ ismrmrd_get_number_of_acquisitions()

uint32_t ISMRMRD::ismrmrd_get_number_of_acquisitions ( const ISMRMRD_Dataset dset)

Return the number of acquisitions in the dataset.

◆ ismrmrd_get_number_of_arrays()

uint32_t ISMRMRD::ismrmrd_get_number_of_arrays ( const ISMRMRD_Dataset dset,
const char *  varname 
)

Return the number of arrays in the variable varname in the dataset.

◆ ismrmrd_get_number_of_images()

uint32_t ISMRMRD::ismrmrd_get_number_of_images ( const ISMRMRD_Dataset dset,
const char *  varname 
)

Return the number of images in the variable varname in the dataset.

◆ ismrmrd_get_number_of_waveforms()

uint32_t ISMRMRD::ismrmrd_get_number_of_waveforms ( const ISMRMRD_Dataset dset)

Return the number of waveforms in the dataset.

◆ ismrmrd_init_dataset()

int ISMRMRD::ismrmrd_init_dataset ( ISMRMRD_Dataset dset,
const char *  filename,
const char *  groupname 
)

Initializes an ISMRMRD dataset structure

◆ ismrmrd_open_dataset()

int ISMRMRD::ismrmrd_open_dataset ( ISMRMRD_Dataset dset,
const bool  create_if_neded 
)

Opens an ISMRMRD dataset.

◆ ismrmrd_pop_error()

bool ISMRMRD::ismrmrd_pop_error ( char **  file,
int *  line,
char **  func,
int *  code,
char **  msg 
)

Populates parameters (if non-NULL) with error information

Returns
true if there was error information to return, false otherwise

◆ ismrmrd_read_acquisition()

int ISMRMRD::ismrmrd_read_acquisition ( const ISMRMRD_Dataset dset,
uint32_t  index,
ISMRMRD_Acquisition acq 
)

Reads the acquisition with the specified index from the dataset.

◆ ismrmrd_read_array()

int ISMRMRD::ismrmrd_read_array ( const ISMRMRD_Dataset dataset,
const char *  varname,
const uint32_t  index,
ISMRMRD_NDArray arr 
)

Reads an array from the data file.

◆ ismrmrd_read_header()

char * ISMRMRD::ismrmrd_read_header ( const ISMRMRD_Dataset dset)

Reads the XML configuration header from the dataset.

Warning
There is no check of whether the string is a valid XML document at this point.

◆ ismrmrd_read_image()

int ISMRMRD::ismrmrd_read_image ( const ISMRMRD_Dataset dset,
const char *  varname,
const uint32_t  index,
ISMRMRD_Image im 
)

Reads an image stored with appendImage. The index indicates which image to read from the variable named varname.

◆ ismrmrd_read_waveform()

int ISMRMRD::ismrmrd_read_waveform ( const ISMRMRD_Dataset dset,
uint32_t  index,
ISMRMRD_Waveform wav 
)

Reads the wveformith the specified index from the dataset.

◆ ismrmrd_sizeof_data_type()

size_t ISMRMRD::ismrmrd_sizeof_data_type ( int  data_type)

Returns the size in bytes of an ISMRMRD_DataType

◆ ismrmrd_write_header()

int ISMRMRD::ismrmrd_write_header ( const ISMRMRD_Dataset dset,
const char *  xmlstring 
)

Writes the XML header string to the dataset.

Warning
There is no check of whether the string is a valid XML document at this point.