SlideShare a Scribd company logo
Verifiable Visualization for Isosurface Extraction                     Tiago EtieneCarlos Scheidegger Luis Gustavo Nonato Mike Kirby Cláudio Silva
Introduction “The need for verifiable visualization”
Introduction Visualization is critical part of the scientific pipeline How can the visualization community build confidence on Algorithms & Implementations being used?
How to build confidence Consider the problem of Isosurface extraction. Common correctness tests: Expert analysis Visual comparisons Benchmark suites Comparison with “trustworthy” codes Simple vs. Real world data ….
Related work Visualization: “Evaluation of Visualization Software” [Globus and Uselton, 1995] “The Need for Verifiable Visualization” [Kirby and Silva, 2008] Computational Simulation Community: Validation & Verification [I. Babuska and J. Oden, 2004]
Traditional Scientific Simulation Pipeline Validation   – Does the mathematical model represent the physical phenomena correctly? Verification – Does the computational model and its implementation  	       represent the mathematical model accurately?
Scientific Simulation Pipeline by Kirby and Silva Physical Process Validation   – Does the mathematical model represent the physical phenomena correctly? Verification – Does the computational model and its implementation  	       represent the mathematical model accurately?
Goal Introduce to the visualization community a practical framework for code and algorithm verification in the context of isosurface extraction
Verification & visualization Building confidence through verification
Verification Verification in order of increase rigor [C. J. Roy, 2005]: Expert judgment  Error quantification Consistency/convergence Order of accuracy
Formal Order of Accuracy Truncation error We want to write errors as: Example: Linear Interpolation f(a) a a+h f(a+h)
Observed Order of Accuracy In practice:
Method of Manufactured Solution (MMS) Establish assumption on input Determine theoretical behavior for different inputs Develop manufactured solutions that: meet the assumptions: testing against theoretical results violate assumptions: testing the tightness of the theory Systematically test the method against manufactured solutions Compare formal and observed order of accuracy
Method of Manufactured Solution – Pipeline for Isosurface Extraction h i i (h , E ) E = ||u(       ) – u(      )|| h L i h i
THEORETICAL RESULTS Formalizing algorithm behavior
Formal Order of Accuracy Given a level set f = λ and assuming linear interpolation we know that: Algebraic distance Normal (cross product of edges) Gaussian curvature (angle deficit method) Surface area:
Practical results Observed implementation behavior
Implementations under verification VTK Marching Cubes [W. Lorensen and H. Cline, 1987] Macet[C. A. Dietrich et. al., 2008] Dual Contouring[T. Ju et. al., 2002] SnapMC[S. Raman and R. Wenger, 2008] Afront[J. Schreiner et. al., 2006] DelIso[T. Dey and J. Levine, 2007] Manufactured Solution:
Observed order of accuracy Algebraic distance h
Observed order of accuracy Algebraic distance h
Observed order of accuracy Algebraic distance h
Observed order of accuracy Algebraic distance h
Observed order of accuracy Algebraic distance h
Observed order of accuracy Algebraic distance h
Observed order of accuracy Algebraic distance - Bug h
Observed order of accuracy Algebraic distance - Fixed h
Observed order of accuracy Normal - Bug h
Observed order of accuracy Normal - Fixed h
Qualitatively
Qualitatively
Conclusion & future WORK What we’ve learned
Conclusion & Future Work Implementation of MMS: Easy to code test: implementation is a black box Future work: Isosurface extraction: Consider topology  Build a more complete set of manufactured solutions MMS in Visualization Streamlines computation Volume rendering Mesh simplification
Conclusion & Future Work Use of MMS: Verifiable Visualization Development of a culture of verification Algorithm analysis Global effort  to better understand algorithm properties/limitations Manufactured solution Development of a database of strong solutions
Acknowledgements We thank LauroLins and Tom Peters for help with the paper JoãoComba for help with the Macet code TamalDey and Joshua Levine for the customized version of DelIso used in this work This work was supported in part by grants from NSF, DOE, IBM Faculty Awards and PhD Fellowship, the US ARO, ExxonMobil and Fapesp-Brazil.
Thank you. Questions?
References I. Babuska and J. Oden. Verification and validation in computational engineering and science: basic concepts. Computer Methods in Applied Mechanics and Engineering, 193(36-38):4057–4066, 2004. J. Schreiner, C. Scheidegger, and C. Silva. High-quality extraction of isosurfaces from regular and irregular grids. IEEE TVCG, 12(5):1205– 1212, 2006. T. K. Dey and J. A. Levine. Delaunay meshing of isosurfaces. In SMI ’07: Proceedings of the IEEE International Conference on Shape Modeling and Applications 2007, pages 241–250. IEEE Computer Society, 2007. T. Ju, F. Losasso, S. Schaefer, and J. Warren. Dual contouring of hermite data. In SIGGRAPH’02, pages 339–346. ACM, 2002.
References C. A. Dietrich, C. Scheidegger, J. Schreiner, J. L. D. Comba, L. P. Nedel, and C. Silva. Edge transformations for improving mesh quality of marching cubes. IEEE TVCG, 15(1):150–159, 2008. W. Lorensen and H. Cline. Marching cubes: A high resolution 3d surface construction algorithm. SIGGRAPH Comp. Graph., 21:163–169, 1987. C. J. Roy. Review of code and solution verification procedures for computational simulation. J. Comput. Phys., 205(1):131–156, 2005. S. Raman and R. Wenger. Quality isosurface mesh generation using an extended marching cubes lookup table. Computer Graphics Forum, 27(3):791–798, 2008.
References A. Globus and S. Uselton. Evaluation of visualization software. SIGGRAPH Comp. Graph., 29(2):41–44, 1995 R. Kirby and C. Silva. The need for verifiable visualization. IEEE Computer Graphics and Applications, 28(5):78–83, 2008
Observed order of accuracy Algebraic distance (bug) (fixed)
Observed order of accuracyNormal (bug) (fixed)
Observed order of accuracyArea (bug) (fixed)
Observed order of accuracyCurvature (bug) (fixed)
Observed order of accuracyTranscendental function

