Skip to main content

No project description provided

Project description

Retuve

tests codecov FOSSA Status FOSSA Status

Retuve - The first Open, Collaborative Framework for Infant Hip Health using AI

This software is an experimental tool for Research Use Only. It is intended solely for research purposes related to the diagnosis of Developmental Dysplasia of the Hip (DDH). This software has NOT been approved as a medical device by any regulatory agency in any country. It is not intended for clinical use, diagnosis, or treatment. The software is provided "as is" without any warranty, express or implied. Use of this software is at your own risk. The developers and contributors are not responsible for any consequences resulting from the use or misuse of this software. Please consult with qualified healthcare professionals for any medical advice or diagnosis.


Retuve (from the scottish gaelic Ri taobh meaning beside) is a framework for analysing infant hips. It is designed to be a flexible and extensible framework that can be used by developers, AI researchers and clinicians.

It takes in raw hip Ultrasound and X-Ray images, and outputs a report with the labelled images, and the results, exactly as a clinician would.

drawing

Attribution of the above Ultrasound Images: Case courtesy of Ryan Thibodeau from https://radiopaedia.org 172535 (https://radiopaedia.org/cases/172535)

Attribution of the above X-Ray Images: Fraiwan, Mohammad; Al-Kofahi, Noran; Hanatleh, Omar; ibnian, ali (2022), “A dataset of DDH x-ray images”, Mendeley Data, V2, doi: 10.17632/jf3pv98m9g.2

Docs

See our docs online at https://radoss-org.github.io/retuve/retuve.html

License

Retuve is licensed under the Apache 2.0 License. This means that you can use it for commercial purposes, and modify it as you see fit. The only requirement is that you must provide the license with any distribution of the software.

Quickstart

Please Note that the 2D Sweep and 3D DICOMs are sythetically stitched together from 2D Graf Hips, so do not expect accurate results. We are working on getting a 3DUS Case on a Creative Commons License to have as an example.

To get started with Retuve, you can install it via pip:

curl -LsSf https://astral.sh/uv/install.sh | sh
uv pip install retuve

If you have docker, you can quick-run with:

git clone https://github.com/radoss-org/retuve && cd retuve
sudo docker run -i --rm \
  -v "${PWD}":/app/\
  -w /app \
  ghcr.io/radoss-org/retuve:latest python /app/examples/high_level_functions/3dus.py

You can then run the following code to get a basic report:

WARNING: Before running this script, please make sure you have read the data disclaimer at DATA_DISCLAIMER.md.

import pydicom
from radstract.data.dicom import convert_dicom_to_images
from retuve.defaults.hip_configs import default_US
from retuve.defaults.manual_seg import manual_predict_us
from retuve.testdata import Cases, download_case
from retuve.funcs import analyse_hip_2DUS

# Example usage
dcm_file, seg_file = download_case(Cases.ULTRASOUND_DICOM)

dcm = pydicom.dcmread(dcm_file)
images = convert_dicom_to_images(dcm)

hip_data, img, dev_metrics = analyse_hip_2DUS(
    images[0],
    keyphrase=default_US,
    modes_func=manual_predict_us,
    modes_func_kwargs_dict={"seg": seg_file},
)

img.save("2dus.png")
drawing

Attribution of the above Ultrasound Images: Case courtesy of Ryan Thibodeau from https://radiopaedia.org 172535 (https://radiopaedia.org/cases/172535)

Features

  • pip installable (easy to intergrate with you existing systems)
  • Apache 2.0 Licensed
  • AI is fully pluggable/modular
  • Basic Web Interface bundled (through Retuve Trak)
  • CLI Interface
  • Swagger API Provided (through Retuve Trak)

Examples

Examples can be found at https://github.com/radoss-org/retuve/tree/main/examples

Docs

We have separate documentation for different use cases. Please see them all here:

We provide high level overviews for different types of users. This includes a tailored description of Retuve, and some highlighted features:

Modalities

Retuve can analyse Hips for:

Developer Guide

You can clone the repository and install the dependencies with the following command:

git clone https://github.com/radoss-org/retuve.git

You can then install retuve with uv, and then run the tests:

NOTE: These tests are about testing consistency between changes, and not directly testing the accuracy of the AI. See changenotes for tracking.

cd retuve

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv sync

# Generate the test data
uv run poe testgen

# Run all tests, including examples.
uv run poe test_all

# Get info on all other dev scripts
uv run poe help

Invitation for Collaboration

We are looking for support on the following:

  • Landmark Models from litrature
  • Native 3D Ultrasound Methods

We also accept any new algorithms for the different metrics, with the option to switch back to the old method provided through the config.

Please also see our Milestones for more information on what we are working on.

Acknowledgements

Data for the examples and tests is from https://github.com/radoss-org/radoss-creative-commons.

Please see this repo for attribution and licensing information.

Maintainers

FOSSA Status

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

retuve-1.0.0.tar.gz (329.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

retuve-1.0.0-py3-none-any.whl (196.5 kB view details)

Uploaded Python 3

File details

Details for the file retuve-1.0.0.tar.gz.

File metadata

  • Download URL: retuve-1.0.0.tar.gz
  • Upload date:
  • Size: 329.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for retuve-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a7221efd8e3157aaf6e617aa9a202beb8412f5b10bb1638a552ffbaf95bfd353
MD5 a8a7a1802c06cfe267c3ffb0e91927ee
BLAKE2b-256 7a41fba63dc9b090319bfca205c156bc8e069f7ece88fef1e5ba8814548fcbd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for retuve-1.0.0.tar.gz:

Publisher: release.yml on radoss-org/retuve

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file retuve-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: retuve-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 196.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for retuve-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 366ec850ebc08540020d28d35fae0f3d3711599a9ba1082db62b0d141e22906b
MD5 d75b4a3fb84198e9f28540580fac1a48
BLAKE2b-256 868de9837f373758c37eba4110cd7195bab9ad18371de33a5d7924d2b1e4b72f

See more details on using hashes here.

Provenance

The following attestation bundles were made for retuve-1.0.0-py3-none-any.whl:

Publisher: release.yml on radoss-org/retuve

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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