openworm / org.geppetto

Geppetto is an open-source platform to build web-based applications to visualize and simulate neuroscience data and models.
http://geppetto.org
Other
209 stars 50 forks source link

Test dereferencing HDF5 dimension scales through JAVA HDF5 libraries #142

Closed jrieke closed 10 years ago

jrieke commented 10 years ago

The NetCDF library that we currently use cannot read all HDF5 attributes (see here). Especially, (I have tested this) it won't recognize any of the default attributes like REFERENCE_LIST or DIMENSION_LIST that we need to map the dimension scales to the data. (Besides, the library does not support region/object references, which could be a problem because the REFERENCE_LIST attribute basically holds a reference). @tarelli Have you looked at the JHDF5 library? It seems quite handy to me (look also here), but I have not tested yet whether if suits our requirements...

tarelli commented 10 years ago

@jrieke I added an OSGfied version of JHDF5 and it's now available to our Maven repository if you find it suitable to read references. https://github.com/openworm/org.geppetto.maven/tree/mvn-repo/org/scala-saddle/jhdf5/13.06.2

jrieke commented 10 years ago

@tarelli Thanks for that, unfortunately I had no success with JHDF5 in the end. The REFERENCE_LIST / DIMENSION_LIST attributes are of rather complex datatype (compound of an object reference and an integer), and it seems like JHDF5 cannot read that. However, I tried the Java HDF Object Package and was successfull after some tinkering. This library also includes a pretty nice way to read datasets partially. I had some trouble installing the library files at first, similar to this issue. The JVM argument at the end of the first answer did the trick for me, we'll have to see how we can get it running with Geppetto. However, no need to do this right now, I first want to look at the API for writing NSDF and see whether we get any additional requirementes for the Java library from this side.