☣ Warning: This project was created during studies for educational purposes only. It may contain non-optimal solutions.
The aim of the project was to create an application for the maximally automated generation of a 3D model of an organ registered in layers of medical imaging results (e.g. CT, PET, MRI, USG) saved in DICOM format. The 3D model of the organ generated by the application is intended for visualisation using VR headsets, as well as in virtual reality caves in the Immersive 3D Visualisation Lab.
The application is written in Python 3.10.9, using the Qt Framework (PySide2), in PyCharm 2023.1 Professional Edition.
Main User Interface Features:
- Users can define paths for where to fetch the study and where to place the results (
Input
andOutput
fields in the File Paths section); - Before starting the algorithm, users can choose the type of median filter to apply to the segmented organs via a toggle switch. The default option is
Medium
(9x9 kernel), with other options includingCoarse
(faster smoothing but less precise, 7x7 kernel) andSmooth
(most smoothed organs, though at the cost of longer segmentation time, 15x15 kernel) - located in the Control section; - A button to start the algorithm (
Start algorithm
in the Control section), along with a Status section for updates on its progress and a progress bar; - A button that allows viewing of the work results, which has the capability to show a technology demo. If the
Show 3D results
button in the Control section is clicked before running the algorithm, a demonstration version of the 3D object generation capabilities from obj files will be displayed; - The Settings menu includes an option to display a window with a brief description of how to use the application.
In the dialog window shown below, the user has the option to choose between viewing all segmented organs simultaneously, individually, or several at a time. If the All
option is selected, the other choices are disabled until this option is deselected.
After selecting the organs, users have the ability to zoom in, zoom out, and rotate the view of the body part.
The algorithm's status bar includes seven states:
- Loading data
- Loading patients
- MONAILabel - Initializing
- MONAILabel - Loading data
- MONAILabel - Autosegmentation started
- MONAILabel - Creating a 3D representation
- Saving files