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
ASCII-Wordle - A port of the game Wordle to terminal emulators/CMD

ASCII-Wordle A 'port' of Wordle to text-based interfaces A near-feature complete

32 Jun 11, 2022
WildHack 2021 solution by Nuclear Foxes team (public version).

WildHack 2021 Nuclear Foxes Team This repo contains our project for the Wildberries Hackathon 2021. Task 2: Searching tags Implement an algorithm of r

Sergey Zakharov 1 Apr 18, 2022
This project is about for notifying moderators about uploaded photos on server.

This project is about for notifying moderators (people who moderate data from photos) about uploaded photos on server.

1 Nov 24, 2021
CPLib is the abbreviation of Competitive Programming Library.

CPLib CPLib is the abbreviation of Competitive Programming Library. It aims to be a general template and optimization library for competitive programm

12 Oct 16, 2021
Nook is a simple, concatenative programming language written in Python.

Nook Nook is a simple, concatenative programming language written in Python. Status Nook is currently WIP. It lacks a lot of basic feature, and will n

Wumi4 4 Jul 20, 2022
Ant Colony Optimization for Traveling Salesman Problem

tsp-aco Ant Colony Optimization for Traveling Salesman Problem Dependencies Python 3.8 tqdm numpy matplotlib To run the solver run main.py from the p

Baha Eren YALDIZ 4 Feb 03, 2022
Cairo-math-64x61 - Fixed point 64.61 math library for Cairo / Starknet

Cairo Math 64x61 A fixed point 64.61 math library for Cairo & Starknet Signed 64

Influence 63 Dec 05, 2022
A tool to nowcast quarterly data with monthly indicators: US consumption example

MIDAS_Nowcaster A tool to nowcast quarterly data with monthly indicators: US consumption example Pulls data directly from FRED from a list of codes -

Gene Kindberg-Hanlon 3 Oct 06, 2022
Improving the Transferability of Adversarial Examples with Resized-Diverse-Inputs, Diversity-Ensemble and Region Fitting

Improving the Transferability of Adversarial Examples with Resized-Diverse-Inputs, Diversity-Ensemble and Region Fitting

Junhua Zou 7 Oct 20, 2022
A simple service that allows you to run commands on the server using text

Server Text A simple flask service that allows you to run commands on the server/computer over sms. Think of it as a shell where you run commands over

MT Devs 49 Nov 09, 2021
ARA Records Ansible and makes it easier to understand and troubleshoot.

ARA Records Ansible ARA Records Ansible and makes it easier to understand and troubleshoot. It's another recursive acronym. What it does Simple to ins

Community managed Ansible repositories 1.6k Dec 25, 2022
This application is made solely for entertainment purposes

Timepass This application is made solely for entertainment purposes helps you find things to do when you're bored ! tells jokes guaranteed to bring on

Omkar Pramod Hankare 2 Nov 24, 2021
Scraper pour les offres de stage Tesla et les notes sur Oasis (Polytech Paris-Saclay) sous forme de bot Discord

Scraper pour les offres de stage Tesla et les notes sur Oasis (Polytech Paris-Saclay) sous forme de bot Discord

Alexandre Malfreyt 1 Jan 21, 2022
Library for mocking AsyncIOMotorClient built on top of mongomock.

mongomock-motor Best effort mock for AsyncIOMotorClient (Database, Collection, e.t.c) built on top of mongomock library. Example / Showcase from mongo

Michael Kryukov 43 Jan 04, 2023
XAC HID Gamepad implementation for CircuitPython 7 or above.

CircuitPython_XAC_Gamepad Setup process Install CircuitPython 7 or above in your board. Add the init.py file under \lib\adafruit_hid directory of CIRC

5 Dec 19, 2022
A python script for practicing Toki Pona.

toki.py A python script for practicing Toki Pona. Modified from a hirigana script by ~vilmibm. Example of the script running: $ ./toki.py This script

Dustin 2 Dec 09, 2021
This is the Code Institute student template for Gitpod.

Welcome AnaG0307, This is the Code Institute student template for Gitpod. We have preinstalled all of the tools you need to get started. It's perfectl

0 Feb 02, 2022
a pull switch (or BYO button) that gets you out of video calls, quick

zoomout a pull switch (or BYO button) that gets you out of video calls, quick. As seen on Twitter System compatibility Tested on macOS Catalina (10.15

Brian Moore 422 Dec 30, 2022
Weakly-Divisable - Takes an interger and seee if it is weakly divisible by seven

Weakly Divisble Project by Diana Arce-Hernandez, Ryan McAlpine, and Rommel Ravan

Diana Arce-Hernandez 1 Jan 12, 2022
Your copilot to studies and work (Pomodoro-timer, Translate and Notes app)

Copylot Your copilot to studies and work (Pomodoro-timer, Translate and Notes app) Copylot are three applications in one: Pomodoro Translate Notes Cop

Eduardo Mendes 20 Dec 16, 2022