/hdf5oct

A library for reading and writing hdf5 files with GNU Octave

Primary LanguageC++OtherNOASSERTION

hdf5oct - a HDF5 wrapper for GNU Octave
=======================================

Copyright 2012 Tom Mullins
Copyright 2015 Tom Mullins, Anton Starikov, Thorsten Liebig, Stefan Großhauser
Copyright 2008-2013 Andrew Collette

This is a library for GNU Octave for reading hdf5 files. At the moment it
provides the following functions:

 h5read: modeled after Matlab's h5read, which can read subsets of a
 	 dataset.  Octave's load function will attempt to read an
 	 entire dataset, which for very large datasets is
 	 undesired. h5util's h5read function does slightly better,
 	 reading only 2d slices of 3d datasets, but that's still
 	 fairly limiting. This exposes libhdf5's H5Sselect_hyperslab
 	 in a way which tries to be compatible with Matlab.

 h5readatt: Most of this function was written by thliebig. It allows
 	    to read scalar HDF5 attributes of some types.

 h5write: Write a matrix to a dataset. This
          will either overwrite an already existing dataset, or allow to
	  append hyperslabs to existing datasets.

 h5writeatt: Attach an attribute to an object.

 h5create: Create a dataset and specify its extent dimensions,
           datatype and chunk size.

 h5delete: Delete a group, dataset, or attribute.

Note that only few of the HDF5 datatypes are supported by each of the
functions hdf5oct at the moment, typically one or several of double,
integer and string.

# REQUIREMENTS #########################

The wrapper h5c++ provided by the HDF5 library must be available.

# INSTALLATION #########################

To compile this package, use

    make

This will produce a package file named "hdf5oct-*.tar.gz" .  Then
you may either install the package with

    make install

or you may start GNU Octave and install the package manually (using
the correct file name) with the command

    pkg install hdf5oct-0.2.0.tar.gz

Both will put the *.oct files somewhere where Octave will find them.
You can try running

    make test


# DEINSTALLATION #########################

To uninstall the package you may want to use

   make uninstall

or on the GNU Octave prompt

   pkg uninstall hdf5oct

# TODO #################################

- write h5info, h5disp

- support compression flags for h5create

- read string typed datasets

- read string-array typed attributes

- write more comprehensive tests instead of a few random choices. Also
  test for error conditions.