IQDM-PDF ======== |build| |Docs| |pypi| |python-version| |lgtm| |lgtm-cq| |Codecov| |lines| |repo-size| |code-style| What does it do? ---------------- Scans a directory for IMRT QA reports and parses data into a CSV. Other information ----------------- 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 Dependencies ------------ * `pdfminer.six `__ * `tqdm `__ Install ------- 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 Usage ----- 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 .. code-block:: console 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 _results_.csv by default. Define this tag to customize file name after _ -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 Vendor Compatibility -------------------- 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* Credits ------- ---------------- Development Lead ---------------- * Dan Cutright ------------ Contributors ------------ * Marc Chamberland * Aditya Panchal --------- Test Data --------- 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 .. |build| image:: https://github.com/IQDM/IQDM-PDF/workflows/build/badge.svg :target: https://github.com/IQDM/IQDM-PDF/actions :alt: build .. |pypi| image:: https://img.shields.io/pypi/v/IQDMPDF.svg :target: https://pypi.org/project/IQDMPDF :alt: PyPI .. |python-version| image:: https://img.shields.io/pypi/pyversions/IQDMPDF.svg :target: https://pypi.org/project/IQDMPDF :alt: Python Version .. |lgtm-cq| image:: https://img.shields.io/lgtm/grade/python/g/IQDM/IQDM-PDF.svg?logo=lgtm&label=code%20quality :target: https://lgtm.com/projects/g/IQDM/IQDM-PDF/context:python :alt: lgtm code quality .. |lgtm| image:: https://img.shields.io/lgtm/alerts/g/IQDM/IQDM-PDF.svg?logo=lgtm :target: https://lgtm.com/projects/g/IQDM/IQDM-PDF/alerts :alt: lgtm .. |Codecov| image:: https://codecov.io/gh/IQDM/IQDM-PDF/branch/master/graph/badge.svg?token=C1B5689HQH :target: https://codecov.io/gh/IQDM/IQDM-PDF :alt: Codecov .. |Docs| image:: https://readthedocs.org/projects/iqdm-pdf/badge/?version=latest :target: https://iqdm-pdf.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status .. |lines| image:: https://img.shields.io/tokei/lines/github/iqdm/iqdm-pdf :target: https://img.shields.io/tokei/lines/github/iqdm/iqdm-pdf :alt: Lines of code .. |repo-size| image:: https://img.shields.io/github/languages/code-size/iqdm/iqdm-pdf :target: https://img.shields.io/github/languages/code-size/iqdm/iqdm-pdf :alt: Repo Size .. |code-style| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: Code style: black