Laplace-Dirichlet Rule-based algorithm for assigning myocardial fiber orientations.
Project description
Laplace-Dirichlet Rule-Based (LDRB) algorithm for assigning myocardial fiber orientations
A software for assigning myocardial fiber orientations based on the Laplace Dirichlet Ruled-Based algorithm based on FEniCSx.
Bayer, J.D., Blake, R.C., Plank, G. and Trayanova, N.A., 2012. A novel rule-based algorithm for assigning myocardial fiber orientation to computational heart models. Annals of biomedical engineering, 40(10), pp.2243-2254.(https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3518842/)
Getting started
For example if you have a bi-ventricular geometry (e.g from cardiac-geometries
), you can generate fibers as follows
import cardiac_geometries
import ldrb
import dolfinx
# Generate an idealized BiV geometry
geo = cardiac_geometries.mesh.biv_ellipsoid(outdir=geodir)
# Generate fibers with 60/-60 fibers angles on the endo- and epicardium
system = ldrb.dolfinx_ldrb(mesh=geo.mesh, ffun=geo.ffun, markers=geo.markers, alpha_endo_lv=60, alpha_epi_lv=-60, beta_endo_lv=0, beta_epi_lv=0, fiber_space="P_2")
# Visualize fibers in Paraview
with dolfinx.io.VTXWriter(
geo.mesh.comm, outdir / f"microstructure-viz.bp", [system.f0, system.s0, system.n0], engine="BP4"
) as vtx:
vtx.write(0.0)
If you now open the file microstructure-viz.bp
in Paraview (using the ADIOS2VTXReader), select Glyph and choose f0
as orientation array you can see the fiber orientations similar to the following figure (here I have also added a Calculator to compute the fiber angle)
Note that you can achieve the the same results using the command line interface
ldrb mesh.xdmf --markers-file markers.json --fiber-space P_2 --alpha-endo-lv 60 --alpha-epi-lv -60 --beta-endo-lv 0 --beta-epi-lv 0
Note that if you don't specify a different angle for the RV or Septum, then the same angle as the LV will be used.
Installation
pip
Note that you can install the package with pip
, but then you need to install FEniCSx separatly, see download
python3 -m pip install fenicsx-ldrb
Docker
To pull the latest docker image you can do
docker pull ghcr.io/finsberg/fenicsx-ldrb:main
or choose a specific version e.g
docker pull ghcr.io/finsberg/fenicsx-ldrb:v0.1.4
Note that you can also run the cli directly using docker e.g
docker run --rm -v $PWD:/home/shared -w /home/shared -it ghcr.io/finsberg/fenicsx-ldrb ldrb --help
Documentation
See https://finsberg.github.io/fenicsx-ldrb
License
MIT
Contributors
Henrik Finsberg (henriknf@simula.no)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fenicsx_ldrb-0.1.8.tar.gz
.
File metadata
- Download URL: fenicsx_ldrb-0.1.8.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae42a59614a55b76dbdea19f13eaf60c9dd39c9c3e8f7406a0e840938b8f8dec |
|
MD5 | 895ed592cecfa81c72c106127a3f11b2 |
|
BLAKE2b-256 | 3f0767ade9cef63c77f9ea4e160ffd292c7534e5b9c85e381ddd5d88c56709b6 |
Provenance
The following attestation bundles were made for fenicsx_ldrb-0.1.8.tar.gz
:
Publisher:
pypi.yml
on finsberg/fenicsx-ldrb
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
fenicsx_ldrb-0.1.8.tar.gz
- Subject digest:
ae42a59614a55b76dbdea19f13eaf60c9dd39c9c3e8f7406a0e840938b8f8dec
- Sigstore transparency entry: 146745203
- Sigstore integration time:
- Predicate type:
File details
Details for the file fenicsx_ldrb-0.1.8-py3-none-any.whl
.
File metadata
- Download URL: fenicsx_ldrb-0.1.8-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c83bdb60b4f742b23d84c3d281871fafa55a3444c50a0830cc0448bb794886 |
|
MD5 | cfec0b21524121bfe5d9f400f3f91af4 |
|
BLAKE2b-256 | 45a42cbee548e6636658c4388ed7b181cfdcd1e8217dccad2a4825e8a8125d42 |
Provenance
The following attestation bundles were made for fenicsx_ldrb-0.1.8-py3-none-any.whl
:
Publisher:
pypi.yml
on finsberg/fenicsx-ldrb
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
fenicsx_ldrb-0.1.8-py3-none-any.whl
- Subject digest:
06c83bdb60b4f742b23d84c3d281871fafa55a3444c50a0830cc0448bb794886
- Sigstore transparency entry: 146745204
- Sigstore integration time:
- Predicate type: