Skip to main content

_

Create and publish a Docker image pre-commit Test package PyPI version GitHub License Ruff

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

conda

The package can also be installed with conda, i.e

conda install -c conda-forge 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)

Metadata

Release files for fenicsx-ldrb 0.1.19

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

Source distribution (sdist)

Source distribution for fenicsx-ldrb 0.1.19
File Size Uploaded
fenicsx_ldrb-0.1.19.tar.gz 20.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fenicsx-ldrb 0.1.19
File Interpreter ABI Platform
fenicsx_ldrb-0.1.19-py3-none-any.whl Python 3 none any Details

Total release size: 39.8 kB

Release files / fenicsx_ldrb-0.1.19.tar.gz

Download URL fenicsx_ldrb-0.1.19.tar.gz
Size 20.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b48f0221b9f18889e83a670f2f7695ceda5034521bf6491f7663e60a32e430b8
BLAKE2b-256 checksum
How to use checksums
4aeedbb63e27a74746050bced84305fc3009ed31ce366fa3c346d57c26d05287
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fenicsx_ldrb-0.1.19-py3-none-any.whl

Download URL fenicsx_ldrb-0.1.19-py3-none-any.whl
Size 19.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cab19317cb1fcbdc9e0977b4345ce79a9999310ff559232d5184f83d3119f37d
BLAKE2b-256 checksum
How to use checksums
42ba7dbfee835bc516b7ce01ad460736143e7a6683007f12bde5d5693df4a4fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.19 This release

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.13

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.0.1

2 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