VIS Exercise #01
Visualisierung Übungsblatt #01
Medical 3D Data: CT vs. MR
Aufgabe 1: Präliminarien:
Installieren Sie DCMTK und ITK. Laden Sie Sich weiterhin die Übungsdaten herunter:
svn checkout https://svn.code.sf.net/p/vis-framework/code/trunk/data vis-data
Aufgabe 2: CT- und MR-Daten:
Blättern Sie nun mit dem Tool pvminfo und pvmplay des VVV in der Schnittbilddarstellung eines CT- und eines MR-Datensatzes! Verwenden Sie z.B. den CT-Head und den MRI-Head im PVM Format. Alternativ können auch die Datensätze der Volume Library verwendet werden. Welche generellen Unterschiede können Sie bzgl. der Darstellung der beiden Modalitäten CT und MR feststellen?
Aufgabe 3: CT- und MR-Daten im QtV3:
Laden Sie die beiden CT- und MR-Datensätze jeweils per Drag&Drop in den QtV3 Volume Renderer des VVV! Vergleichen Sie die beiden Datensätze bzgl. der Darstellungsqualität. Protokollieren Sie Ihr Ergebnis in Form von Screenshots.

Aufgabe 4: Dicom-Daten im QtV3:
Laden Sie die Dicom Serie des Angio/ Verzeichnisses per Drag&Drop in den QtV3!
Aufgabe 5: ITK und QtV3:
Implementieren Sie mit ITK einen Threshold Filter:
- Starten Sie mit dem Quelltext itk.cxx.
- Übersetzen Sie den Quelltext so wie hier beschrieben.
- Der übersetzte Quelltext lädt eine Dicom Serie in eine ITK Filter-Pipeline und speichert das Ergebnis wieder als Dicom Serie im Pfad “out” ab. Dazu muss vorher der Pfad der zu ladenden Serie als zusätzliches Kommandozeilenargument angegeben werden (z.B. “./itk vis-data/Angio/”).
- Erweitern Sie die bereits vorhandene Filter-Pipeline um einen weiteren Filterknoten, der eine Threshold- bzw. Schwellwertoperation durchführt.
- Dazu gehen Sie wie folgt vor:
- Instantiieren Sie einen Threshold-Filterknoten
- Legen Sie dessen Arbeitsparameter bzw. Schwellwerte fest
- Verknüpfen jeweils den Eingang des Threshold-Filters mit dem Ausgang des Readers und den Eingang des Writers mit dem Ausgang des Threshold-Filters
- Ziehen Sie schließlich am Ende der gesamten Kette, d.h. rufen Sie die Update-Funktion am Writer auf

- Verwenden Sie drei verschiedene Schwellwerte von z.B. 50, 100 und 200 und laden Sie die Ergebnis-Serie per Drag&Drop in den QtV3. Hat sich die Darstellung dadurch generell verbessert?
- Dokumentieren Sie die Situation vorher und nachher im Protokoll.
Hausaufgaben:
- Welcher Schwellwert brachte das beste Ergebnis?
- Welcher Wert wäre der beste denkbare Schwellwert zur Maskierung von Luft, Wasser und Fett? Kann man diesen automatisch berechnen?
- Welcher Wert wäre der beste denkbare Schwellwert zur Maskierung der Arterien? Kann man diesen automatisch berechnen?
- Welcher Wert wäre der beste denkbare Schwellwert zur Maskierung einer einzelnen Niere? Kann man diesen automatisch berechnen?
- Wie würden Sie zur Maskierung von Luft vorgehen, wenn Sie ein Histogramm zur Verfügung hätten?
- Wie würden Sie vorgehen, wenn Sie ein Histogramm selber berechnen müssten?