Skip to content

Commit 3af6b27

Browse files
authored
Merge pull request #87 from NeuroJSON/staging
docs: rewrite and restructure README for NeuroJSON.io
2 parents db534c0 + 6f6fdcf commit 3af6b27

File tree

1 file changed

+103
-26
lines changed

1 file changed

+103
-26
lines changed

β€ŽREADME.mdβ€Ž

Lines changed: 103 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,123 @@
1-
# Getting Started with Create React App
1+
# NeuroJSON.io
22

3-
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
3+
**Free Data Worth Sharing**
44

5-
## Available Scripts
5+
[![Website](https://img.shields.io/badge/website-NeuroJSON.io-blue)](https://neurojson.io)
6+
[![FAIR](https://img.shields.io/badge/FAIR-Findable%2C%20Accessible%2C%20Interoperable%2C%20Reusable-purple)](#)
67

7-
In the project directory, you can run:
8+
---
89

9-
### `yarn start`
10+
## πŸ“– Overview
1011

11-
Runs the app in the development mode.\
12-
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
12+
[NeuroJSON.io](https://neurojson.io) is an **NIH-funded open data portal** for **neuroimaging datasets**, designed to make scientific data:
1313

14-
The page will reload if you make edits.\
15-
You will also see any lint errors in the console.
14+
- **Findable**: Fully searchable metadata and datasets
15+
- **Accessible**: Open, lightweight JSON format
16+
- **Interoperable**: Compatible across platforms and programming languages
17+
- **Reusable**: Rich metadata, visualizations, and long-term viability
1618

17-
### `yarn test`
19+
NeuroJSON leverages **modern web technologies and scalable NoSQL databases** and the **JSON standard** to distribute large-scale, complex imaging data in a **human- and machine-readable** form.
1820

19-
Launches the test runner in the interactive watch mode.\
20-
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
21+
---
2122

22-
### `yarn build`
23+
## πŸš€ Features
2324

24-
Builds the app for production to the `build` folder.\
25-
It correctly bundles React in production mode and optimizes the build for the best performance.
25+
- **Search** β€” Browse across multiple databases, datasets, and modalities
26+
- **Preview** β€” Interact with JSON metadata and visualize imaging data (2D/3D) in browser
27+
- **Download** β€” Retrieve datasets in JSON format, ready for use in Python, MATLAB/Octave, C++, and more
28+
- **Upload** - Contribute your own datasets to NeuroJSON.io ([Steps to contribute](#-for-data-contributors))
29+
- **REST API** β€” Automate your workflows with lightweight endpoints, designed for smooth integration into both local analyses and large-scale pipelines
2630

27-
The build is minified and the filenames include the hashes.\
28-
Your app is ready to be deployed!
31+
---
2932

30-
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
33+
## 🏁 Getting Started
3134

32-
### `yarn eject`
35+
1. Visit [https://neurojson.io](https://neurojson.io)
36+
2. Use the **search page** to find datasets or subjects of interest
37+
3. Click any dataset to **preview** or **download** data
38+
4. For automation, use the **[REST API](#rest-api)**
3339

34-
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
40+
---
3541

36-
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
42+
## πŸ‘©β€πŸ”¬ For Data Contributors
3743

38-
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
44+
We welcome your datasets!
3945

40-
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
46+
- NeuroJSON prefers **BIDS-compliant data**
47+
- Convert datasets to JSON using [`NeuroJSON Client(neuroj)`](https://github.com/NeuroJSON/neuroj):
48+
- Install Docker (skip this step if you already have it): [Get Docker](https://docs.docker.com/get-docker/)
49+
- Download neuroj via docker:
50+
```
51+
docker pull openjdata/neuroj:v2025
52+
```
53+
- Example (convert a single dataset to JSON via neuroj):
54+
```
55+
docker run openjdata/neuroj:v2025 neuroj -i /path/to/database/rootfolder -o /path/to/output/json/folder -db openneuro -ds ds000001 --convert
56+
```
57+
- See the full list of available [NeuroJSON Client commands](https://hub.docker.com/r/openjdata/neuroj)
58+
- Watch our [`tutorial video - convert data`](https://neurojson.io/about)
4159
42-
## Learn More
60+
### Steps to contribute
4361
44-
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
62+
1. Download NeuroJSON Client (neuroj)
63+
2. Convert your dataset to JSON
64+
3. Validate metadata
65+
4. [Open a ticket](https://github.com/NeuroJSON/registry) to upload your dataset
4566
46-
To learn React, check out the [React documentation](https://reactjs.org/).
67+
Contributions ensure **long-term public availability and reusability**.
68+
69+
---
70+
71+
## πŸ’» For Developers
72+
73+
### REST API
74+
75+
- Lightweight endpoints for download
76+
- JSON responses designed for integration with cloud and local workflows
77+
78+
Example (Load by URL with REST-API in Python):
79+
80+
```
81+
pip install jdata bjdata numpy
82+
```
83+
84+
```
85+
import jdata as jd
86+
data = jd.loadurl('https://neurojson.io:7777/openneuro/ds000001')
87+
88+
# List all externally linked files
89+
links = jd.jsonpath(data, '$.._DataLink_')
90+
91+
# Download & cache anatomical nii.gz data for sub-01/sub-02
92+
jd.jdlink(links, {'regex': 'anat/sub-0[12]_.*.nii'})
93+
```
94+
95+
---
96+
97+
## πŸ“Š Current Stats (as of latest release)
98+
99+
| Metric | Value |
100+
| --------- | ----------- |
101+
| Databases | **22** |
102+
| Datasets | **1,529** |
103+
| Subjects | **58,026** |
104+
| Links | **580,857** |
105+
| Data Size | **38 TB** |
106+
107+
---
108+
109+
## 🀝 Governance & Support
110+
111+
- NIH-funded data dissemination service
112+
- Maintained by the [COTI Lab, Northeastern University](http://fanglab.org/wiki/)
113+
- Contact: **[email protected]**
114+
115+
---
116+
117+
## πŸ›  Roadmap
118+
119+
We’re continuing to grow NeuroJSON.io to better serve the community. Some of the upcoming directions include:
120+
121+
- πŸ”œ **Expanding databases and datasets** β€” broadening coverage to include more sources and subjects
122+
- πŸ”œ **Enhancing visualization** β€” improving 2D/3D previews for richer and more intuitive exploration of data
123+
- πŸ”œ **Streamlining uploads** β€” introducing new features to make dataset contributions more automatic and user-friendly

0 commit comments

Comments
Β (0)