Skip to main content

No project description provided

Project description

Compute the thickness of a solid using Yezzi and Prince method described in the article “An Eulerian PDE Approach for Computing Tissue Thickness”, IEEE TRANSACTIONS ON MEDICAL IMAGING, VOL. 22, NO. 10, OCTOBER 2003. [1]

A C implementation by Rubén Cárdenes [2] helped me a lot writing this, especially the anisotropic part.

Requirements

Runtime: numpy, OpenMP (e.g., the libgomp1 package on debian).

Build time: a C compiler (e.g., gcc + libc6-dev packages on debian). This is needed in case you are using a platform for which we do not provide binaries (“wheels”) on PyPI.

Test time: scikit-image, scipy.

Installation instruction

Available on pypi. [3] Use pip: pip install pyezzi

Alternatively, clone the repository and build cython modules with pip install ..

Usage

Command line

This package provides a basic CLI. Example usage:

pyezzi /path/to/endo.mha /path/to/epi.mha /path/to/output.mha [--weights /path/to/thickness_weights.mha]

If can use the excellent uvx, you can download and launch it in a single command:

uvx pyezzi[cli] --help

Python API

Full API documentation is available on gitlabpages.inria.fr.

from pyezzi import compute_thickness_cardiac

thickness = compute_thickness_cardiac(endo, epi)

endo and epi are numpy binary masks. endo represents the “inside” boundary of the domain, e.g., the cardiac ventricular blood pool. epi represents the “outside” boundary of the domain, e.g., the cardiac ventricular epicardium.

A spacing parameter specifying the spacing between voxels along the axes can optionnaly be specified.

A weights parameter can be added to account for “holes” in the wall, cf “Cedilnik & Peyrat, Weighted tissue thickness, FIMH 2023”. [4]

Check out the included jupyter notebooks in the example folder for more details.

Contributions

We recommend using uv for project management and pre-commit to ensure code quality.

After cloning, use uv sync --frozen --all-groups --all-extras to install dev dependencies. This will set up a virtualenv in .venv that you can activate with source .venv/bin/activate. Tests can then be run with pytest test.

To build the cython extension modules in place, use python setup.py develop.

License

