Skip to main content

plate-rod-thinning icon

plate-rod-thinning

plate-rod-thinning provides topology-preserving trabecular bone plate/rod thinning and morphometry for HR-pQCT-style binary masks.

Author: Matthias Walle.

The package ports the original MATLAB plate/rod workflow into Python while keeping the core algorithm outside the Slicer Bone Imaging Toolbox. It produces 1-voxel skeleton topology labels, full-thickness plate/rod/junction labels, individual full-thickness component labels, and summary morphometry metrics.

Method

The default pipeline uses topology-preserving thinning followed by Saha/Stauber-style local skeleton classification. Final topology classes are decomposed into individual trabecular elements using an ITS-like graph workflow:

  1. classify skeleton voxels into surface, curve, and typed junction classes;
  2. dilate typed junction zones before element decomposition;
  3. label plate and rod components after junction-zone removal;
  4. reconstruct individual element labels back into the full-thickness trabecular mask;
  5. count P-P, P-R, and R-R junctions from unique neighboring reconstructed element pairs.

The current defaults provide a conservative decomposition for HR-pQCT-style trabecular masks:

PlateRodParameters(
    junction_dilation_voxels=2,
    min_plate_voxels=0,
    min_rod_voxels=5,
    junction_support_radius_voxels=None,
)

junction_support_radius_voxels is available for experiments that require reconstructed junctions to be spatially supported by matching typed skeleton junction classes. It is disabled by default because this package treats the reconstructed element graph as the primary output.

Validation Notes

The defaults were checked on an HR-pQCT II tibia test case to confirm that the outputs are numerically plausible and internally consistent for trabecular bone analysis. This package implements an open, auditable plate/rod thinning and graph morphometry workflow; it is not intended to be a bitwise or parameter-matched clone of any proprietary ITS implementation.

Install

python -m pip install plate-rod-thinning

Prebuilt macOS wheels include the compiled C backend when available. The package also has a Python fallback, and on Apple platforms the Metal skeletonizer can be enabled with:

export PLATE_ROD_USE_METAL_FULL=1

Citation

If you use the plate/rod network connectivity or morphometry workflow, please cite:

Walle M, Yeritsyan D, Abbasian M, Oftadeh R, Müller R, Nazarian A. A graph model to describe the network connectivity of trabecular plates and rods. Front Bioeng Biotechnol. 2024 May 6;12:1384280. doi: 10.3389/fbioe.2024.1384280. PMID: 38770275; PMCID: PMC11103010.

Development

The compiled extension is opt-in for local source builds:

PLATE_ROD_BUILD_EXT=1 python -m pip install .
python -m pytest -q

Metadata

Release files for plate-rod-thinning 0.1.8

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

Source distribution (sdist)

Source distribution for plate-rod-thinning 0.1.8
File Size Uploaded
plate_rod_thinning-0.1.8.tar.gz 63.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for plate-rod-thinning 0.1.8
File
plate_rod_thinning-0.1.8-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
plate_rod_thinning-0.1.8-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
plate_rod_thinning-0.1.8-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
plate_rod_thinning-0.1.8-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details

Total release size: 340.2 kB

Release files / plate_rod_thinning-0.1.8.tar.gz

Download URL plate_rod_thinning-0.1.8.tar.gz
Size 63.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e51ebcc7cc16ec13593e032b8b81ee9772eca2b397bd569dcb887a6c224405ff
BLAKE2b-256 checksum
How to use checksums
f42fbf6bcc7757c01487d09f421db9a518ab5170e6a895159f990fbdaee595ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 4, 2026.

Transparency log

Release files / plate_rod_thinning-0.1.8-cp313-cp313-macosx_11_0_arm64.whl

Download URL plate_rod_thinning-0.1.8-cp313-cp313-macosx_11_0_arm64.whl
Size 68.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
69e5ff622aa2df225aaf7918bd034572836445a5862025c4b45bcf3d7f38ee0e
BLAKE2b-256 checksum
How to use checksums
2b0892f249ee35283c0c7873e1a564ffc39e30f2759893dfc696199719a7f40d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 4, 2026.

Transparency log

Release files / plate_rod_thinning-0.1.8-cp313-cp313-macosx_10_13_x86_64.whl

Download URL plate_rod_thinning-0.1.8-cp313-cp313-macosx_10_13_x86_64.whl
Size 69.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
62c7333d7d8b65ca68200f73a05b59e9dd56db06e29cae4e7abe1865acd48876
BLAKE2b-256 checksum
How to use checksums
228a5a563c2fd3623e0a5d1720564c4a3d2a92e9a1a7ce59830d8b065cbf569f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 4, 2026.

Transparency log

Release files / plate_rod_thinning-0.1.8-cp312-cp312-macosx_11_0_arm64.whl

Download URL plate_rod_thinning-0.1.8-cp312-cp312-macosx_11_0_arm64.whl
Size 68.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bae73684dd7bfc7fbe66f7b85c66532a2c3420e9fc77426d66753fc114b0af08
BLAKE2b-256 checksum
How to use checksums
9bda9eee5f5ea1a96bd46393e62d06fa5d7e10b2f8667932634b2274206eb01f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 4, 2026.

Transparency log

Release files / plate_rod_thinning-0.1.8-cp312-cp312-macosx_10_13_x86_64.whl

Download URL plate_rod_thinning-0.1.8-cp312-cp312-macosx_10_13_x86_64.whl
Size 69.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
51fd0b3170c6a4d890ebbacff48e83c93cd156bb2dac738250ea9a137730a476
BLAKE2b-256 checksum
How to use checksums
43888ca8b3fe027defa511d8c0acf41a80799757a29472187d45b2cb40fd145e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.9

5 release files

This release

0.1.8 This release

5 release files

0.1.7

5 release files

0.1.6

5 release files

0.1.4

5 release files

0.1.3

5 release files

0.1.2

5 release files

0.1.1

5 release files

0.1.0

5 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