Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unity® Volume Rendering

Unity® Volume Rendering

Bachelor Thesis: Plug-in zum Rendern von medizinischen Daten, Präsentation
(Update Oktober 2016)

Stichworte: Medical Imaging, GPU Programming, Volume Rendering
Technologie: Unity, C#/.NET, JSON, Cg/HLSL, VTK, DICOM

Roland Bruggmann

June 29, 2016
Tweet

More Decks by Roland Bruggmann

Other Decks in Programming

Transcript

  1. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Unity® Volume Rendering Plug-in zum Rendern von medizinischen Daten Bachelor Thesis 2016 – Präsentation (Version Oktober 2016) Diplomand: Roland Bruggmann Betreuer: Prof. Dr. Urs Künzler, cpvrLab Experte: Dr. Federico Flückiger, Eidg. Finanzdepartement EFD ▶ Fachbereich Informatik, Vertiefung in Computer Perception and Virtual Reality
  2. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Ausgangslage Cave Automatic Virtual Environment (CAVE)
  3. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Ausgangslage Rendern der Stereobilder mit Unity
  4. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Ausgangslage Simulation Operationssaal als Serious Game
  5. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Ausgangslage Volumengrafik einbinden
  6. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Problemstellung Medizinische Daten als Volumengrafik
  7. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Problemstellung Plug-in für Unity
  8. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Problemstellung Berechnung auf den Grafikprozessoren
  9. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Grundlagen – Direct Volume Rendering DVR Rekonstruktion und Volumengrafik 4 Kanäle rgba (Farbe & Transparenz) 1 Kanal s (Graustufen)
  10. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Grundlagen – Direct Volume Rendering DVR Transferfunktion: „Malen mit Zahlen“ Transferfunktion mit 256 Farbwerten Rekonstruktion mit 256 Grauwerten
  11. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Grundlagen – Unity: Engine und Editor Namespace UnityEngine Namespace UnityEditor GameObject2 GameObject2 Component Pattern Scenegraph
  12. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Grundlagen – Unity: Scripting API Namespace UnityEngine Namespace UnityEditor GameObject2 GameObject2 Eigene Komponenten
  13. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Grundlagen – Unity: ShaderLab 3D-Model: Mesh (Cube) Shaded graphics C-/H-/N-Map: Texture2D
  14. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Konzept – User Story Actors und Systemgrenzen Offstage Offstage Supporting Supporting System Game Developer als Primary Actor Operator, Patient, MRT / CT, DICOM-Daten GPUs, Serious Game im CAVE, Training von OP-Personal
  15. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Konzept – Requirements Workshop Mockup Unity Editor
  16. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Konzept – Requirements Workshop DVR mit Region of Interest ROI
  17. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Design – Paketdiagramm Menu und Utility - Import DICOM Dataset - Create Reconstruction (Texture3D) - Create GO Volume with ROI
  18. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Design – Klassendiagramm GO Volume und ROI
  19. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Design – Unity ShaderLab Volume Graphics ROI: Mesh (Cube) Pixel Shader: Raycaster TRS of ROI: Matrix4x4 Reconstruction: Texture3D TF: Texture2D
  20. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences P.rgb = (0.0, 0.0, 0.0) P.a = 0.0 Design – Pixel Shader P Akkumulation von Farbe und Transparenz per Raycaster Projektionsebene Kamera Rekonstruktion mit ROI Für jedes Pixel P ein Sichtstrahl.
  21. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences P.rgb += T(s 1 ).rgb * T(s 1 ).a P.a += T(s 1 ).a T(s 1 ) Design – Pixel Shader s 1 P Akkumulation von Farbe und Transparenz per Raycaster
  22. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences P.rgb += T(s 2 ).rgb * T(s 2 ).a P.a += T(s 2 ).a P s 2 Akkumulation von Farbe und Transparenz per Raycaster Design – Pixel Shader T(s 2 )
  23. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences T(s 3 ) P.rgb += T(s 3 ).rgb * T(s 3 ).a P.a += T(s 3 ).a P s 3 Akkumulation von Farbe und Transparenz per Raycaster Design – Pixel Shader
  24. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences T(s 3 ) P.rgb += T(s 3 ).rgb * T(s 3 ).a P.a += T(s 3 ).a P s 3 Akkumulation von Farbe und Transparenz per Raycaster Design – Pixel Shader Stopp wenn - P.a grösser als Alpha-Threshold oder - s ausserhalb ROI
  25. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Für jede Zeile ... Design – Pixel Shader Akkumulation von Farbe und Transparenz per Raycaster
  26. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Design – Pixel Shader Texture mapping … ergibt 2D-Texturen, welche auf die ROI gemappt werden. ROI als Volumengrafik
  27. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Umsetzung Volume Rendering im Unity Editor
  28. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Umsetzung Material und Shader-GUI
  29. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences Danke für Ihre Aufmerksamkeit.
  30. Berner Fachhochschule | Haute école spécialisée bernoise | Bern University

    of Applied Sciences  „Haptic CAVE“. In: cpvrLab Wiki. Institute for Human Centered Engineering HuCE, BFH-TI, 23. Jan. 2011. URL: https://www.cpvrlab.ti.bfh.ch/wiki/huce:cpvrlab:cave:start  „Quadro Desktop Grafikkarten“. In: Website von NVIDIA GmbH, Würselen. URL: http://www.nvidia.de/object/quadro-desktop-gpus-de.html  „3D Virtual Operating Room (3D-VOR)“. In: Serious Game Classification. URL: http://serious.gameclassification.com/EN/games/43921-3D-Virtual-Operating-Room-3D-VOR/index.html  Rezk-Salama, Christof u. a.: „Real-Time Volume Graphics“. 1. Aufl. Wellesley, Mass: A K Peters, 2006. URL: http://www.real-time-volume-graphics.org/  Hudritsch, Markus: „Game Development mit Unity3D“. Skript. Modul BTI7527 Game Development. Feb. 2016.  „MAGNETOM Skyra“. In: Website von SIEMENS Helathineers, Schweiz. URL: http://www.healthcare.siemens.ch/magnetic-resonance-imaging/3t-mri-scanner/magnetom-skyra  DICOM – Digital Imaging and Communications in Medicine, URL: http://dicom.nema.org/  The Visualization Toolkit VTK. URL: http://www.vtk.org/  „Nursing in the 21st Century: How the Role of Nursing Is Evolving“. In: Study.com, 1. Dez. 2010. URL: http://study.com/articles/Nursing_in_the_21st_Century_How_the_Role_of_Nursing_is_Evolving.html  Alan Zucconi: „A gentle introduction to shaders in Unity3D“. London, 10. Juni 2015. URL: http://www.alanzucconi.com/2015/06/10/a-gentle-introduction-to-shaders-in-unity3d/  „Unity Manual“. URL: http://docs.unity3d.com/Manual/index.html  „Unity Scripting-API“. URL: http://docs.unity3d.com/ScriptReference/index.html Bildnachweis Unity® Volume Rendering im Web Abstract: http://www.ti.bfh.ch/index.php?id=4398&L=0&absId=1201 Screencast: https://www.youtube.com/watch?v=4__j5mM_az0