Skip to main content

A Python package for high-resolution CT image processing

Project description

ORMIR-XCT

Michael T. Kuczynski, Nathan J. Neeteson, Kathryn S. Stok, Andrew J. Burghardt, Michelle A. Espinosa Hernandez, Jared Vicory, Justin J. Tse, Pholpat Durongbhan, Serena Bonaretti, Andy Kin On Wong, Steven K. Boyd, Sarah L. Manske. ORMIR_XCT: A Python package for high resolution peripheral quantitative computed tomography image processing. Journal of Open Source Software, 9(97), 6084, https://doi.org/10.21105/joss.06084, 2024.

Version: 1.1.0

  • ORMIR-XCT is a Python package for processing high resolution peripheral computed tomography (HR-pQCT) scans.
  • Development of this project began during the 2022 “Building the Jupyter Community in Musculoskeletal Imaging Research” workshop hosted by the Open and Reproducible Musculoskeletal Imaging Research (ORMIR) group.

License: GPL v3 PyPI - Version GitHub Actions Workflow Status


Installation

Option A: Install into a new Anaconda environment:

For Windows, Linux, and Intel-based Mac:

Step 1: Install the ormir-xct Anaconda environment from the YAML file:

conda env create -f environment.yml

Step 2: Activate and use the ormir-xct environment:

conda activate ormir-xct

For Apple Silicon Mac (M-chips):

Step 1: Install the ormir-xct Anaconda environment, specifying macOS architecture:

CONDA_SUBDIR=osx-64 conda create -n ormir-xct python=3.11 pip

Step 2: Activate the ormir-xct environment:

conda activate ormir-xct

Step 3: Tell conda to always use the macOS architecture:

conda env config vars set CONDA_SUBDIR=osx-64

Step 4: Deactivate and reactivate the environment:

conda deactivate
conda activate ormir-xct

Step 5: Install the required dependencies using pip:

pip install -r requirements.txt

Option B: Install into an existing Anaconda environment:

Step 1: Activate your environment:

conda activate my_env

Step 2: Install ormir-xct from PyPi

pip install ormir-xct


Example Usage

Example Jupyter Notebooks demonstrating the major functionality of the ORMIR-XCT package are provided in the examples directory.


Command Line Applications

The ORMIR-XCT package now provides a command line interface for some workflows. To install the command line applications, activate your ormir-xct Anaconda environment and run: pip install -e . For detailed usage instructions, type the command followed by -h into the terminal.

Command Description
adaptive-local-threshold Perform adaptive local thresholding on an image to segment bone.
autocontour Generate proximal, distal, and combined periosteal masks using the autocontour workflow.
bmd Compute bone mineral density for an input image.
bmd-masked Compute masked bone mineral density for an input image, within the provided mask
fft-laplace-hamming Binarize an input image using a Laplace-Hamming filter and fixed threshold.
jsw-analysis Reimplementation of the IPL joint space width analysis worflow.
seg-gauss Binarize an input image using Gaussian smoothing followed by a fixed threshold.
trab-bvtv Compute trabecular bone volume fraction (Tb.BV/TV).
trab-th Compute trabecular thickness (Tb.Th).
trab-sp Compute trabecular separation (Tb.Sp).
trab-microarch Compute trabecular microarchitecture parameters (Tb.Th, Tb.Sp, and Tb.BV/TV).

Ways to Contribute

Reporting Bugs

  • Bugs can be reported by creating a new GitHub issue in this repository. For each bug, please provide details on how to reproduce the bug and the specific error message (if possible).

Contributing Guidelines

  • Install ormir-xct with development tools (e.g. black, ruff, pytest, hypothesis):
    1. Clone the repository
    2. Create an Anaconda environment as above
    3. Install development tools: pip install -e .[dev]
  • To add a new feature, expand existing functionality, add documentation, or other contributions, please submit a new GitHub issue outlining your contribution in detail.
  • When submitting a new pull request, ensure you outline what you have changed and why it is necessary to make this change.

Citation

When using the ORMIR-XCT package, please use the following citation:

  • Kuczynski et al., (2024). ORMIR-XCT: A Python package for high resolution peripheral quantitative computed tomography image processing. Journal of Open Source Software, 9(97), 6084, https://doi.org/10.21105/joss.06084

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

ormir_xct-1.1.0.tar.gz (66.3 MB view details)

Uploaded Source

Built Distribution

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

ormir_xct-1.1.0-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ormir_xct-1.1.0.tar.gz
  • Upload date:
  • Size: 66.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ormir_xct-1.1.0.tar.gz
Algorithm Hash digest
SHA256 dc19adb854461c21e22da7f35d736fc2df5dca6cabbead7a6c2443d33957d032
MD5 abb2e34873e350f1e55b24f360b18e17
BLAKE2b-256 eb9203cada881aa11845f5cf6d036cab27b594758391f8ea2f2e19926a6a1df3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ormir_xct-1.1.0.tar.gz:

Publisher: python-publish.yml on ORMIR-XCT/ORMIR-XCT

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

File details

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

File metadata

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

File hashes

Hashes for ormir_xct-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2cf52fcc8b0e4fd4641e142f1599fc7c7a73daddac16da72c5ac5456136fd757
MD5 7a8c99886eba9e78f77b64a44fe5ef0f
BLAKE2b-256 8f00f1fc2f1cb5c7cc82cc71d1ef64a2393900af49ac774bad04af82a43b933b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ormir_xct-1.1.0-py3-none-any.whl:

Publisher: python-publish.yml on ORMIR-XCT/ORMIR-XCT

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