Visual Parameter Exploration in GPU Shader Space Peter Mindek 1, Stefan Bruckner 2,1, Peter Rautek 3, and M. Eduard Gröller 1 1 Institute of Computer Graphics and Algorithms Vienna University of Technology 2 Department of Informatics University of Bergen 3 Geometric Modeling and Scientific Visualization Center King Abdullah University of Science and Technology
Motivation GPU shaders implementing visualization algorithms are complex Effects of shader variables and their combinations are examined by trial and error Peter Mindek 2
Visual Shader-Space Exploration A novel method for analysis and exploration of visualization algorithms.
Overview 4 Peter Mindek
Approach 5 Peter Mindek
Feature Vectors Peter Mindek 6
Parameter Space Visualization Peter Mindek 7
Use Case
Dual-modality medical scan MRI CT Data Peter Mindek 9
Hard Tissues MRI CT Data Peter Mindek 10
Soft Tissues MRI CT Data Peter Mindek 11
MRI CT Data Peter Mindek 12 Co-registered CT and MRI scan of a human head
Data Attributes Peter Mindek 13
Data Attributes Peter Mindek 14 Data AttributeShader Variable CT scalar valuevoxCT MRI scalar valuevoxMRI CT gradient magnitudegmCT MRI gradient magnitudegmMRI abs(voxCT – voxMRI)voxDiff abs(gmCT – gmMRI)gmDiff max(voxCT, voxMRI)voxMax max(gmCT, gmMRI)gmMax
Goal Identifying which data attributes can be used to differentiate the brain from other tissues. Peter Mindek 15
Results voxMRI Peter Mindek 16
Results voxMRI Peter Mindek 17
Results voxMRI Peter Mindek 18
Results voxMRI Peter Mindek 19
Results voxMRI gmMRI Peter Mindek 20
Results voxCTvoxDiff voxMRIvoxMax gmCTgmDiff gmMRIgmMax Peter Mindek 21
Results voxMax gmDiff Peter Mindek 22
Results voxDiff gmMRI Peter Mindek 23
Results voxDiff gmMax Peter Mindek 24
Summary A novel method for analysis and exploration of visualization algorithms Examining effects of shader variables on the resulting images Real-time, calculations executed on the GPU Peter Mindek 26
Thank you for your attention!
Membership Function Peter Mindek 28 variable A variable B
Parameter Exploration Language //. accumulation0 WAVG //. name Scalar Value float vox = dataRead(p); //. name Gradient Magnitude float gm = length(gradient); //. vector vox; gm; (1.0 - accumA) * vox voxMRI *= 1.0 /*. + confidence0 */; accumC += (1.0 - accumA) * color.rgb * vox; accumA += (1.0 - accumA) * vox; Peter Mindek 29