Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: UMEssen
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 84.3 MB
Statistics
  • Stars: 4
  • Watchers: 3
  • Forks: 0
  • Open Issues: 5
  • Releases: 5
Created almost 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Citation

README.md

# BOA::Contrast

Package to compute contrast information from a CT image, part of the BOA. The package uses the open-source software TotalSegmentator to compute segmentations of important anatomical landmarks, which are then used to create features for a machine learning model to predict the contrast information.

Citation

If you use this package, please cite the following paper: Baldini G, Hosch R, Schmidt CS, et al. Addressing the Contrast Media Recognition Challenge: A Fully Automated Machine Learning Approach for Predicting Contrast Phases in CT Imaging. Invest Radiol. Published online March 4, 2024. doi:10.1097/RLI.0000000000001071

Install

bash pip install boa-contrast

will install only the basic package (without the TotalSegmentator), if you also want to install the TotalSegmentator you can

bash pip install "boa-contrast[totalsegmentator]"

However, the TotalSegmentator can also be used together with docker, and in such case it is not needed to install it.

Command Line

constrast-recognition --help Once a CT and a folder where to store the TotalSegmentator segmentations is given, you can run it using the following command contrast-recognition [-h] --ct-path CT_PATH --segmentation-folder SEGMENTATION_FOLDER [--docker] [--user-id USER_ID] [--device-id DEVICE_ID] [-v]

You can run it using docker by using the --docker flag. If you are using docker, you need to specify your user ID using the --user-id flag, otherwise you will have to change the ownership of the segmentations afterwards.

If you are using a GPU, you can specify the device ID using the --device-id flag.

You can enable verbosity with the -v flag.

To not download the TotalSegmentator weights all the time, you can specify their location using the TOTALSEG_WEIGHTS_PATH environment variable.

A sample output looks as follows: IV Phase: NON_CONTRAST Contrast in GIT: NO_CONTRAST_IN_GI_TRACT

From Python

Compute the segmentation with the TotalSegmentator with docker

```python from boacontrast import computesegmentation

computesegmentation( ctpath=..., # The path to the CT segmentationfolder=..., # The root where the segmentation should be stored deviceid=..., # The ID of the GPU device or -1 userid=..., # Your user ID for docker to run in user mode computewith_docker=False, # Whether to use docker or not ) ```

Once the segmentation is computed

```python from boa_contrast import predict

predict( ctpath=..., # path to the CT segmentationfolder=..., # path to this CT's segmentation ) ```

Output: { "phase_ensemble_prediction": 0, "phase_ensemble_predicted_class": "NON_CONTRAST", "phase_ensemble_probas": array( [ 9.89733540e-01, 3.60637282e-04, 4.79974664e-04, 5.55973168e-04, 8.86987492e-03, ] ), "git_ensemble_prediction": 0, "git_ensemble_predicted_class": "NO_CONTRAST_IN_GI_TRACT", "git_ensemble_probas": array( [ 9.99951577e-01, 4.84187825e-05, ] ), }

Owner

  • Name: University Medicine Essen
  • Login: UMEssen
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  BOA-Contrast: Contrast agent phase recognition in CT imaging using ML on generated features from public segmentation networks
message: 'If you use BOA-Contrast, please cite it as below.'
type: software
authors:
  - family-names: Baldini
    given-names: Giulia
    orcid: 'https://orcid.org/0000-0002-5929-0271'
  - family-names: Schmidt
    given-names: Cynthia Sabrina
  - family-names: Borys
    given-names: Katarzyna
    orcid: 'https://orcid.org/0000-0001-6987-6041'
  - family-names: Kroll
    given-names: Lennard
    orcid: 'https://orcid.org/0000-0001-8102-6146'
  - family-names: Koitka
    given-names: Sven
    orcid: 'https://orcid.org/0000-0001-9704-1180'
  - family-names: Nensa
    given-names: Felix
    orcid: 'https://orcid.org/0000-0002-5811-7100'
  - family-names: Hosch
    given-names: René
    orcid: 'https://orcid.org/0000-0003-1760-2342'
  - family-names: Haubold
    given-names: Johannes

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 5
  • Total pull requests: 11
  • Average time to close issues: 1 day
  • Average time to close pull requests: 6 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.27
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • giuliabaldini (4)
Pull Request Authors
  • dependabot[bot] (8)
  • giuliabaldini (3)
Top Labels
Issue Labels
Pull Request Labels
dependencies (8)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 232 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 2
pypi.org: boa-contrast
  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 232 Last month
Rankings
Dependent packages count: 7.2%
Average: 21.0%
Dependent repos count: 34.8%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/mypy-flake-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
poetry.lock pypi
  • 114 dependencies
pyproject.toml pypi
  • black ^22.3.0 develop
  • flake8 ^3.9.2 develop
  • mypy ^0.981 develop
  • pre-commit ^2.14.0 develop
  • connected-components-3d ^3.10.2
  • opencv-python ^4.5.5.64
  • pandas ^1.5.2
  • python ^3.8,<3.11
  • scikit-image ^0.19.3
  • scikit-learn ^1.1.2
  • simpleitk ^2.2.0
  • threadpoolctl ^3.1.0
  • totalsegmentator 1.5.5