Skip to main content

A machine learning model that crops CT scans to a bone of interest in the arm

Project description

armcrop

PyPI Latest Release Code style: black

This package contains a machine learning model that can crop a CT scan to any of the following classes:

  • clavicle
  • scapula
  • humerus
  • radius_ulna
  • hand

It can do both axis aligned cropping and oriented bounding box (obb) cropping. The obb cropping allows for rigid registration of CT scans.

This model was trained on arm only scans and proximal half chest scans. A limitation of this model is that when using a full chest CT where the spine is present the model will struggle to differentiate between it and the scapula.

Installation

To use CPU execution install with:

pip install armcrop

To use CUDA execution you will need to also install torch and onnxruntime-gpu.

Usage

import armcrop
import SimpleITK as sitk

# load CT scan
volume = sitk.ReadImage("path/to/ct_scan.nrrd")

# Oriented Bounding Box Cropping
cropper = armcrop.CropOrientedBoundingBox(volume)
cropped_images = cropper.process(bone="humerus")
for i, img in enumerate(cropped_images):
    sitk.WriteImage(img, f"aligned_humerus-{i}.nrrd")

# Bounding Box Cropping
cropper = armcrop.Crop(volume)
output = cropper.process(bone="scapula")
for i, img in enumerate(output):
    sitk.WriteImage(img, f"cropped_scapula-{i}.nrrd")

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

armcrop-1.1.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

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

armcrop-1.1.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file armcrop-1.1.0.tar.gz.

File metadata

  • Download URL: armcrop-1.1.0.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.7 Linux/6.11.0-26-generic

File hashes

Hashes for armcrop-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e51f0cd40e2865731fcfad8ddb8eb5b9fbaaeb697ea9f6c783d94a1a99e0ab4f
MD5 d39fb480d9ef82e734f078463d06f827
BLAKE2b-256 4ff91f079d071d727bcd9b69edbddc8b94796d82e2608875ccfeffb5c455a561

See more details on using hashes here.

File details

Details for the file armcrop-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: armcrop-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.7 Linux/6.11.0-26-generic

File hashes

Hashes for armcrop-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 171ce5e63fd2bbc5e0eec303f134c755df0acb1463316ffc27112658db51404b
MD5 fdc0c11450cf0110b73e381c66fa9247
BLAKE2b-256 4d1a2bf1466291129ace61c5a8ce4fcc6eacc606776b08998f4c4c0edb1b774e

See more details on using hashes here.

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