IMHOTEP (Immersive Medical Hands-On Operation Teaching and Planning System) is a Virtual-Reality framework used for visualizing medical data for surgeons. It is compatible with the Oculus Rift and the HTC Vive. The software is being developed by the Translational Surgical Oncology Division at the National Center for Tumor Diseases (NCT) in Dresden in association with the Heidelberg University Hospital and the University Hospital Dresden (UKD). Using the VR technology, it can be used to visualize 3D organs and structures, 2D medical images and information. The framework can be applied in the areas of visualization, simulation, planning of surgeries and teaching. Currently, its main goal is to be used in pre-operative planning (using patient-specific 3D data).
This Software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. It is not a medical product and is only intended for research purposes. Use at your own risk. See the Licenses/IMHOTEP.txt for further details.
The source code in this project is licensed under the BSD License (see Licenses/IMHOTEP.txt). The project uses various third-party plugins and assets, a list of which can be seen in ThirdParty.md. Their licenses are in the "Licenses" subfolder.
- Load and display segmented 3D models of patient organs
- Load display 2D MRI/CT images in DICOM format
- Display case-specific additional information (med. indication, patient history, ...)
- Supports Occulus Rift and HTC Vive
- Intuitive interaction using HTC Vive controllers or Mouse
- 3D User-Interface to maximize workspace
- 3D/2D Annotation System
- Predefined views and orientations of the organs
- Volumetric Rendering (can be slow on lower end systems, might need more optimization)
To run the project, you need a VR Headset (HTC Vive is recommended, although the framework will also work with an Oculus Rift), Unity3D (tested with Version 2017.1 and 2017.2) and Blender3D. Set up your VR Headset, then download this project and load it using the Unity3D editor. In the Assets Folder, load the "Workstation" scene and then run the project. To select the correct HMD (Vive or Rift), please consult the documentation (documentation.imhotep-medical.org, "VR Setup" section). You can find a sample patient data set in the download section of our website.
We welcome contributions to the project! Developers and researchers can contribute in the following areas:
- Building your own tools. Please consult the documentation on how to do this.
- Supplying test patient data. We would like to build up a small set of very diverse test cases. Make sure the data has been anonymized!
- Testing with more DICOM data. Even though DICOM is a well defined standard, we keep on being surprised by all the different formats it can take.
See here to get a list of much needed features, some of which we are working on. We will try to keep this list up to date.
The documentation can be found here. This is kept up to date with the current master branch.
Alternatively, generate the documentation yourself with the doxygen program. There is a Doxyfile included in the root of the project.
- Download Unity3d 2017.2.0f3 or versions eariler or equal 2017.4.30f1(Very Important)
- clone this repo to local computer and open it with Unity3d
- Enable vive or Rift under camera and click "play" button
- You can also download the .tar.gz file, which contains a compiled Linux version for you to use
- It also include a sample patients folder, you can copy this patient example to the binary directory and check Liver in this app.
- When you compile the code by yourself, click "player settings" and uncheck the VirtualReality Support under XR Settings, otherwise, the x86_64 version can't run on PC.
- .x86_64 version can't run if not unchecking VirtualReality Support
- .x86 version runs well in both local and VNC environments(I also have problem in the begginning with my computer for developing, when I move to another computer for test, the .x86 version works well in VNC environment.)