Skip to main content

plate-rod-thinning

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

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.4

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.4
File Size Uploaded
plate_rod_thinning-0.1.4.tar.gz 57.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for plate-rod-thinning 0.1.4
File
plate_rod_thinning-0.1.4-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
plate_rod_thinning-0.1.4-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.4-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
plate_rod_thinning-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details

Total release size: 321.6 kB

Release files / plate_rod_thinning-0.1.4.tar.gz

Download URL plate_rod_thinning-0.1.4.tar.gz
Size 57.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5490db2309d7c0f449cfe05a5237418c616eabb98df5a378f9543628a6ecb0cb
BLAKE2b-256 checksum
How to use checksums
6ba87072740ba7d2a67fb9ac0fe573abbe4aecf6c84c3eeb50cd4cfc522fb7c3
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 Aug 30, 2026.

Transparency log

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

Download URL plate_rod_thinning-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
Size 65.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
44437eab244d5a6d2bd0d70c658343013f14aba319b6093b23322f0ea18b7a14
BLAKE2b-256 checksum
How to use checksums
8842c272e30458fb9ec44b589fb861c28d8862a9a820c6ab9167d9b4931e0209
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 Aug 30, 2026.

Transparency log

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

Download URL plate_rod_thinning-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl
Size 66.7 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
bbe24443bece9cf724be8e6af3888bcd943544c62fe4be9f4b8488a66b5dde61
BLAKE2b-256 checksum
How to use checksums
4dfb31a82aeeda8b3acad7eb5eff64fab3645bcadbae6a139ed73c46d717e72d
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 Aug 30, 2026.

Transparency log

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

Download URL plate_rod_thinning-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Size 65.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5c09741758250fb16a150019629810c50eaee88304c524c9e6c1902f7202d6d5
BLAKE2b-256 checksum
How to use checksums
26d494a5499deef79298e5b08e2c7deedc8992bc590f4609093f3d8ca0cc9aee
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 Aug 30, 2026.

Transparency log

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

Download URL plate_rod_thinning-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl
Size 66.7 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
4a4552b1b639845c425ba6ae97ac5665f6dc1a1127889a7b9e386e86eaf4d70f
BLAKE2b-256 checksum
How to use checksums
7e62542e9557a140c47903594b3e63592c36f808b1905ae2caac3e979a381c9b
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 Aug 30, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.9

5 release files

0.1.8

5 release files

0.1.7

5 release files

0.1.6

5 release files

This release

0.1.4 This release

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