Skip to main content

Scans a directory for IMRT QA results

Project description

IMRT-QA-Data-Miner

Scans a directory for IMRT QA results.

Install

pip install iqdm

How to run

To scan a directory for IMRT QA report files and genereate a results .csv file:

iqdm <initial-scan-dir>

To launch a trending dashboard (and open the resulting link):

iqdm <results-csv-file-path>

Screenshot of dashboard:

Command line usage

usage: iqdm [-h] [-ie] [-od OUTPUT_DIR] [-rd RESULTS_DIR] [-all]
            [-of OUTPUT_FILE] [-ver] [-nr] [-df] [-p PORT]
            [-wo WEBSOCKET_ORIGIN]
            [file_path]

Command line interface for IQDM

positional arguments:
  file_path             Initiate scan if directory, launch dashboard if
                        results file

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
  -rd RESULTS_DIR, --results-dir RESULTS_DIR
                        Results assumed to be stored in local directory by
                        default, specify otherwise here
  -all, --process-all   Process all identified report files, otherwise only
                        new reports will be analyzed
  -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
  -df, --day-first      Assume day first for ambiguous dates in trending
                        dashboard
  -p PORT, --port PORT  Specify port of trending dashboard webserver
  -wo WEBSOCKET_ORIGIN, --allow-websocket-origin WEBSOCKET_ORIGIN
                        Allow a websocket origin other than localhost, see
                        bokeh documentation

Notes

This script was written specifically for SNC Patient and Delta4, but I'd be happy to include support for other vendors if someone could provide some anonymized example reports.

Vendor Compatibility

  • Sun Nuclear: SNC Patient
  • ScandiDos: Delta4
    This is still in beta, but the reported csv data is largely correct (reported energy might be off). The class parses much more data (including individual beam results), but isn't currently in csv nor validated.

Contributing

If you'd like to contribute code to support a new vendor, please create a new python file in the parsers directory containing a new class. This class should include the following to be compatible:

  • PROPERTIES

    • identifiers
      this is a list of strings that collectively and uniquely are found in a report type
    • columns
      a list of strings indicating the columns of the csv to be output
    • csv
      a string of values for each column, delimited with DELIMITER in utilities.py
    • report_type
      a string succinctly describing the report, this will be used in the results filename created in main.py
  • METHODS

    • process_data(text_data)
      processing the data does not occur until this is called

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

IQDM-0.3.1.post1.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

IQDM-0.3.1.post1-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file IQDM-0.3.1.post1.tar.gz.

File metadata

  • Download URL: IQDM-0.3.1.post1.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.5

File hashes

Hashes for IQDM-0.3.1.post1.tar.gz
Algorithm Hash digest
SHA256 957e490f0a3b19774bb216c4fbe6de5b81fe5dfc29f2755fc42494b54d0a8c98
MD5 244b787c099058bdc65b779a21be77ff
BLAKE2b-256 da0c3596daec67e588398c853e60e359b708973ef71896651014ceaac43e9f04

See more details on using hashes here.

File details

Details for the file IQDM-0.3.1.post1-py3-none-any.whl.

File metadata

  • Download URL: IQDM-0.3.1.post1-py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.5

File hashes

Hashes for IQDM-0.3.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 2077078ade5e5cf9b75c0586d3007334d0d18bf05bcd9995d035e527f8dec6e6
MD5 769b6a81fb62217cfecbee67bc829b1e
BLAKE2b-256 e4ddf7c7c9b22326b87ee2d675ffd667a2c73d7bcfd1cc1749285dadfb63757b

See more details on using hashes here.

Supported by

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