This project allows users to open and view NIfTI format images, which are popular for scientific neuroimaging. One can convert the complicated DICOM format popular in medical imaging to the simpler NIfTI format using free tools like dcm2niix.
By using webGL 2, these renderings can be viewed with web browsers on any computer, including tablets and smart phones (though be aware that Apple's iOS does not yet support WebGL 2). The idea for this project is to provide a web-based tool with similar functions to tools like MRIcroGL that is available for Windows, Linux and MacOS.
This software calculates the volume intensity gradients. This isolates regions where the brightness of the volume changes (for brain scans, these are the boundaries between different tissues). The software estimates both the gradient magnitude (is the brightness changing rapidly at this location) and the gradient direction (what direction is the surface oriented). This allows us to calculating lighting effects.
The "Shader" menu allows you to explore different methods for coloring the volume. The default shader uses MatCaps to color the volumes.
This project is currently a prototype. It lacks several features of mature tools like MRIcroGL. Some limitations include:
- Spatial orientation (the NIfTI SForm and QForm) are ignored. An image may be loaded in an unfamiliar orientation, and it might event show a brain left-right mirror reversed!
- It assumes volumes are anisotropic. If an image is isotropic (e.g. 1mm between voxels in each dimension) it will look fine, but if the image is anisotropic (e.g. 1mm in the left-right and anterior-superior directions, but 2mm in the inferior superior direction) the image may appear distorted.
- It does not load overlay images: you can only view a single volume at a time.
- Will Usher's WebGL Volume rendering.
- Will Usher's WebGL utilities.
- RII-UTHSCSA's NIFTI-Reader.
- glMatrix for matrix/vector operations.
- pako for GZip decompression.
You need to have a web server. You simply copy the files from this repository to a folder that will be hosted as a web page. If you do not have a web server, you can make a free github repository that will be shared as a website. If you do use Github, make sure you do not copy this README.md file to you repository (the README file will be shown as a web page instead of the index.html file). An example of a Github-based web server is here here.
- AMI supports volume rendering
- Leandro Roberto Barbagallo's volume renderer
- med3web has an elegant interface
- Roland Rytz's volume rendering
- ShareVol by Owen Kaluza
- three.js can read NRRD format images
- vtk-js loads vti format images
- XTK