Software for visualization of RTStruct structures on CT images

Overview

Software for visualization of RTStruct structures on CT images

Project made for the course - Information Technology Systems in Medicine

Design

This script is responsible for the operation of the program, it is responsible for both creating the GUI and the process of processing images from dicom files. The program is based on the use of the PyQt5 library, on the basis of which the entire interface containing the appropriate buttons and functions was created.

The operation of the program is based on the visualization of CT structures that can be changed using the mouse buttons. Accordingly, the scroll function changes the imaging cross-sections, while after pressing the left button and moving the mouse, we are able to change the window windth and window center of ct scan. Pressing "+", or "-" on the keyboard, is responsible for changing the selected contour from the RT Structure file. The intuitive GUI allows you to easily display linked images.

The operation of GUI is based on the creation of methods that respond appropriately to the user's commands. The two main buttons are responsible for uploading the necessary dicom files to the programs. The program is able to check if a given file has the appropriate extension, so selecting the wrong folder will not interrupt the program.

Dependiencies

This script requires following libraries to be installed:

  • PyQt5 - PyQt5 is a comprehensive set of Python bindings for Qt v5, implemented as more than 35 extension modules, enables Python to be used as an alternative application development language to C++ on all supported platforms
  • matplotlib - comprehensive plotting library for creating static, animated and interactive visualizations in Python programing language and its numerical mathematics extension NumPy,
  • dicom_csv - collection of utils for gathering, aggregation and handling metadata from DICOM files, includes functions for gathering metadata from individual DICOM files or entire directories and tools for grouping DICOM metadata into images,
  • numpy - library for scientific computing with Python programing language, including support for multi-dimensional arrays and matrices and functions to operate on them,
  • sys - a module that provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter, provides various functions and variables that are used to manipulate different parts of the Python runtime environment
  • cv2 - opencv-python library, an open-source library that includes several hundreds of computer vision algorithms
  • pydicom - pure Python package for working with DICOM files, which allows user to read complex files into pythonic structures for manipulation, save the modified datasets as DICOM format files
  • os - a Python module which provides a portable way of using operating system dependent functionality, it comes under Python's standard utility modules
Owner
Adam Piszczek
Currently enrolled student of the Warsaw University of Technology 🎓
Adam Piszczek
Implent of Oracle Base line and Lea-3 Baseline

Oracle-Baseline Implent of Oracle Base line and Lea-3 Baseline Oracle Oracle : This model is used to obtain an oracle with a greedy algorithm similar

Andrew Zeng 2 Nov 12, 2021
Windows symbol tables for Volatility 3

Windows Symbol Tables for Volatility 3 This repository is the Windows Symbol Table storage for Volatility 3. How to Use $ git clone https://github.com

JPCERT Coordination Center 31 Dec 25, 2022
Create a simple program by applying the use of class

TUGAS PRAKTIKUM 8 💻 Nama : Achmad Mahfud NIM : 312110520 Kelas : TI.21.C5 Perintah : Buat program sederhana dengan mengaplikasikan pengguna

Achmad Mahfud 1 Dec 23, 2021
A Python script made for the Python Discord Pixels event.

Python Discord Pixels A Python script made for the Python Discord Pixels event. Usage Create an image.png RGBA image with your pattern. Transparent pi

Stanisław Jelnicki 4 Mar 23, 2022
Python wrapper to different clients to determine how a particular term is used.

Python wrapper to different clients to determine how a particular term is used.

Chris Mungall 3 Oct 24, 2022
Python Projects is an Open Source to enhance your python skills

Welcome! 👋🏽 Python Project is Open Source to enhance your python skills. You're free to contribute. 🤓 You just need to give us your scripts written

Tristán 6 Nov 28, 2022
An universal linux port of deezer, supporting both Flatpak and AppImage

Deezer for linux This repo is an UNOFFICIAL linux port of the official windows-only Deezer app. Being based on the windows app, it allows downloading

Aurélien Hamy 154 Jan 06, 2023
BlueBorne Dockerized

BlueBorne Dockerized This is the repo to reproduce the BlueBorne kill-chain on Dockerized Android as described here, to fully understand the code you

SecSI 5 Sep 14, 2022
Xkcd.py - Script to generate wallpapers based on XKCD comics

xkcd.py Script to generate wallpapers based on XKCD comics Usage python3 xkcd.py

Gideon Wolfe 11 Sep 06, 2022
Architecture example simulator

SCADA architecture Example of a SCADA-like console application, used to serve as a minimal example of a standard architecture of an IIoT system. Insta

1 Nov 06, 2021
An extension module to make reaction based menus with disnake

disnake-ext-menus An experimental extension menu that makes working with reaction menus a bit easier. Installing python -m pip install -U disnake-ext-

1 Nov 25, 2021
An open source recipe book from the awesome staff of Clinical Genomics

meatballs An open source recipe book from the awesome staff of Clinical Genomics.

Clinical Genomics 2 Dec 07, 2021
Usando Multi Player Perceptron e Regressão Logistica para classificação de SPAM

Relatório dos procedimentos executados e resultados obtidos. Objetivos Treinar um modelo para classificação de SPAM usando o dataset train_data. Class

André Mediote 1 Feb 02, 2022
A basic notes app to store your notes.

Notes Webapp A basic notes webapp to keep your notes.You can add, edit and delete notes after signing up. To add a note type your note in the text box

2 Oct 23, 2021
🥦 Send and receive nano with 2 simple functions

easy_nano Send and receive nano (without having to understand the nano protocol).

1 Feb 14, 2022
Small pip update helpers.

pipdate pipdate is a collection of small pip update helpers. The command pipdate # or python3.9 -m pipdate updates all your pip-installed packages. (O

Nico Schlömer 69 Dec 18, 2022
Dev-meme - A repository that contains memes just for people like us

A repository that contains memes just for people like us. Coders are constantly

Padmashree Jha 4 Oct 31, 2022
PSP (Python Starter Package) is meant for those who want to start coding in python but are new to the coding scene.

Python Starter Package PSP (Python Starter Package) is meant for those who want to start coding in python, but are new to the coding scene. We include

Giter/ 1 Nov 20, 2021
Purge your likes and wall comments from VKontakte. Set yourself free from your digital footprint.

vk_liberator Regain liberty in the cruel social media world. This program assists you with purging your metadata from Russian social network VKontakte

20 Jun 11, 2021
An implementation of an interpreter for the Brainfuck esoteric language in Python

Brainfuck Interpreter in Python An implementation of an interpreter for the Brainfuck esoteric language in Python. 🧠 The Brainfuck Language Created i

Carlos Santos 0 Feb 01, 2022