Skip to content

The code related to the paper 'Interactive Occlusion-Free System for Accessible Volume Exploration' published in IEEE Access, Volume 11, 2023.

License

Notifications You must be signed in to change notification settings

NUZEROVI/Interactive-Occlusion-Free-System-for-Accessible-Volume-Exploration

 
 

Repository files navigation

Introduction

System Downloads (Releases) (for Mac) (for Windows)

Watch the video

Algorithm Overview (step-by-step)

The project can be divided into three stages :

 1. Volume Render (Load raw datasets and raymarching technique)
 2. Volume Pre-Computation (Material classfication and non-connected segmentation)
 3. Volume Exploration (Obstruction selection and 2 occision removal modes)

1. Volume Render

  • Fork from mlavik1/UnityVolumeRendering, describe how the volume rendering algorithm works. such as load raw datasets, raymarching technique, transfer functions, and direct volume rendering implementation.

2. Volume Pre-Computation

[1] Material classfication (Isosurface Similarity & Hierarchical Clustering)

We were inspried by previous research from the paper "Isosurface similarity maps", which identify the most representative structures of material based on information theory.

We implemented information theory to measure isosurface similarity map in Scripts/VolumeObject/VolumeObjectFactory.cs, by using the SeawispHunter.Maths, a C# library with Unity as Plugins Resources/Maths.dll and Resources/xunit.assert.dll to compute entropy, conditional entropy, and mutual information.

In order to automatically identify ranges of iso-values that make up the major structure of the material, we next use a hierarchical clustering algorithm to cluster the isosurfaces of isovalues in Scripts/PyCode_Clustering_Heapmap/Clustering.ipynb.

[2] Non-connected Segmentation (Approximate Convex Meshes & Collider Detect)

We segment the material structure into connected components by using the V-HACD library with Unity as Plugins Resources/VHACD_DLL.dll and Resources/libvhacd.dll to merge any triangle meshes as convex solutions.

Then, the approximate convex decomposition meshes that collide with each other are considered as connected structures and combined into the same piece.

3. Volume Exploration

  • You can see more details regarding occlusion removal for interact on a main branch "VolumeVis" (from Start to End Commits).

[1] Obstruction Selection (Visibility-Driven)

You can see Shaders/SDF.cginc for the lens placement is definition of Signed distance function (SDF) and Shaders/DirectVolumeRenderingShader.shader called that function to check insideLens, if true, we follow the priniple of WYSIWYG to design our obstruction selection function.

We utilize the paper "WYSIWYP: What You See Is What You Pick", a clssic visibility-oriented picking technique has to compute the first and second derivative of the accumulated opacity of the ray to determine the change in the maximum opacity value of the material to determine the selected material. Unlike them, we calculate each material structure's ray-accumulated opacity, visibility (*alpha*), to determine the most visible material.

[2] Occulsion Removal Modes

Local digging structure mode ( DiggingWidget in Shaders/DirectVolumeRenderingShader.shader) This mode removes the obstruction locally and keeps the context around the local region.

Global erasing structure mode ( ErasingWidget in Shaders/DirectVolumeRenderingShader.shader) This mode removes a whole connected material structure when users think that the whole material structure is well explored.

Examples of System Demos

VolumeVis-UX Survey Process (Website)

The questionnaire is designed to get feedback for three aspects of our system: usability, practicability, and applicability.

Acknowledgements

I would like to thank my advisor, Professor Wang Ko-Chih, for his assistance and guidance during this research.

I would like to express my appreciation to the original author, mlavik1, for releasing the open source and tutorial to volume rendering, which enabled me to finish my master thesis study on visualization of volume data, and interactive visualization.

About

The code related to the paper 'Interactive Occlusion-Free System for Accessible Volume Exploration' published in IEEE Access, Volume 11, 2023.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C# 56.8%
  • Jupyter Notebook 29.1%
  • GLSL 12.5%
  • ShaderLab 1.1%
  • HLSL 0.2%
  • HCL 0.2%
  • Python 0.1%