Skip to content

Unity3d Prototype to manipulate Hounsfield units and create a 3D render of dicom images

License

Notifications You must be signed in to change notification settings

sergiosolorzano/Unity-Dicom-3DRender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project

This prototype project built on Unity explores alternative methodologies aiming for speed to calculate pixel colors to Hounsfield units set by the user and assess the quality of two different types of render methods.

Methodologies: Unity's Burst compiler (v 1.4.1) multithreaded jobs on CPU and Compute Buffers on GPU.

Rendering scenarios tested for quad meshes (2D-plane equivalent images) and raymarching volumetric cloud. Each scenario is contained in a Unity scene.

Each prototype scene was not extended in full because these are a proof of concept and used determine the viability of the approach for our purposes. There is no further support for this repo.

Project collaborator and donor of dicom images: [TBD]. The project currently has no dicom images, we are awaiting for these to be anonymized and will be uploaded soon.

Project Software

Unity version: Unity 2020.3.36f1, Build Platform PC Standalone.

Unity Render Pipeline: Built-in.

Dicom images data processed with the Fellow Oak DICOM library subject to The MIT License (MIT), Copyright (c) Microsoft Corporation license

License

This project is licensed under the MIT License. See LICENSE.txt for more information.

Features

  • Dicom Processing: When the scene is played, progress of the dicom images being processed is displayed in the Inspector:

    Dicom-Images-Processed-Progress
  • Render options:

    • Axial, Coronal and Sagittal axis are available. Axial axis was the base for our study and it is recommended to explore the Unity project.

    • Render Scenes (Scenes found in unity project folder ..\Assets\Scenes):

      • VolumetricRender_3DRenderTexture.unity: Raymarching volumetric cloud render using 3D Render Textures with Slicing functionality. Hounsfield units set according to Window width and Window Center selected by the user. Single study axis (axial, coronal, sagittal) at once.

        VolumetricRender_3DRenderTexture.mp4
      • VolumetricRender_3DTexture.unity: Raymarching volumetric cloud render using 3D Textures with Slicing functionality. Hounsfield units cannot be re-adjusted. Single study axis (axial, coronal, sagittal) at once.

        VolumetricRender_3DTexture.mp4
      • QuadMesh_CPU-RGBA_Range_Picker.unity: 3D model renders on multiple quad meshes according to the RGBA (0-255) unit range selected by the user. Multiple study axis (axial, coronal, sagittal) may be rendered at once and aligned.

        quadmesh_cpu-rgba_range_picker_video.mp4
      • QuadMesh_GPU_CB_Windowing.unity: Quad meshes: 3D model renders on multiple quad meshes according to the Hounsfield unit set on a Window width and Window Center selected by the user. Multiple study axis (axial, coronal, sagittal) may be rendered at once and aligned.

        QuadMesh_GPU_CB_Windowing.mp4
        showslices-quadmesh-windowing.Original.mp4

        If you find this helpful you can buy me a coffee :)

        Buy Me A Coffee

About

Unity3d Prototype to manipulate Hounsfield units and create a 3D render of dicom images

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published