Skip to main content

This is a consolidation of work from NAMIC efforts primarily at the University of Iowa.

Project description

Introduction

In this work, we developed a robust, easily extensible classification framework that extracts key features from well-characterized DICOM header fields to identify image modality and acquisition plane. Utilizing classical machine learning paradigms and a heterogeneous dataset of 9121 scans collected at 12 sites, using 23 scanners from 6 manufacturers, we achieved 99.4% accuracy during the K-Fold Cross-Validation for classifying 11 image modalities and 99.96% accuracy on image acquisition plane classification. Furthermore, we demonstrated model generalizability by achieving 98.6% accuracy on out-of-sample animal data. Our proposed framework can be crucial in eliminating error-prone human interaction, allowing automatization, and increasing imaging applications' reliability and efficiency.

This work was submitted for publication at the 2024 SPIE Medical Imaging conference.

This project was supported by Botimageai.

Instructions

Below are useful commands to start using the tool.

Clone git repo

$ git clone https://research-git.uiowa.edu/SINAPSE/dicomimageclassification.git

Navigate to the cloned repo

$ cd <repo path>

Setup virtual environment

$ python3 -m venv <venv_path> && source <venv_path>/bin/activate

Install required packages

$ pip install -r REQUIREMENTS.txt

Run the script!

python3 classify_study.py -m models/rf_classifier.onnx -d <path_to_dicom_session>

Testing

  pytest

Coverage Analysis

 coverage run --concurrency=multiprocessing --parallel-mode -m pytest tests --junitxml=tests/pytest.xml
 coverage combine
 coverage report --format=text -m |tee tests/pytest-coverage.txt
 coverage xml -o tests/coverage.xml
 coverage xml -o tests/coverage.xml

Authors

  1. Michal Brzus

    github: mbrzus, email: michal-brzus@uiowa.edu

  2. Hans J. Johnson

    github: BRAINSia, email: hans-johnson@uiowa.edu

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

dcm_classifier-0.3.2rc3.tar.gz (96.5 kB view details)

Uploaded Source

Built Distribution

dcm_classifier-0.3.2rc3-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file dcm_classifier-0.3.2rc3.tar.gz.

File metadata

  • Download URL: dcm_classifier-0.3.2rc3.tar.gz
  • Upload date:
  • Size: 96.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for dcm_classifier-0.3.2rc3.tar.gz
Algorithm Hash digest
SHA256 2a35508cbb2b3cd1d9253d02663113d62dc529bf743f0ee897a14b62a18f35c2
MD5 5855328e865f64ddaa022a6126f9555a
BLAKE2b-256 55c92321668c9a2d46aaec3f087983de289be99a503015ef005fae8cef21ed1b

See more details on using hashes here.

File details

Details for the file dcm_classifier-0.3.2rc3-py3-none-any.whl.

File metadata

File hashes

Hashes for dcm_classifier-0.3.2rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 b47803f7b2512b9dc0d0e1432f8654e7ef0b3706ca9a95283345a8e5ade7e2ac
MD5 c8d108a4f9da276a841c93e2de80e6ae
BLAKE2b-256 6c18563c3934e64df2b52103f445f723ffce6a911f194fa4515fa64c0c4b5cbb

See more details on using hashes here.

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