Update home authored by Saad Jbabdi's avatar Saad Jbabdi
# <img src="uploads/4522efcce94c420b5f5206cdfda42f85/dive_avatar.jpg" alt="DIVE" width="100" height="100"> DIVE - Diffusion models Interactive ViEwer
# Overview
DIVE is an interactive viewer for diffusion models.
To get good interactivity with the app, it is recommended to install it locally on your computer. You can do so from the [Git repo](https://git.fmrib.ox.ac.uk/neichert/DIVE)
To get good interactivity with the app, it is recommended to install it locally on your computer. See the [Git repo](https://git.fmrib.ox.ac.uk/neichert/DIVE) for instructions.
If you don't want to install it locally, you can run the current working version online [here](https://dry-wildwood-41441.herokuapp.com/dive), but note that the interactivity may be slower.
The app allows you to visualise diffusion data predicted by user-defined microstructural models and interactively change the model parameters or data acquisition to visualise the effect that these have on the model predictions. The following features are available:
The app allows you to visualise diffusion data predicted by user-defined microstructural models and interactively change the model parameters or data acquisition to visualise the effect that these have on the model predictions.
# Models
- user defined acquisition parameters
- multiple micro-structural compartments based on the standard model:
......@@ -24,7 +28,38 @@ The app allows you to visualise diffusion data predicted by user-defined microst
- user can add Gaussian/Rician noise to predicted signal
- data can be saved to file for further analysis
If you are a developer, please refer to the more extensive description provided in the [developers page](for_developers).
# Panels
The DIVE interface is composed of multiple panels, some of which are hidden by default. There are three types of panels:
- Model specification panels
These allow the user to specify the different model compartments and orientation distribution function. The compartments can be any number amongst a predefined set (see above).
The signal prediction is generated by summing the predictions of individual compartments. All orientational compartments (e.g. stick, cylinder, etc.) are aligned with the z-axis by default.
The Orientation panel allows specification of a fibre orientation distribution (FOD) which is applied to a user-selected subset of the compartments. The FOD can be a combination of any number of single stick-like or Watson-like distributions.
- Visualisation panels
There are 4 visualisation panels:
1. Sensitivity to b-value
2. Sensitivity to diffusion time
3. Sensitivity to orientation
4. Sensitivity to parameter changes
Panels 1,2 and 4 show a figure for signal changes as a function of b-value, diffusion time, and model parameters respectively. They also show a figure for changes in commonly used tensor-based parameters (FA and MD). The signal plot by default is the spherical-mean technique (i.e. averaged signal over all 3D orientations), unless this is modified through the control panels (see below).
Visualisation panel 3 show the signal as a function of gradient orientation in two different ways: either as a function of the angle wrt an orientation specified in the control panels (below), or as a 3D glyph.
- Control panels
Finally, there are 4 controls panels:
1. Acquisition: specify an acquisition scheme by either selecting amongst pre-defined ones or loading text files. Once a scheme is chosen, click on 'Display scatter' to see the predicted data.
2. Shells: modify the b-value/diffusion time/gradient amplitude/gradient duration. This affects all the signal plots except for those where b-value/diffusion time appear along the x-axis.
3. Noise: add noise to the scattered data. This only affects the scattered data following the acquisition scheme defined in panel (1), not the continuous signal predictions.
4. Axis: perform operations that affect the x and y axes of the plots. User can choose to apply one of predefined operations to the axes (e.g. to look at log-signal instead of signal), or can modify the reference orientation of the signal v angle plot (see visualisation panel 4)
# History
DIVE was developed by members of the Connectivity group at WIN, Oxford. It came about through an online (cuz of covid) week-long hackathon/retreat. It was decided to follow an Agile software development process to streamline the development of the software. See [developers page](for_developers) for more information on the process.