Skip to main content

COnsolidated BReast cancer Analysis DataBase

Project description

cobra_db

DOI:10.1117/1.JMI.10.6.061404 PyPI version Documentation Status codecov

Consolidated Breast Cancer Analysis DataBase

What is cobra_db?

cobra_db is a python package that allows you to extract DICOM metadata and store it in a MongoDB database. Allowing you to index, transform, and export your medical imaging metadata.

With cobra_db, you will have more visibility of your data enabling you to get more value from your medical imaging studies.

Once the metadata is in the database, you can import other text-based information (csv or json) into a custom collection and then run queries. This allows you to mix and match data extracted from different sources in different formats.

For example, let's say you have 1 million mammography DICOM files and you would like to obtain the path of the files that belong to women scanned at an age of between 40 and 50 years old.

If you had cobra_db, you could run the following query in just a few seconds directly in the mongo shell.

db.ImageMetadata.find(
  // filter the data
  {patient_age:{$gt:40, $lte:50}},
  // project it into a flat structure
  {
    patient_id: "$dicom_tags.PatientID.Value"
    drive_name: "$file_source.drive_name",
    rel_path:"$file_source.rel_path",
  })

This would return the patient id, the drive name and the relative path (to the drive) for all the files that match the selection criteria.

Installation

If you already have a working instance of the database, you only need to install the python package.

$ pip install cobra_db

If you would like to create a database from scratch, go ahead and follow the tutorial.

Usage

If you have an ImageMetadata instance id that you would like to access from python.

from cobra_db import Connector, ImageMetadataDao

# the _id of the ImageMetadata instance that you want to access
im_id = '62de8e38dc2414586e4ddb25'

# prompt user for password
connector = Connector.get_pass(
  host='my_host.server.com',
  port=27017,
  db_name='cobra_db',
  username='my_user'
)
# connect to the ImageMetadata collection
im_dao = ImageMetadataDao(connector)
im = im_dao.get_by_id(im_id)
print(im.date.file_source.rel_path)

# this will return
... rel/path/to/my_file.dcm

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

cobra_db was created by Fernando Cossio, Apostolia Tsirikoglou, Annika Gregoorian, Haiko Schurz, Hui Li, and Fredrik Strand. It is licensed under the terms of the Apache License 2.0 license.

Aknowledgements

This project has been funded by research grants Regional Cancer Centers in Collaboration 21/00060, and Vinnova 2021-0261.

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

cobra_db-0.3.8.tar.gz (35.9 kB view details)

Uploaded Source

Built Distribution

cobra_db-0.3.8-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file cobra_db-0.3.8.tar.gz.

File metadata

  • Download URL: cobra_db-0.3.8.tar.gz
  • Upload date:
  • Size: 35.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.2 tqdm/4.65.0 importlib-metadata/6.6.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.11

File hashes

Hashes for cobra_db-0.3.8.tar.gz
Algorithm Hash digest
SHA256 5eb3ac5b0e16b9b8e08fb3e8b542684957771808f6556dbcd6ca3a8abe79a297
MD5 4339ed0d671ea1e09ece731b6a42ece4
BLAKE2b-256 ce25b9c3ca4ad7369c74c6fad25935716346f60fa3f40d192ab3d3616717f652

See more details on using hashes here.

File details

Details for the file cobra_db-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: cobra_db-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 42.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.2 tqdm/4.65.0 importlib-metadata/6.6.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.11

File hashes

Hashes for cobra_db-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6da2f8e46bf22257b4fb1145ae8c7f796117acf09607c95437637b1c2ee16bac
MD5 521732306003eb40bd1bd800edaca84f
BLAKE2b-256 7957c8e459e83f4d5bdb946e5ce50b9868d9db6c416644511acbd1d999b5acd9

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