WARNING: this repo is a demo and is not very active anymore. Please see niivue-apps for a more active project.
NiiVue is a WebGL 2.0 medical image viewer for web environments. This user interface (UI) project (NiiVue UI) is a reference implementation of how controls (sliders, buttons, inputs) can be used to interact with core NiiVue functions.
This user interface extends NiiVue and allows user friendly interactions with medical images. We use React for our frontend framework, and React MUI for the material design controls.
Our active projects are always visible here
- Center for the Study of Aphasia Recovery (University of South Carolina)
- Wellcome Centre for Integrative Neuroimaging (University of Oxford)
- WebGL 2.0 enabled web browser (Chrome, FireFox or Safari Technology Preview).
- macOS and iOS users/developers may need to enable WebGL 2.0 in their Safari settings (Safari < 15).
*To add yourself please create a PR
- 2021-2022
- P50 DC014664/DC/NIDCD NIH HHS/United States
- Make sure you have nodejs and npm installed
git clone [email protected]:niivue/niivue-ui.git
cd niivue-ui
npm install
Source code can be found in src/
.
npm run dev
npm run build
NiiVue-ui uses semantic versioning.
To update the version run:
npm version patch # options are: major | minor | patch
All contributions are encouraged and welcomed. Feel free to update documentation, add features, fix bugs, or just ask questions on the issue board.
All contributions should start as a new issue on the NiiVue issue board.
By starting a new issue for everything we ping everyone watching the project at the same time, and therefore alerting them to the feature, bug, or question. It also gives everyone a change to comment on new posts.
When adding features please keep in mind that we want NiiVue to work on all devices that support WebGL 2.0 (laptops, desktops, tablets, and phones). Therefore, please do your best to test features on as many devices as you have access to.
When testing locally from other devices you can navigate to your development computer's local IP address (assuming your phone and computer are on the same local network) at the port specified in the URL printed to the terminal.
The main
branch is protected. This means that no one can commit to main directly. All edits must be merged in from forks or feature branches.