Scans a directory for IMRT QA reports and parses data into a CSV.
This library is part of the IMRT QA Data Mining (IQDM) project for the AAPM IMRT Working Group (WGIMRT).
- Free software: MIT license
- Documentation: Read the docs
- Tested on Python 3.6, 3.7, 3.8, 3.9
Latest PyPI release:
$ pip install iqdmpdf
Install from source:
$ python setup.py install
If you do not have a C compiler installed, you might have issues with installing the latest version of pdfminer.six. The following might resolve your issue:
$ pip install pdfminer.six==20200726
To scan a directory for IMRT QA report files and generate a results .csv file into your current directory:
$ iqdmpdf [init_directory]
As of v0.2.2, multi-threading is enabled. For example, you can enable 4 simultaneous threads with the following:
$ iqdmpdf [init_directory] -n 4
usage: iqdmpdf [-h] [-ie] [-od OUTPUT_DIR] [-of OUTPUT_FILE] [-ver] [-nr]
[-re] [-n PROCESSES]
[init_directory]
Command line interface for IQDM-PDF
positional arguments:
init_directory Initiate scan here
optional arguments:
-h, --help show this help message and exit
-ie, --ignore-extension
Script will check all files, not just ones with .pdf
extensions
-od OUTPUT_DIR, --output-dir OUTPUT_DIR
Output stored in local directory by default, specify
otherwise here
-of OUTPUT_FILE, --output-file OUTPUT_FILE
Output will be saved as <report_type>_results_<time-
stamp>.csv by default. Define this tag to customize
file name after <report_type>_
-ver, --version Print the IQDM version
-nr, --no-recursive-search
Include this flag to skip sub-directories
-re, --raise-errors Allow failed file parsing to halt the program
-n PROCESSES, --processes PROCESSES
Enable multiprocessing, set number of parallel
processes
We plan to support many vendors. If the report is very consistent, a new JSON file in the report_templates is essentially all that is needed. Additional documentation for custom templates can be found here.
- Sun Nuclear: SNC Patient
- ScandiDos: Delta4
- PTW: VeriSoft
- Dan Cutright
- Marc Chamberland
- Aditya Panchal
Example IMRT QA reports used for unit testing and design are available here.
- Dan Cutright, University of Chicago Hospital
- delta4/UChicago
- sncpatient/UChicago
- Marc Chamberland, University of Vermont Health Network
- sncpatient/UVermontHealthNetwork
- Serpil Kucuker Dogan, Nortwestern Memorial Hospital
- sncpatient/Northwestern_Memorial
- sncpatient2020/Northwestern_Memorial
- Aditya Panchal, AMITA Health
- verisoft/AMITA_Health
- Michael Snyder, Beaumont Health
- sncpatient/Beaumont