Skip to main content

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

Metadata

Release files for ormir-xct 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ormir-xct 1.1.0
File Size Uploaded
ormir_xct-1.1.0.tar.gz 66.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ormir-xct 1.1.0
File Interpreter ABI Platform
ormir_xct-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 66.4 MB

Release files / ormir_xct-1.1.0.tar.gz

Download URL ormir_xct-1.1.0.tar.gz
Size 66.3 MB
Tags Source
SHA-256 checksum
How to use checksums
dc19adb854461c21e22da7f35d736fc2df5dca6cabbead7a6c2443d33957d032
BLAKE2b-256 checksum
How to use checksums
eb9203cada881aa11845f5cf6d036cab27b594758391f8ea2f2e19926a6a1df3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.

Transparency log

Release files / ormir_xct-1.1.0-py3-none-any.whl

Download URL ormir_xct-1.1.0-py3-none-any.whl
Size 75.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cf52fcc8b0e4fd4641e142f1599fc7c7a73daddac16da72c5ac5456136fd757
BLAKE2b-256 checksum
How to use checksums
8f00f1fc2f1cb5c7cc82cc71d1ef64a2393900af49ac774bad04af82a43b933b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.3

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page