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.
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-xctwith development tools (e.g. black, ruff, pytest, hypothesis):- Clone the repository
- Create an Anaconda environment as above
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| ormir_xct-1.1.0.tar.gz | 66.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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