Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for flat-binary backend #300

Closed
ajtritt opened this issue Dec 12, 2017 · 9 comments
Closed

Support for flat-binary backend #300

ajtritt opened this issue Dec 12, 2017 · 9 comments
Assignees
Labels
priority: high impacts proper operation or use of feature important to most users
Milestone

Comments

@ajtritt
Copy link
Member

ajtritt commented Dec 12, 2017

Some users would like to read/write data to/from flat-binary files. To support this, an extension of FORMIO must be created. Before doing this, details on how data gets stored need to be flushed out. As a first pass, I propose the following specification:

  1. HDF5 datasets are stored as flat-binary files
  2. HDF5 groups are created as folders
  3. JSON files are used to stored HDF5 attributes
  4. HDF5 links are stored as soft-links
  5. HDF5 references stored using some form of OID?
    • This would require more infrastructure development
  6. HDF5 region references stored using same mechanism as HDF5 references (see 5)
@oruebel
Copy link
Contributor

oruebel commented Dec 12, 2017

See also #230 . Ultimately this may or may not be relevant, but it looks like Zarr might be similar enough to h5py that one could drop it in to test how this could work.

@jeffteeters
Copy link
Contributor

Another project that might be useful for this is exdir:
http://exdir.readthedocs.io

@oruebel
Copy link
Contributor

oruebel commented Dec 13, 2017

@kdharris101 also suggested ALF https://github.com/cortex-lab/alf2neuroscope#what-is-alf as a relevant standard for structuring storage of flat binary files. Here also a related issue ticket on the nwb-schema repo: NeurodataWithoutBorders/nwb-schema#57

@oruebel oruebel added priority: critical impacts proper operation or use of core function of NWB or the software priority: high impacts proper operation or use of feature important to most users labels Dec 13, 2017
@nicain
Copy link
Contributor

nicain commented Dec 13, 2017

exdir just came across my radar; @jeffteeters do you have any experience with it? Looks great!

@jeffteeters
Copy link
Contributor

I don't have any experience with it. I only recently learned about it.

@t-b
Copy link
Collaborator

t-b commented Dec 14, 2017

  1. HDF5 links are stored as soft-links

This will not work on a typical windows.

@neuromusic
Copy link

I've been looking more closely at exdir & I'll add a +1 to @jeffteeters's suggestion.

They seem to have done most of the hard work here & the api is meant to be a drop-in for h5py, so it should be fairly easy to port the backend.

There isn't currently support for links but there is an open issue on their repo: CINPLA/exdir#1

@oruebel oruebel added this to the NWB 2.x milestone May 18, 2018
@oruebel oruebel removed the priority: critical impacts proper operation or use of core function of NWB or the software label Sep 10, 2021
@bendichter
Copy link
Contributor

I feel like this is handled by Zarr. @oruebel , good to close?

@oruebel
Copy link
Contributor

oruebel commented Nov 11, 2022

Yes, this is being addressed by https://github.com/hdmf-dev/hdmf-zarr

@oruebel oruebel closed this as completed Nov 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: high impacts proper operation or use of feature important to most users
Projects
None yet
Development

No branches or pull requests

7 participants