An open API service indexing awesome lists of open source software.

https://github.com/lunaristeam/dcmvision

Technical demonstration of how to integrate and handle DICOM imaging with Apple Vision Pro
https://github.com/lunaristeam/dcmvision

apple dicom dicom-viewer imaging objective-c objective-c-plus-plus swiftui visionos visionpro

Last synced: 7 months ago
JSON representation

Technical demonstration of how to integrate and handle DICOM imaging with Apple Vision Pro

Awesome Lists containing this project

README

          

# DcmVision
This is a simple example project for visionOS, aiming to provide working image rapresentation of DICOM files.
There are a few steps needed to get this working, that require further explanation down below.

> [!CAUTION]
> This project is not intended to be used in any medical production environment. It should be only used for R&D.

## Requirements
- visionOS 2.0+
- Xcode 16+
- Patience and time to spare

## Getting Started
### Dependencies
This project uses the open source, industry standard library [DCMTK](https://github.com/DCMTK/dcmtk). Pre-compiled binaries for visionOS are not available, so we'll need to compile our own.
To do that, many dependencies of DCMTK also need to be compiled targeting visionOS.

> [!TIP]
> This project includes the facility script setup-dependencies.sh

#### DMCTK
- From a terminal window, cd to Dependencies directory inside the repository root
- Clone DCMTK with this command ```git clone https://github.com/DCMTK/dcmtk dcmtk-src```
- Navigate to dcmtk-src/dcmdata/apps and edit CMakeLists.txt to remove all occurrences of dcm2pdf

> [!IMPORTANT]
> The last step is needed to disable the dcm2pdf module that cannot compile on visionOS, because it relies on unavailable system calls

#### Other dependencies
- Run Dependencies/setup-dependencies.sh and wait for everything to compile, including DCMTK itself
- Manually add dmctk and zlib dependency folders to the XCode project

> [!IMPORTANT]
> Be sure to select the build target when adding files to the XCode project, otherwise the app won't have the necessary resources inside its bundle

### DICOM Data Set
Create a directory named DataSet located at repository root and copy all your .dcm files inside of it

### Finalizing
Build the Xcode project and enjoy!

## Contributors
- [Giuseppe Rocco](https://github.com/iOmega8561): Dependencies setup and initial project package