More Related Content

Similar to Verifiable visualization for isosurface extraction vis 2009

Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...
Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...
Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...
Simone Ercoli
 
Test for AI model
Test for AI modelTest for AI model
Test for AI model
Arithmer Inc.
 
Automatic Assessment of Student Answers for Geometric Construction Questions
Automatic Assessment of Student Answers for Geometric Construction QuestionsAutomatic Assessment of Student Answers for Geometric Construction Questions
Automatic Assessment of Student Answers for Geometric Construction Questions
Buddhima Wijeweera
 
Long-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep LearningLong-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep Learning
Elaheh Rashedi
 
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
Ali Ouni
 
Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...
Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...
Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...
Chris Rackauckas
 
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate RetrievalimPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
Prerana Mukherjee
 
Introduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer VisionIntroduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer Vision
All Things Open
 
Sharath copy
Sharath   copySharath   copy
Sharath copy
Sharath Ramesh
 
Automated software testing cases generation framework to ensure the efficienc...
Automated software testing cases generation framework to ensure the efficienc...Automated software testing cases generation framework to ensure the efficienc...
Automated software testing cases generation framework to ensure the efficienc...
Sheikh Monirul Hasan
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering
Ivano Malavolta
 
Unsupervised ensemble of experts (EoE) framework for automatic binarization o...
Unsupervised ensemble of experts (EoE) framework for automatic binarization o...Unsupervised ensemble of experts (EoE) framework for automatic binarization o...
Unsupervised ensemble of experts (EoE) framework for automatic binarization o...
Reza Farrahi Moghaddam, PhD, BEng
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and Models
Hironori Washizaki
 
Software metrics
Software metricsSoftware metrics
Software metrics
Dr. C.V. Suresh Babu
 
IRJET - Automatic Attendance Provision using Image Processing
IRJET - Automatic Attendance Provision using Image ProcessingIRJET - Automatic Attendance Provision using Image Processing
IRJET - Automatic Attendance Provision using Image Processing
IRJET Journal
 
Query Recommendation - Barcelona 2017
Query Recommendation - Barcelona 2017Query Recommendation - Barcelona 2017
Query Recommendation - Barcelona 2017
Puya - Hossein Vahabi
 
Image Features Matching and Classification Using Machine Learning
Image Features Matching and Classification Using Machine LearningImage Features Matching and Classification Using Machine Learning
Image Features Matching and Classification Using Machine Learning
IRJET Journal
 
Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.
IRJET Journal
 
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.pptProto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
AnirbanBhar3
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 

Similar to Verifiable visualization for isosurface extraction vis 2009 (20)

Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...
Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...
Vision and Multimedia Reading Group: DeCAF: a Deep Convolutional Activation F...
 
Test for AI model
Test for AI modelTest for AI model
Test for AI model
 
