Skip to content

karlnicholas/Hdf5JavaLib

Repository files navigation

Hdf5JavaLib: HDF5 Support for Java

Hdf5JavaLib is a pure Java library for reading HDF5 files, released as version 0.1.1. It provides robust HDF5 support in Java, enabling developers to read datasets in the root group, including compound datasets, scalars, vectors, and multi-dimensional data, from files generated by the C++ HDF5 library. Ideal for scientific computing and data analysis without external dependencies.

Getting Started

Add the Dependency

Hdf5JavaLib is available on Maven Central. Add the following dependency to your pom.xml:

<dependency>
    <groupId>org.hdf5javalib</groupId>
    <artifactId>hdf5javalib</artifactId>
    <version>0.1.1</version>
</dependency>

Requirements

  • Java 17 or higher.
  • No external HDF5 libraries required.

Alternative: Build from Source

  1. Clone the repository:
    git clone https://github.com/karlnicholas/Hdf5JavaLib.git
  2. Build with Maven:
    cd Hdf5JavaLib
    mvn install

Read Capabilities

Hdf5JavaLib supports reading datasets in the root group, including:

  • Compound Datasets: Structured data with integers, strings, etc.
  • Scalar, Vector, and Multi-Dimensional Datasets: For scientific data.
  • Datatypes: Fixed-point, floating-point, strings, and more.

For detailed usage and examples, see the Read Capabilities Documentation.

Limitations

  • Version 0.1.1: Limited to reading datasets in the root group.
  • No Subgroups: Groups beyond the root are not supported.
  • No Compression or Chunking: Cannot read compressed or chunked datasets.
  • Partial Metadata: Supports SNODs but not attributes or advanced structures.

Feedback

Help improve Hdf5JavaLib by reporting issues at GitHub Issues. Include sample HDF5 files and expected outputs.

Visit https://www.hdf5javalib.org for more information.

Keywords: HDF5, Java, Hdf5JavaLib, HDF5 Java library, scientific computing, datasets, data analysis