ArteryVis - Evaluation of Artery Visualisations for Heart Disease Diagnosis
Lukas Meindl - 1028160,
Stephan Zapotocky - 0426209
VU Visualisierung 2 - SS 2012
Application Features
This application provides a visualisation of artery data for the diagnosis of heart diseases. The data used for this process is ESS. (endothelial shear stress)Since we didn't have access to such data, we had to find alternative datasets. The sample data for our application consists two parts: First, there is an XML file holding structural information of a vessel tree by storing control points and their respective vessel diameters along the vessel axis. The second part is a 3D datagrid with density values.
The authors of the respective paper, who developed 'HemoVis', conducted a user study which proved that the 2D view is superior to the 3D representation, because it provides a better navigation and visualisation experience.
Our application has the following features:
- Visualisation of (pseudo-)ESS data in 3D
- Visualisation of (pseudo-)ESS data in 2D with a tree layout
- Comparison of view types by highlighting vessel segments
- 2 different colour mappings
- Numerical display of density values in 2D view
- Visualisation of gradient data in 2D view
- FPS display
Using the application
On startup the application is loading the data and displays a progress bar. After completion the user can switch between the views by using the "View" menu item on the top. In the 2D view there are the following user actions:
- Hover over the vessel segments with the mouse to get instant feedback on the density value under the cursor
- Use the scrollbars to navigate through the tree
- Use the (+) and (-) buttons to zoom in and out
- Switch between 2 colour mappings in the bottom left corner
- Switch between density value and gradient value visualisation in the bottom left corner
- Click on a vessel to highlight it in the 3D view for comparable tasks
- Click on white background to disable highlighting
In the 3D view there are the following user actions:
- Press and hold the left mouse button and move the mouse to rotate view or use the W,A,S,D keys
- Press and hold the right mouse button and move the mouse to translate view or use the arrow keys
- Use the (+) and (-) keys on the keyboard to zoom in and out or use the mouse wheel
- Switch between 2 colour mappings in the bottom left corner
Architecture
We use GLEW, GLFW and CEGUI for rendering context, window and GUI. Rendering is done with openGL 3.3 core profile. The 3D datagrid is handled by a single class which transforms the data into a 3D texture. Loading the XML file with the tree structure is done in both the Vessel2DRenderer and the Vessel3DRenderer separately, since the mesh setup is done in different ways. Both renderers can access the 3D texture for use in the fragment shaders.
Colour mapping is done in 2 different ways. The 3D renderer combines the colour mapping and the grayscale 3D texture in the fragment shader. The 2D renderer first renders the objects with the grayscale texture only into a separate buffer. The buffer can be used for the density hover display and is then forwarded to the colour mapping.
Link to the application: LINK
Link to the sources: LINK