Skip to main content

Scans a directory for IMRT QA results

Project description

build Documentation Status PyPI Python Version lgtm lgtm code quality Codecov Lines of code Repo Size Code style: black

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).

Dependencies

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

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

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.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

IQDMPDF-0.3.0.tar.gz (4.8 MB view hashes)

Uploaded Source

Built Distribution

IQDMPDF-0.3.0-py3-none-any.whl (4.9 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page