Skip to content

Commit

Permalink
add 1-page synosis, update all parsers to the latest git versions
Browse files Browse the repository at this point in the history
  • Loading branch information
fangq committed Jun 10, 2022
1 parent 9ea2d75 commit d791c73
Show file tree
Hide file tree
Showing 11 changed files with 18,587 additions and 9 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,6 @@
[submodule "lib/python/pyjdata"]
path = lib/python/pyjdata
url = https://github.com/NeuroJSON/pyjdata.git
[submodule "lib/javascript/js-bjdata"]
path = lib/javascript/js-bjdata
url = https://github.com/NeuroJSON/js-bjdata.git
27 changes: 23 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,32 @@ repository (Commit 5ce1fe7). **The BJData format is no longer backward compatibl
Libraries that support this specification include
- Python: **pybj** (PIP: https://pypi.org/project/bjdata/, Github: https://github.com/NeuroJSON/pybj)
- MATLAB/Octave: **JSONLab** (Debian/Ubuntu/Fedora: `sudo apt-get install octave-jsonlab`, Github: https://github.com/fangq/jsonlab)
- C: **ubj** (Github: https://github.com/fangq/ubj)
- C++: **JSON for Modern C++** (with this patch https://github.com/nlohmann/json/pull/3336)
- C: **ubj** (Github: https://github.com/NeuroJSON/ubj)
- C++: **JSON for Modern C++** (v3.11.0 or later) (https://github.com/nlohmann/json/)
- JavaScript: **bjd** (npm: https://www.npmjs.com/package/bjd, Github: https://github.com/NeuroJSON/js-bjdata)

**Acknowledgement**: This specification was developed as part of the NeuroJSON project
(http://neurojson.org), with funding support from the US National Institute of Health (NIH) under
grant [U24-NS124027](https://reporter.nih.gov/project-details/10308329) (PI: [Qianqian Fang](http://fanglab.org)).


## What is BJData

BJData is a binary JSON format. It is similar to JSON but allows to store strongly-typed binary data.
The BJData format improves upon the widely supported UBJSON (https://ubjson.org) format by adding
the below key features

- added 4 new data types previously missing from UBJSON, including `[u] - uint16`, `[m] - uint32`,
`[M] - uint64` and `[h] - half/float16`,
- first among all binary JSON formats to support **packed N-dimensional arrays (ndarray)** - a data
type that is of great importance to the scientific community,
- addopted **Little-Endian** as the default byte-order, as opposed to Big-Endian for UBJSON/MessagePack/CBOR,
- only non-zero-fixed-length data types are allowed in optimized container types (`$`), which
means `[{SHTFTN` can not follow `$`, but `UiuImLMLhdDC` are allowed

![](./images/BJData_Diagram.png)


## How to participate

You can use a number of methods to provide your feedback to the working
Expand Down Expand Up @@ -56,8 +75,8 @@ draft of this file specification, including
- One can browse the commit history of the specification document. If
anyone is interested in commenting on a particular updated, you can also
comment on any of the commit page using the same method.
- [Use the JData mailing list](https://groups.google.com/forum/#!forum/openjdata)
- You may send your comments to the jdata mailing list (openjdata at googlegroups.com).
- [Use NeuroJSON mailing list](https://groups.google.com/forum/#!forum/neurojson)
- You may send your comments to the neurojson mailing list (neurojson at googlegroups.com).
Subscribers will discuss by emails, and if a motion is reached, proposals
will be resubmitted as an Issue, and changes to the specification will be
associated with this issue page.
Expand Down
Binary file added images/BJData_Diagram.pdf
Binary file not shown.
Binary file added images/BJData_Diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18,555 changes: 18,555 additions & 0 deletions images/BJData_Diagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion lib/cpp/json
Submodule json updated 977 files
1 change: 1 addition & 0 deletions lib/javascript/js-bjdata
Submodule js-bjdata added at bfba3d
2 changes: 1 addition & 1 deletion lib/matlab/jsonlab
2 changes: 1 addition & 1 deletion lib/python/pyjdata

0 comments on commit d791c73

Please sign in to comment.