Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Projektpraktikum Medizinische Visualisierung. Einführung Projektleitung:Matthias Biedermann Projektassistenz:Andreas Langs Projektteilnehmer:Marcus Berlage.

Ähnliche Präsentationen


Präsentation zum Thema: "Projektpraktikum Medizinische Visualisierung. Einführung Projektleitung:Matthias Biedermann Projektassistenz:Andreas Langs Projektteilnehmer:Marcus Berlage."—  Präsentation transkript:

1 Projektpraktikum Medizinische Visualisierung

2 Einführung Projektleitung:Matthias Biedermann Projektassistenz:Andreas Langs Projektteilnehmer:Marcus Berlage Martina Brümmer Johannes Hamecher Jan Hermes Thomas Höllt Christian Isleib Sören Kewenig Carsten Meffert Das Team

3 Visualisierung von medizinischen Volumendaten, die zum Beispiel von CT oder MRI geliefert werden im Gegensatz zum Oberflächen Rendering werden hierbei mehrschichtige oder transparente Informationen dargestellt, zum Beispiel das Innere eines Körpers Einführung Die Thematik

4 bislang nur 8 bit Datensätze unterstützt hauptsächlich CPU-Rendering maximal interaktive Performance Einführung Eigenschaften von bekannten Systemen

5 Einführung Ziele des Projektpraktikums Einarbeitung in den Bereich der medizinischen Visualisierung Schwerpunkt: Visualisierung Entwicklung eines Programmes zur Visualisierung von Volumendaten Entwicklung einer Benutzeroberfläche für möglichsten großen Lerneffekt: wurde auf keine bestehende Software zurückgegriffen [Ausnahme DICOM-Reader]

6 Einführung Ziele des Projektpraktikums Verarbeitung von Volumendaten: DICOM, PGM Rendern auf CPU und GPU Ein- und Ausgabegeräte (Maus, (Spacemaus, Phantom)) Stereodisplay

7 Einführung Organisation des Praktikums Zeitraum des Praktikums: 1.Oktober 2005 bis 31.März 2006 Organisation – Vorbereitungsphase: Vorträge – Übungsphase: Übungsaufgabe – 1. Programmierphase: CPU-Raycasting – 2. Programmierphase: GPU-Raycasting – Audit

8 Vorbereitungsphase Vorträge und Entscheidungen Raycasting Studienarbeit Selbstentwicklung CG, GLSL wxWidgets, QT Grundlagen der Volumenvisualisierung Renderingverfahren Transferfunktion Optimierungsmöglichkeiten existierende API's GPU-Programmierung GUI-Programmierung Haptik

9 Vorbereitungsphase Systemanforderungen Windows-PC (entwickelt und getestet unter Windows XP) aktuelle Grafikhardware mit Unterstützung für Shader-Model 3.0 (empfohlen: Nvidia, ab NV4x) je nach Datensatz ausreichend Arbeitsspeicher (mind. 512 MB) Bibliotheken: Boost(version), wxWidgets(), cg 1.4, glew(), Opengl DICOM Parser

10 Datenverarbeitung Programmierphase 1 Teamaufteilung Projektleiter GUI-WorkflowCPU-Rendering -CPU Raycasting -Raw/PGM lesen/schreiben -Filter (Mean /Gauss/Median) -Basisoberfläche

11 Programmierphase 1 Module und Daten GUIDatenhaltung Dateien CPU Volumen Kamera und Transferfunktion fest

12 Programmierphase 1 Probleme und Lösungen Integration der einzelnen Komponenten nur anhand des Klassendiagramms – zu kurze Planungsphase --> direktes Implementieren warf Probleme auf – Schnittstellen waren nicht genau genug spezifiziert – Änderungen wurden bis zur Integrationspahse nicht an andere weitergegeben – Dokumentation aktuell halten und mehr Wissensaufbau (?) Entwicklung des Raycasters in Kommandobox, ohne GUI – besser direkt integrieren

13 Programmierphase 1 Ergebnisse CPU rendert erste Bilder (ein Bild ca. 45 Sek.) Filter implementiert Lesen und schreiben von Dateien möglich GUI besteht aus Grundgerüst (keine Interaktion)

14 Programmierphase 1 Ergebnisse CPU – Raycaster Maximum Intensity

15 Programmierphase 1 Ergebnisse CPU – Raycaster Mean Value

16 GlueCode Programmierphase 2 Teamaufteilung Projektleiter GUI-DesignGPU-Shader -Echtzeitfähiges Raycasting (dual NV40) -Verschiedene Shader -12 bit -Shader und GUI verbinden -Kamerasteuerung -Code komplett integrieren -Transferfunktion -Dicom -Spacemouse

17 Programmierphase 2 Module und Daten GUI Datenhaltung GluecodeGPU Dateien Kamera, Shader, Transferfunktion Shader,Textur uniformvariablen Volumen CPU Volumen Kamera, Transferfunktion

18 Programmierphase 2 Probleme und Lösungen Struktur des GlueCodes Laden der Shader und zur Verfügungstellen der Parameter Integration der Komponeten stellte sich als schwierig heraus – unbekannte Nebeneffekte Texturen – Kapselung problematisch: keiner wusste genau was wo anders gemacht wurde

19 Programmierphase 2 Probleme und Lösungen fehlende Testumgebung für die Shader – GlueCode-Erstellung dauerte länger als Shaderprogrammierung einfache Optimierungverfahren führten nicht zu Performancesteigerung mehr als 256 steps führen zu Bildfehlern Cg reagierte nicht vorhersehbar Instabilitäten in der GUI unerwartete Auswirkungen von einem Programmteil auf einen Anderen

20 Programmierphase 2 Ergebnisse Verschiedene Shader implementiert 12 bit fähig Transferfunktion für CPU und GPU Kamerasteuerung per Mouse (Maya) Funktionalitäten über GUI ansteuerbar Outputfenster für Statusausgaben DICOM lesen

21 Programmierphase 2 Ergebnisse GPU - Torso mit linearer Transferfunktion

22 Programmierphase 2 Ergebnisse GPU - Torso mit veränderter Transferfunktion

23 Programmierphase 2 Ergebnisse Emission - AbsorbtionSlice Viewer

24 Programmierphase 2 Ergebnisse Mean ValueMaximum Intensity

25 Programmierphase 2 Ergebnisse CPU - Raycaster

26 Fazit Eindrücke und Ausblicke Das Projekt wurde als Erfolg gewertet Die Hauptziele wurden erreicht (bis auf Spacemouse) Mehr Softwaretechnische Planung wäre sinnvoll gewesen Unbekanntes Problemfeld macht planen schwierig GLSL statt CG vielleicht besser Boost war im Nachhinein überflüssig Audit war hilfreich (vielleicht früher) Mögliche Erweiterungen: Haptik, Stereodisplay, Shader(Optimierung)


Herunterladen ppt "Projektpraktikum Medizinische Visualisierung. Einführung Projektleitung:Matthias Biedermann Projektassistenz:Andreas Langs Projektteilnehmer:Marcus Berlage."

Ähnliche Präsentationen


Google-Anzeigen