Skip to main content

A python package to query the National Biomedical Imaging Archive (NBIA) database.

Project description

NBIA Toolkit

PyTests Documentation Status codecov Python version

PyPI version Downloads PyPI - Downloads GitHub repo size Docker Pulls

GitHub milestone detailsGitHub milestone details

nbiatoolkit is a python package that provides programmatic access to query and download images from the National Biomedical Imaging Archive (NBIA) and The Cancer Imaging Archive (TCIA) databases.

Features

  • Use NBIA Guest account to access public data OR authenticate using OAuth with user credentials for limited access data (requires approved data access).
  • Query NBIA database for metadata on collections, patients, studies, series, and images
  • Download images from NBIA
    • Validate doownloads with MD5 checksums for downloaded images
    • Auto-sort DICOM files using a user-defined pattern of DICOM tags with specialized DICOMSorter class

See Documentation at NBIA-Toolkit Read The Docs

Installation

nbiatoolkit is currently under development. It is made available via PyPI and can be installed using pip:


pip install nbiatoolkit

CLI Usage

getCollections Output

nbia-toolkit also provides a command line interface (CLI) to query the NBIA database for some queries.

> NBIAToolkit --version
    _   ______  _______  ______            ____   _ __ 
   / | / / __ )/  _/   |/_  __/___  ____  / / /__(_) /_
  /  |/ / __  |/ // /| | / / / __ \/ __ \/ / //_/ / __/
 / /|  / /_/ // // ___ |/ / / /_/ / /_/ / / ,< / / /_  
/_/ |_/_____/___/_/  |_/_/  \____/\____/_/_/|_/_/\__/  
                                                       

Version: 0.18.0

Available CLI tools: 

getCollections [-h] [-p PREFIX] [-o OUTPUTFILE] [--version]

getPatients [-h] -c COLLECTION [-o OUTPUTFILE] [--version]

getBodyPartCounts [-h] [-c COLLECTION] [-o OUTPUTFILE] [--version]

getSeries [-h] [-c COLLECTION] [-p PATIENTID] [-m MODALITY]
          [-study STUDYINSTANCEUID]
          [--seriesInstanceUID SERIESINSTANCEUID]
          [--bodyPartExamined BODYPARTEXAMINED]
          [--manufacturerModelName MANUFACTURERMODELNAME]
          [--manufacturer MANUFACTURER] [-o OUTPUTFILE] [--version]

downloadSingleSeries [-h] --seriesUID SERIESUID --downloadDir
                     DOWNLOADDIR [--filePattern FILEPATTERN]
                     [--overwrite]

dicomsort [-h] [--targetPattern TARGETPATTERN] [--truncateUID]
          [--sanitizeFilename] [--overwrite] [--nParallel NPARALLEL]
          sourceDir destinationDir

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

nbiatoolkit was created by Jermiah Joseph. It is licensed under the terms of the MIT license.

User Agreements and Disclaimers

The NBIA-toolkit is NOT a product of the National Cancer Institute (NCI) and is not endorsed by the NCI. The NBIA-toolkit is provided as an open-source tool based on the NBIA REST API. The NBIA-toolkit is provided "AS IS" without warranty of any kind.

In no event shall the authors or contributors be liable for any claim, damages or other liability, arising from, out of or in connection with the NBIA-toolkit or the use or other dealings in the NBIA-toolkit.

Users of the NBIA-toolkit are required to abide by the NBIA REST API Terms of Service and the NBIA Data Usage Policies and Restrictions

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

nbiatoolkit-0.18.1.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

nbiatoolkit-0.18.1-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file nbiatoolkit-0.18.1.tar.gz.

File metadata

  • Download URL: nbiatoolkit-0.18.1.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for nbiatoolkit-0.18.1.tar.gz
Algorithm Hash digest
SHA256 95e627e06c71bcbd1d0d9191148837c0b8a9b4c2703ced8e43e7b114174c3c3a
MD5 7dae488766aeb7fbbd74a064819efbfd
BLAKE2b-256 a45ac0bcd8f50664b85296bf236e2f83cb46a3eb3746de0c7c6b1a4b35fb453e

See more details on using hashes here.

File details

Details for the file nbiatoolkit-0.18.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nbiatoolkit-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6434301bc9b5c9074a31d1475f0ca44c38b3975f9846d1107c46e04e34e39c62
MD5 595b1083dbcce3a0e70fdfcb26dfe97c
BLAKE2b-256 3f902145c1878be7795dcdb783160ba5bf9246992540eab45b3c0bed23a33c48

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