|
1 | | -# Getting Started with Create React App |
| 1 | +# NeuroJSON.io |
2 | 2 |
|
3 | | -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). |
| 3 | +**Free Data Worth Sharing** |
4 | 4 |
|
5 | | -## Available Scripts |
| 5 | +[](https://neurojson.io) |
| 6 | +[](#) |
6 | 7 |
|
7 | | -In the project directory, you can run: |
| 8 | +--- |
8 | 9 |
|
9 | | -### `yarn start` |
| 10 | +## π Overview |
10 | 11 |
|
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: |
13 | 13 |
|
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 |
16 | 18 |
|
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. |
18 | 20 |
|
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 | +--- |
21 | 22 |
|
22 | | -### `yarn build` |
| 23 | +## π Features |
23 | 24 |
|
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 |
26 | 30 |
|
27 | | -The build is minified and the filenames include the hashes.\ |
28 | | -Your app is ready to be deployed! |
| 31 | +--- |
29 | 32 |
|
30 | | -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. |
| 33 | +## π Getting Started |
31 | 34 |
|
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)** |
33 | 39 |
|
34 | | -**Note: this is a one-way operation. Once you `eject`, you canβt go back!** |
| 40 | +--- |
35 | 41 |
|
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 |
37 | 43 |
|
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! |
39 | 45 |
|
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) |
41 | 59 |
|
42 | | -## Learn More |
| 60 | +### Steps to contribute |
43 | 61 |
|
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 |
45 | 66 |
|
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 | + |
| 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