EasyH5
Easy-to-use HDF5 data interface for MATLAB and Octave
📦 What is EasyH5?
EasyH5 is a fully automated, fast, compact and portable MATLAB/Octave to HDF5 exporter/importer. It contains just two easy-to-use functions: loadh5 and saveh5.
The saveh5 function can handle almost all MATLAB data types, including structs, struct arrays, cells, cell arrays, real and complex arrays, strings, containers.Map objects, and more.
🏆 NeuroJSON Project
EasyH5 is part of the NeuroJSON project (neurojson.org), funded by US NIH grant U24-NS124027. It provides essential HDF5 I/O infrastructure for scientific data storage and exchange.
✨ Key Capabilities
- Fully Automated: Automatic conversion between MATLAB and HDF5 data structures
- Universal Compatibility: MATLAB R2010b+ and GNU Octave 5.0+
- Complete Data Support: Handles all MATLAB data types seamlessly
- Complex & Sparse Arrays: Native support using compound datasets
- Compression Support: Deflate filter for efficient storage
- Simple API: Just two functions - loadh5 and saveh5
- Regrouping: Automatic reconstruction of cell/struct arrays
- Fast Performance: Optimized for large scientific datasets
🔧 Supported Data Types
📊 Arrays
- Real and complex arrays
- Sparse matrices (real & complex)
- Multi-dimensional arrays
- Logical arrays
🗂️ Containers
- Structs and struct arrays
- Cells and cell arrays
- containers.Map objects
- Mixed-type collections
📝 Text & Objects
- Strings and char arrays
- Tables (MATLAB only)
- Graphs and digraphs
- Custom classes (serialized)
🗜️ Special Features
- Compression with deflate filter
- Append mode for existing files
- Custom root paths
- Empty array handling
![[Home]](upload/neurojson_banner_plain.png)