{"id":13654554,"url":"https://github.com/Brikwerk/ctqa","last_synced_at":"2025-04-23T09:33:42.406Z","repository":{"id":43250997,"uuid":"146943525","full_name":"Brikwerk/ctqa","owner":"Brikwerk","description":"An application for automated CT quality assurance","archived":false,"fork":false,"pushed_at":"2023-02-08T00:43:46.000Z","size":11393,"stargazers_count":6,"open_issues_count":3,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-10T06:32:59.214Z","etag":null,"topics":["ct-quality-assurance","drift-detection","homogeneity","medical-imaging","python","quality-assurance"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Brikwerk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-08-31T21:24:12.000Z","updated_at":"2024-04-16T20:50:24.000Z","dependencies_parsed_at":"2024-01-14T16:10:46.511Z","dependency_job_id":"df3ff34d-a701-4722-8546-9ca4ee9591ac","html_url":"https://github.com/Brikwerk/ctqa","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brikwerk%2Fctqa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brikwerk%2Fctqa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brikwerk%2Fctqa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brikwerk%2Fctqa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Brikwerk","download_url":"https://codeload.github.com/Brikwerk/ctqa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250407737,"owners_count":21425555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ct-quality-assurance","drift-detection","homogeneity","medical-imaging","python","quality-assurance"],"created_at":"2024-08-02T03:00:37.007Z","updated_at":"2025-04-23T09:33:37.393Z","avatar_url":"https://github.com/Brikwerk.png","language":"Python","funding_links":[],"categories":["Applications"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"\" rel=\"noopener\"\u003e\n \u003cimg width=200px height=200px src=\"https://i.imgur.com/XXOE0B4.png\" alt=\"CTQA logo\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eCTQA\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n  [![Stars](https://img.shields.io/github/stars/brikwerk/ctqa.svg)]() \n  [![GitHub Issues](https://img.shields.io/github/issues/brikwerk/ctqa.svg)](https://github.com/brikwerk/ctqa/issues)\n  [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/brikwerk/ctqa.svg)](https://github.com/brikwerk/ctqa/pulls)\n  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)\n\n\u003c/div\u003e\n\n---\n\n\u003cp align=\"center\"\u003e This utility aims to perform automated QA testing on CT machines for technologists.\n    \u003cbr\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"\" rel=\"noopener\"\u003e\n \u003cimg src=\"https://i.imgur.com/hVLmu1X.png\" alt=\"CTQA Demo Image\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Table of Contents\n- [About](#about)\n- [Feature List](#feature_list)\n- [Getting Started](#getting_started)\n- [Built Using](#built_using)\n- [Authors](#authors)\n- [Acknowledgments](#acknowledgement)\n\n## About \u003ca name = \"about\"\u003e\u003c/a\u003e\nCTQA 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.\n\nFor information on the deployment and usage of this system, please consult [the wiki](https://github.com/Brikwerk/ctqa/wiki).\n\n*Please Note:* This project requires usage of an Orthanc Server instance to act as an intermediary PACS server for CT machines to submit to.\n\nYou can view Orthanc [here](https://orthanc-server.com) and download it [here](https://orthanc-server.com/download.php).\n\n### Feature List \u003ca name = \"feature_list\"\u003e\u003c/a\u003e\n+ Automated Phantom detection\n+ Automated Homogeneity Testing\n+ Homogeneity Value Drift Prediction\n+ Notifications and Reports through email or a custom method\n+ Configurable homogeneity value limits\n+ Daily and Weekly Reports\n+ Subscribe to specific notification levels (Eg: Failures and Warnings only)\n\n## Getting Started \u003ca name = \"getting_started\"\u003e\u003c/a\u003e\nThese instructions help you get a copy of the project up and running on your local machine for development and testing purposes. \n\nSee [the wiki's installation section](https://github.com/Brikwerk/ctqa/wiki/Installation) for notes on how to deploy the project on a live system.\n\n### Prerequisites\n+ Python 3.5+\n+ An accompanying Pip installation\n+ Virtualenv (Recommended)\n\n### Installing\nIf you'd like to setup a virtual environment and install all required packages, navigate to the project root and run the following command:\n\n```\nenv-setup.bat\n```\n\nOtherwise, install all packages through the standard command:\n\n```\npip install -r requirements.txt\n```\n\nAfter the package installations have finished, the application can be launched with the following command:\n\n```\npython run.py\n```\n\nThe 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.\n\nDetails for setting up and configuring the utility can be found on [the wiki](https://github.com/Brikwerk/ctqa/wiki).\n\nDevelopment documentation can be found under \"docs/build/html\" from the project root.\n\n### Compiling the Executable\nTo compile CTQA, run:\n\n```\npyinstaller run.spec\n```\n\nor for a binary with a console debug output:\n\n```\npyinstaller run-debug.spec\n```\n\n## Running the tests \u003ca name = \"tests\"\u003e\u003c/a\u003e\nCTQA currently uses PyTest to check the validity and accuracy of homogeneity tests run. The testing suite can be run with the following command:\n\n```\npytest\n```\n\nTests can be found under the \"test\" directory from the project root.\n\n## Built Using \u003ca name = \"built_using\"\u003e\u003c/a\u003e\n- [PyInstaller](http://www.pyinstaller.org) - Application Wrapper\n- [Tkinter](https://wiki.python.org/moin/TkInter) - Application Framework\n- [OpenCV](https://opencv.org) - Phantom Detection\n\n## Author \u003ca name = \"authors\"\u003e\u003c/a\u003e\n- [@brikwerk](https://github.com/brikwerk)\n\n## Acknowledgements \u003ca name = \"acknowledgement\"\u003e\u003c/a\u003e\n- Giampaolo Rodola' for usage of LogWatcher","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrikwerk%2Fctqa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBrikwerk%2Fctqa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrikwerk%2Fctqa/lists"}