This work is licensed under the french CeCILL license. [5] You’re free to use and modify the code, but please cite the original paper and me.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyezzi-0.8.3.tar.gz (9.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyezzi-0.8.3-cp314-cp314-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.14Windows x86-64

pyezzi-0.8.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.38+ x86-64

pyezzi-0.8.3-cp314-cp314-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

pyezzi-0.8.3-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

pyezzi-0.8.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.38+ x86-64

pyezzi-0.8.3-cp313-cp313-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 10.15+ x86-64

pyezzi-0.8.3-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

pyezzi-0.8.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.38+ x86-64

pyezzi-0.8.3-cp312-cp312-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

pyezzi-0.8.3-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pyezzi-0.8.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.38+ x86-64

pyezzi-0.8.3-cp311-cp311-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

pyezzi-0.8.3-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

pyezzi-0.8.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.38+ x86-64

pyezzi-0.8.3-cp310-cp310-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

File details

Details for the file pyezzi-0.8.3.tar.gz.

File metadata

  • Download URL: pyezzi-0.8.3.tar.gz
  • Upload date:
  • Size: 9.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for pyezzi-0.8.3.tar.gz
Algorithm Hash digest
SHA256 b555c7185597d5550962e5a16394313f6cf3a4400d66806c3c6d56f2e5e8a6b2
MD5 885d6d5baa71d43f32a856421dcfa1d5
BLAKE2b-256 c3a115fa4317a5ab7374d09a0f4ea6a9d606a7a30a659fd0975e0b87df63dfa5

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyezzi-0.8.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for pyezzi-0.8.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 da02de2884e19f64bc491e06643472239321511cdbf7f5c56585322c7f0f50e5
MD5 bcfe3a1919a8d63666f42d29f57b0e76
BLAKE2b-256 d13b6ca8f9239d852dd36284bd33f3012f34f51403262c9b74ec746c1528f80b

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 a0fb41e1020a32602e4ea498f5070699f4d0696dbc826decace44fb0e38abe46
MD5 2561e52bbf2591f76dfcca80fe4d80c2
BLAKE2b-256 f68271a5145ab59f67326bd8cb28dd3aaefcd0548e9a1cba780d53c288cf8309

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a3698549d2b9d2b03a97c9967015322f15b8c5160b776c3d36d5f97c428e0675
MD5 6261718c39aeab7b4bdc4e62a26a769b
BLAKE2b-256 26738fa5f7a9f556dee362560d5701bbf5772f508a602101a59a8da8791cef88

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyezzi-0.8.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for pyezzi-0.8.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1792f377908be4a1aac942c758c937913941c06e43bee8a7e8b748fb038d28ce
MD5 c29b1301653e28af161e98e7d8b29a04
BLAKE2b-256 b1c8aa802f3a70504cab3bc9e1a3cdb50bc93632e92b2956dd18c5e07ed09259

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 dc3cc0424114494e6ae04b5637555308e0a196101d2b369c1feb3e01214ff1ec
MD5 c29d2565f00ad282336b0e1609baf588
BLAKE2b-256 1bd798eef3ddba542db6f0154b0d252e03e14eee7afa0e5eda53c230aba7ef61

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp313-cp313-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp313-cp313-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 aa5497aa682b979a5d03a40a2c39c2b2b04d596f41a75aaea6af90bfaa00b9b2
MD5 7f9e1f0ef49301d4d44c9237ce9bd116
BLAKE2b-256 b674cf91b29ac0967f62e4b04caa8a8ac734aa38ebc1b50084d0c785f1fa60fc

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyezzi-0.8.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for pyezzi-0.8.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f15f2efb31d58b951bfe7a5b16b78b4b045017b63920b6fcbe9fab24dc9c7de2
MD5 eef4e925230f0b518ed8f754ed8f567a
BLAKE2b-256 63dea8eafc2bdfc5856aa1feec0134c34282cb2fd825958b10a75eb9fef24381

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 526f66ac4383ab40d516b8dd8ccfe03fc2374e9029bd19ce2f53ceb55626e17f
MD5 6a682c2887847a972fd6ac1af7835ba9
BLAKE2b-256 4d767da059767ad84a3b7b7cf47556242080a943f0a0102cb6d49046f69508eb

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7a3d5ce710e6cf63b672e91ea7363269e74172846768a34f8397b93e51dc14da
MD5 03ad4c192db88e4cfb79a1c160a42c97
BLAKE2b-256 7ce1f8445b102015efad05c26128828d1c091e6fcf6a164bdd331334692180a4

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyezzi-0.8.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for pyezzi-0.8.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c3361e4aa65e9848897767a0bb4b11b963fd14abb6b4dd0d634d58d8f566ff5a
MD5 e3510892165c24405242bbfe62e0dde6
BLAKE2b-256 ed413d3c9e83419873381d2764c5f39eb6fa0f49c62afcf0b7293322d9568c4b

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 6170ddc3ee1c1278fde8e105e70c0f6db112251a16e5d4a059936d59caca8fbc
MD5 76f5fdfb1b61968372025122d2799abf
BLAKE2b-256 eaa876593db5348bca059f0b893285c7425e2a0721933a9a358930ad1c5c06b8

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 586b872178eeeb37d0175330455de1e6bbb7fbf12bb001de4204261ae0a128a5
MD5 2263d54e7052a60faac6166808f72165
BLAKE2b-256 cea44f44729301ac681d2b73ea0ef666bbeb9ed9db2b2636e9f366bec29f2743

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyezzi-0.8.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.11

File hashes

Hashes for pyezzi-0.8.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cedf0e06a1f8a18094fdc0a10d5fc479971f6cd51e72b7bbbe6f04898c24a5f7
MD5 3de134796ed2fc1bdc42f4c91b12486e
BLAKE2b-256 fe2133b57c281f4f32dcbfd979dddc3ea8c170a1e0581e385d3438eaa43d40b0

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 4dcfd72eb0ec7ee37d9225ca6609747ca3ef1d051d15da023d33e512a1d45f6d
MD5 9e50924a29634a446982bf490304b4e5
BLAKE2b-256 e9d115387bd848f2a9e09cfce204c3ec9eab388442b8fa2dc1fcf447943b004c

See more details on using hashes here.

File details

Details for the file pyezzi-0.8.3-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyezzi-0.8.3-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dfa7202e74fd2c1402df3ede81fad7240f58b83cabc5a10a5c1b293579586bfd
MD5 90193d5a173e126c696c097fdb3d6706
BLAKE2b-256 74194472aa12662775b8935e67b375ea93e97756eb7cb9cb80a032ca35c47a71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page