YaDiV
YaDiV ("Yet Another DIcom Viewer") is a program for interactive visualization of 3D medical volume data. YaDiV can read input data in the DICOM format (to be more precise: DICOM File Sets) and contains modules for
- 2D Visualization
- 3D Volume-Visualization (2D-Texturing and 3D-Texturing),
- 3D Segmentation,
- 3D Segment-Visualization and
- support of stereographic visualization and haptic input devices.
YaDiV is being developed since 2005 by Dr. Karl-Ingo Friese with students from the WelfenlLab and is currently used as a plattform for our own research in the field of medical 3d-data processing. It is planned to publish YaDiV in the next weeks!
Download
A fifth beta version of YaDiV is available as closed source! YaDiV 1.0 beta 5 is almost identical to the current developer version. Only the haptic user interface has been removed.
Download YaDiV 1.0 beta5 (ca. 4MB)
New in the 5th beta: Support of further Volume Data Formats, Deformable Model Segmentation, Identification + Analyys of Connected Parts and much more.
This beta version may only be used to test the program. It may not be redistributed. Non-commercial usage is free in the context of research and science, more details can be found in the included program help. YaDiV does not need to be installed. It can run from any folder, even on an USB stick. To launch YaDiV, simply click on LaunchYaDiV.jar (linux users might need to set the executable bit first). Free DICOM test images can be downloaded from several web pages. Depending on the size of the data set, 2-4 GB main memory are required.
The pogram is not finished yet. Any user contribution (bug reports, feature requests) are welcome.
Technical
YaDiV is written in Java and was tested on Windows, Linux (fedora 8) and MacOS X. It runs on 32 as well as 64 bit where the second is prefered when working with bigger voxel sets. Since YaDiV was developed for fast, interactive visualization and segmentation, it is fully threaded and benefits directly from processors with more than one core and multi-processor environments. But even on a normal laptop YaDiV is fast enough to work with medium voxel sets (around 512³).
For the 3D visualization, Java3D (Version 1.5.2) is used. Time critical methods (like level-set segmenting or loading huge data sets) are implemented as threads, meaning the program GUI is never blocked. As an example: whenever a segment changes, a rendering algorithm with fully automated refining is started in the background, making every change visible immidiately. If the segment changes again before the highest level of refinment is reached, the process starts all over automatically.
During the development, several APIs were written that are independent from the main package. One example would be the "Settings-API", allowing the definition of run-time attributes of an object that bring their own GUI elements without any extra work. Another API was developed for the layout itself. allowing SWING layout definitions in a html-table like syntax (working title: GridMaker). Both APIs will be published as open source in close future.
Screenshots
YaDiV Main Window | Region of Interest | Segmenting |
2D Segment Visualization | 3D Segment Visualization | Marching Cube |
Pseudo-Color View | Settings Browser | DICOM File Info Window |
Student Paper
- bachelor thesis Automatische Erkennung des Acetabulum in 3D-Pelvis Modellen. Jurek Leonhardt - in Bearbeitung
- masters thesis Entwicklung einer halbautomatischen Segmentierungsmethode zur Bestimmung der intrakraniellen Luftmenge nach einer Schädeloperation. Marco Köhnen - 12/2012
- diploma thesis Halbautomatische Segmentierung der knöchernen Strukturen des Kniegelenks in MRT Aufnahmen. Benjamin Fleischer - 05/2012
- Studienarbeit Dynamische Erzeungung von Triangle Strips als Erweiterung des Marching Cube Verfahrens. Friedrich Krüger - 12/2011
- bachelor thesis Modelling of realistic Blood Vessel Geometry. Sergi Lazaro - 09/2011
- bachelor thesis Untersuchung zur Form- und Mustererkennung auf LC Displays bei benachbarten Farbwerten. Mona Lepke - 09/2011
- masters thesis Modellbasierte Orbita Segmentierung und die automatisierte Bestimmung anatomisch relevanter Parameter. Matthias Becker - 04/2011
- Studienarbeit Entwicklung eines Moduls zur automatisierten Bestimmung der Kniegelenkskinematik und -biomechanik durch dreidimensionale in vivo-Analyse mittels MRT. Benjamin Fleischer - 02/2011
- diploma thesis Entwurf und Implementierung eines atlasbasierten Segmentierungsverfahrens für medizinische Volumendaten. Robert Christian Meyer - 12/2009
- masters thesis Entwurf und Implementation einer haptischen Schnittstelle für YaDiV. Marc Christoph Vollmer - 10/2009
- Seminar Style Transfer Functions for Illustrative Volume Rendering. Johannes Wahle - 09/2009
- Studienarbeit Extraktion von Isoflächen mit Hilfe des Marching-Cubes-Algorithmus. Damaris Schumann - 04/2009
- masters thesis High-Quality Ray Casting Methods for the Visualization of segmented medical voxel data. Maximilian Müller - 04/2009
- diploma thesis Komplexe regionenbasierte Segmentierungsverfahren mit der Level Set Methode in der medizinischen Bildverarbeitung. Björn Scheuermann - 09/2008
- Studienarbeit Untersuchung zur Grauwertdarstellung auf LC-Displays. Lara Toma - 06/2008
- Seminar Atlas-based Segmentation. Robert Meyer - 06/2008
- Seminar Three-Dimensional Medical Image Segmentation Using a Graph-Theoretic Energy-Minimisation Approach. Michael Mainik - 06/2008
- diploma thesis Analysis of Direct Volume Rendering Methods for the Visualization of Voxel Data. Dominik Sarnow - 12/2007
- masters thesis Boundary Extraction from Voxel Data Using Contour Lines. Richard Guercke - 11/2007
- Studienarbeit Segmentierung medizinischer Bilddaten mit der Level-Set-Methode. Björn Scheuermann - 10/2007
- diploma thesis Algorithmen zur Randflächenapproximation von Volumenkörpern in Voxeldarstellung. Yifan Yu - 02/2007
- Seminar Grayscales in Medical Applications. Hans-Jörg von Mettenheim - 05/2006
- Studienarbeit Illustrative Volume Rendering with Lit Sphere Mapping using additional Segment Information. Johannes Wahle - in Bearbeitung