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

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.6
File Size Uploaded
plate_rod_thinning-0.1.6.tar.gz 57.8 kB Details

Built distributions (wheels)

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

Total release size: 323.8 kB

Release files / plate_rod_thinning-0.1.6.tar.gz

Download URL plate_rod_thinning-0.1.6.tar.gz
Size 57.8 kB
Tags Source
SHA-256 checksum
How to use checksums
697b0ebdf555b825993d8c276671963a513d2d3ad3ba5cfbdf181180fc77f9fe
BLAKE2b-256 checksum
How to use checksums
fa28f83500148afaa3fd1203a277d3131a8b8bf7944a12b5dfb93178fcc1d6fd
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.6-cp313-cp313-macosx_11_0_arm64.whl

Download URL plate_rod_thinning-0.1.6-cp313-cp313-macosx_11_0_arm64.whl
Size 65.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c568589fdb9c007e019996aeb9ce9d7a2d17344b1724218f07ee12049b154ed9
BLAKE2b-256 checksum
How to use checksums
80b9d3c51a8e75f78e37cb019ef6f392f0649e39594e916d4a04b43360e73ff0
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.6-cp313-cp313-macosx_10_13_x86_64.whl

Download URL plate_rod_thinning-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl
Size 67.1 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
e38e5098cd9559be871f6a3d03d17c0b2451e2f733c42122f71a2b21ec1f032d
BLAKE2b-256 checksum
How to use checksums
ff158bca3d05d79f98d034bc7f201c08058e1c29f2f9cf8bc4fb5b3aed4d27c7
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.6-cp312-cp312-macosx_11_0_arm64.whl

Download URL plate_rod_thinning-0.1.6-cp312-cp312-macosx_11_0_arm64.whl
Size 65.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e30f5ab1c5c7040afbfe12d6b27ea64f357fd4b7cde563f6cc5704131c644bae
BLAKE2b-256 checksum
How to use checksums
a30224095c9ce47b1acb308e633c5966914e7e605e98cabb50d1833f022ff828
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.6-cp312-cp312-macosx_10_13_x86_64.whl

Download URL plate_rod_thinning-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl
Size 67.1 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
a97b09fd2a323300ff05fe587dac0b7149540b42f5a89586cef60b7f8ef5c5a3
BLAKE2b-256 checksum
How to use checksums
8026b0aca8263b115bea2f59f2b1a67773be11d7a59806e5ff2460d059684142
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

This release

0.1.6 This release

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