HDF5 in Java: What are the difference between the availabe APIs?

后端 未结 2 1190
长情又很酷
长情又很酷 2021-02-01 16:32

I\'ve just discovered the HDF5 format and I\'m considering using it to store 3D data spread over a cluster of Java application servers. I have found out that there are several i

相关标签:
2条回答
  • 2021-02-01 16:34

    HDF Java follows a layered approach:

    • JHI5 - the low level JNI wrappers: very flexible, but also quite tedious to use.

    • Java HDF object package - a high-level interface based on JHI5.

    • HDFView - a Java-based viewer application based on the Java HDF object package.

    JHDF5 provides a high-level interface building on the JHI5 layer which provides most of the functionality of HDF5 to Java. The API has a shallow learning curve and hides most of the house-keeping work from the developer. You can run the Java HDF object package (and HDFView) on the JHI5 interface that is part of JHDF5, so the two APIs can co-exist within one Java program.

    Permafrost and Nujan seem far from being complete at this point and Permafrost hasn't seen a lot of activity recently, so they appear to be not the first choice at this point in time.

    I think a good path for you is to have a look at both the Java HDF5 object package and JHDF5, decide which one of the two APIs fit your needs better and go with that one.

    Disclaimer: I have worked on the JHDF5 interface, so I may be biased.

    0 讨论(0)
  • 2021-02-01 16:49

    Just wanted to point out another option, jhdf.io it's a pure Java library for HDF5. Currently it is read only and doesn't cover the full HDF5 specification. However it can open and read lots of HDF5 files, and I hope to improve it over time. Being pure Java it is much easier to integrate into other Java projects than other options and avoids the issues associated with JNI.

    Disclaimer: I am the author of the jhdf library.

    0 讨论(0)
提交回复
热议问题