Ecosyste.ms: Awesome

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

https://github.com/Brikwerk/ctqa

An application for automated CT quality assurance
https://github.com/Brikwerk/ctqa

ct-quality-assurance drift-detection homogeneity medical-imaging python quality-assurance

Last synced: 12 days ago
JSON representation

An application for automated CT quality assurance

Lists

README

        



CTQA logo

CTQA

[![Stars](https://img.shields.io/github/stars/brikwerk/ctqa.svg)]()
[![GitHub Issues](https://img.shields.io/github/issues/brikwerk/ctqa.svg)](https://github.com/brikwerk/ctqa/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/brikwerk/ctqa.svg)](https://github.com/brikwerk/ctqa/pulls)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)

---

This utility aims to perform automated QA testing on CT machines for technologists.





CTQA Demo Image

## Table of Contents
- [About](#about)
- [Feature List](#feature_list)
- [Getting Started](#getting_started)
- [Built Using](#built_using)
- [Authors](#authors)
- [Acknowledgments](#acknowledgement)

## About
CTQA specializes in identifying the position of a phantom within an image and taking homogeneity measurements specific to the vendor. These measurements are tracked over time and any deviations are sent as notifications to the relevant parties.

For information on the deployment and usage of this system, please consult [the wiki](https://github.com/Brikwerk/ctqa/wiki).

*Please Note:* This project requires usage of an Orthanc Server instance to act as an intermediary PACS server for CT machines to submit to.

You can view Orthanc [here](https://orthanc-server.com) and download it [here](https://orthanc-server.com/download.php).

### Feature List
+ Automated Phantom detection
+ Automated Homogeneity Testing
+ Homogeneity Value Drift Prediction
+ Notifications and Reports through email or a custom method
+ Configurable homogeneity value limits
+ Daily and Weekly Reports
+ Subscribe to specific notification levels (Eg: Failures and Warnings only)

## Getting Started
These instructions help you get a copy of the project up and running on your local machine for development and testing purposes.

See [the wiki's installation section](https://github.com/Brikwerk/ctqa/wiki/Installation) for notes on how to deploy the project on a live system.

### Prerequisites
+ Python 3.5+
+ An accompanying Pip installation
+ Virtualenv (Recommended)

### Installing
If you'd like to setup a virtual environment and install all required packages, navigate to the project root and run the following command:

```
env-setup.bat
```

Otherwise, install all packages through the standard command:

```
pip install -r requirements.txt
```

After the package installations have finished, the application can be launched with the following command:

```
python run.py
```

The appropriate configuration files will be generated in the project root during the initial application launch (or if they aren't present). You can choose to follow through with the application's setup or choose to configure manually.

Details for setting up and configuring the utility can be found on [the wiki](https://github.com/Brikwerk/ctqa/wiki).

Development documentation can be found under "docs/build/html" from the project root.

### Compiling the Executable
To compile CTQA, run:

```
pyinstaller run.spec
```

or for a binary with a console debug output:

```
pyinstaller run-debug.spec
```

## Running the tests
CTQA currently uses PyTest to check the validity and accuracy of homogeneity tests run. The testing suite can be run with the following command:

```
pytest
```

Tests can be found under the "test" directory from the project root.

## Built Using
- [PyInstaller](http://www.pyinstaller.org) - Application Wrapper
- [Tkinter](https://wiki.python.org/moin/TkInter) - Application Framework
- [OpenCV](https://opencv.org) - Phantom Detection

## Author
- [@brikwerk](https://github.com/brikwerk)

## Acknowledgements
- Giampaolo Rodola' for usage of LogWatcher