Automatic Assessment of Student Answers for Geometric Construction Questions
Automatic Assessment of Student Answers for Geometric Construction QuestionsAutomatic Assessment of Student Answers for Geometric Construction Questions
Automatic Assessment of Student Answers for Geometric Construction Questions
 
Long-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep LearningLong-term Face Tracking in the Wild using Deep Learning
Long-term Face Tracking in the Wild using Deep Learning
 
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
 
Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...
Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...
Generalizing Scientific Machine Learning and Differentiable Simulation Beyond...
 
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate RetrievalimPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
imPlag: Detecting Image Plagiarism Using Hierarchical Near Duplicate Retrieval
 
Introduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer VisionIntroduction to Face Processing with Computer Vision
Introduction to Face Processing with Computer Vision
 
Sharath copy
Sharath   copySharath   copy
Sharath copy
 
Automated software testing cases generation framework to ensure the efficienc...
Automated software testing cases generation framework to ensure the efficienc...Automated software testing cases generation framework to ensure the efficienc...
Automated software testing cases generation framework to ensure the efficienc...
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering
 
Unsupervised ensemble of experts (EoE) framework for automatic binarization o...
Unsupervised ensemble of experts (EoE) framework for automatic binarization o...Unsupervised ensemble of experts (EoE) framework for automatic binarization o...
Unsupervised ensemble of experts (EoE) framework for automatic binarization o...
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and Models
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
IRJET - Automatic Attendance Provision using Image Processing
IRJET - Automatic Attendance Provision using Image ProcessingIRJET - Automatic Attendance Provision using Image Processing
IRJET - Automatic Attendance Provision using Image Processing
 
Query Recommendation - Barcelona 2017
Query Recommendation - Barcelona 2017Query Recommendation - Barcelona 2017
Query Recommendation - Barcelona 2017
 
Image Features Matching and Classification Using Machine Learning
Image Features Matching and Classification Using Machine LearningImage Features Matching and Classification Using Machine Learning
Image Features Matching and Classification Using Machine Learning
 
Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.Image super resolution using Generative Adversarial Network.
Image super resolution using Generative Adversarial Network.
 
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.pptProto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
 

