🫀 MSN Project

☣ Warning: This project was created during studies for educational purposes only. It may contain non-optimal solutions.

📑 About

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.

🌟 Functionality

Main User Interface Features:

  • Users can define paths for where to fetch the study and where to place the results (Input and Output 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 including Coarse (faster smoothing but less precise, 7x7 kernel) and Smooth (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.

Main window

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.

Choosing an organ

After selecting the organs, users have the ability to zoom in, zoom out, and rotate the view of the body part.

3D organ

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

3D organ