Verifiable visualization for isosurface extraction vis 2009

  • 1. Verifiable Visualization for Isosurface Extraction Tiago EtieneCarlos Scheidegger Luis Gustavo Nonato Mike Kirby Cláudio Silva
  • 2. Introduction “The need for verifiable visualization”
  • 3. Introduction Visualization is critical part of the scientific pipeline How can the visualization community build confidence on Algorithms & Implementations being used?
  • 4. How to build confidence Consider the problem of Isosurface extraction. Common correctness tests: Expert analysis Visual comparisons Benchmark suites Comparison with “trustworthy” codes Simple vs. Real world data ….
  • 5. Related work Visualization: “Evaluation of Visualization Software” [Globus and Uselton, 1995] “The Need for Verifiable Visualization” [Kirby and Silva, 2008] Computational Simulation Community: Validation & Verification [I. Babuska and J. Oden, 2004]
  • 6. Traditional Scientific Simulation Pipeline Validation – Does the mathematical model represent the physical phenomena correctly? Verification – Does the computational model and its implementation represent the mathematical model accurately?
  • 7. Scientific Simulation Pipeline by Kirby and Silva Physical Process Validation – Does the mathematical model represent the physical phenomena correctly? Verification – Does the computational model and its implementation represent the mathematical model accurately?
  • 8. Goal Introduce to the visualization community a practical framework for code and algorithm verification in the context of isosurface extraction
  • 9. Verification & visualization Building confidence through verification
  • 10. Verification Verification in order of increase rigor [C. J. Roy, 2005]: Expert judgment Error quantification Consistency/convergence Order of accuracy
  • 11. Formal Order of Accuracy Truncation error We want to write errors as: Example: Linear Interpolation f(a) a a+h f(a+h)
  • 12. Observed Order of Accuracy In practice:
  • 13. Method of Manufactured Solution (MMS) Establish assumption on input Determine theoretical behavior for different inputs Develop manufactured solutions that: meet the assumptions: testing against theoretical results violate assumptions: testing the tightness of the theory Systematically test the method against manufactured solutions Compare formal and observed order of accuracy
  • 14. Method of Manufactured Solution – Pipeline for Isosurface Extraction h i i (h , E ) E = ||u( ) – u( )|| h L i h i
  • 15. THEORETICAL RESULTS Formalizing algorithm behavior
  • 16. Formal Order of Accuracy Given a level set f = λ and assuming linear interpolation we know that: Algebraic distance Normal (cross product of edges) Gaussian curvature (angle deficit method) Surface area:
  • 17. Practical results Observed implementation behavior
  • 18. Implementations under verification VTK Marching Cubes [W. Lorensen and H. Cline, 1987] Macet[C. A. Dietrich et. al., 2008] Dual Contouring[T. Ju et. al., 2002] SnapMC[S. Raman and R. Wenger, 2008] Afront[J. Schreiner et. al., 2006] DelIso[T. Dey and J. Levine, 2007] Manufactured Solution:
  • 19. Observed order of accuracy Algebraic distance h
  • 20. Observed order of accuracy Algebraic distance h
  • 21. Observed order of accuracy Algebraic distance h
  • 22. Observed order of accuracy Algebraic distance h
  • 23. Observed order of accuracy Algebraic distance h
  • 24. Observed order of accuracy Algebraic distance h
  • 25. Observed order of accuracy Algebraic distance - Bug h
  • 26. Observed order of accuracy Algebraic distance - Fixed h
  • 27. Observed order of accuracy Normal - Bug h
  • 28. Observed order of accuracy Normal - Fixed h
  • 31. Conclusion & future WORK What we’ve learned
  • 32. Conclusion & Future Work Implementation of MMS: Easy to code test: implementation is a black box Future work: Isosurface extraction: Consider topology Build a more complete set of manufactured solutions MMS in Visualization Streamlines computation Volume rendering Mesh simplification
  • 33. Conclusion & Future Work Use of MMS: Verifiable Visualization Development of a culture of verification Algorithm analysis Global effort to better understand algorithm properties/limitations Manufactured solution Development of a database of strong solutions
  • 34. Acknowledgements We thank LauroLins and Tom Peters for help with the paper JoãoComba for help with the Macet code TamalDey and Joshua Levine for the customized version of DelIso used in this work This work was supported in part by grants from NSF, DOE, IBM Faculty Awards and PhD Fellowship, the US ARO, ExxonMobil and Fapesp-Brazil.
  • 36. References I. Babuska and J. Oden. Verification and validation in computational engineering and science: basic concepts. Computer Methods in Applied Mechanics and Engineering, 193(36-38):4057–4066, 2004. J. Schreiner, C. Scheidegger, and C. Silva. High-quality extraction of isosurfaces from regular and irregular grids. IEEE TVCG, 12(5):1205– 1212, 2006. T. K. Dey and J. A. Levine. Delaunay meshing of isosurfaces. In SMI ’07: Proceedings of the IEEE International Conference on Shape Modeling and Applications 2007, pages 241–250. IEEE Computer Society, 2007. T. Ju, F. Losasso, S. Schaefer, and J. Warren. Dual contouring of hermite data. In SIGGRAPH’02, pages 339–346. ACM, 2002.
  • 37. References C. A. Dietrich, C. Scheidegger, J. Schreiner, J. L. D. Comba, L. P. Nedel, and C. Silva. Edge transformations for improving mesh quality of marching cubes. IEEE TVCG, 15(1):150–159, 2008. W. Lorensen and H. Cline. Marching cubes: A high resolution 3d surface construction algorithm. SIGGRAPH Comp. Graph., 21:163–169, 1987. C. J. Roy. Review of code and solution verification procedures for computational simulation. J. Comput. Phys., 205(1):131–156, 2005. S. Raman and R. Wenger. Quality isosurface mesh generation using an extended marching cubes lookup table. Computer Graphics Forum, 27(3):791–798, 2008.
  • 38. References A. Globus and S. Uselton. Evaluation of visualization software. SIGGRAPH Comp. Graph., 29(2):41–44, 1995 R. Kirby and C. Silva. The need for verifiable visualization. IEEE Computer Graphics and Applications, 28(5):78–83, 2008
  • 39. Observed order of accuracy Algebraic distance (bug) (fixed)
  • 40. Observed order of accuracyNormal (bug) (fixed)
  • 41. Observed order of accuracyArea (bug) (fixed)
  • 42. Observed order of accuracyCurvature (bug) (fixed)
  • 43. Observed order of accuracyTranscendental function

Editor's Notes

  1. The authors thought that this model was a faithful representation of their data but this happen to be not quite accurate.Inside the community, we are accostumed to go from simple test to real world data.
  2. The vis
  3. In addition to the current practices inside the visualization community,we advocate he creation of controlled environment were we can systematically test codes and algorithms.