ldrb

A software for assigning myocardial fiber orientations based on the Laplace Dirichlet Ruled-Based algorithm

https://github.com/finsberg/ldrb

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: ncbi.nlm.nih.gov
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

A software for assigning myocardial fiber orientations based on the Laplace Dirichlet Ruled-Based algorithm

Basic Info
Statistics
  • Stars: 22
  • Watchers: 3
  • Forks: 8
  • Open Issues: 4
  • Releases: 11
Created over 7 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

CI github pages

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.

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/)

```python

Generate an example geometry using https://github.com/ComputationalPhysiology/cardiac_geometries

import cardiac_geometries # pip install cardiac-geometries import ldrb

geo = cardiacgeometries.mesh.createbivellipsoid(charlength=0.2)

Decide on the angles you want to use

angles = dict( alphaendolv=30, # Fiber angle on the LV endocardium alphaepilv=-30, # Fiber angle on the LV epicardium betaendolv=0, # Sheet angle on the LV endocardium betaepilv=0, # Sheet angle on the LV epicardium alphaendosept=60, # Fiber angle on the Septum endocardium alphaepisept=-60, # Fiber angle on the Septum epicardium betaendosept=0, # Sheet angle on the Septum endocardium betaepisept=0, # Sheet angle on the Septum epicardium alphaendorv=80, # Fiber angle on the RV endocardium alphaepirv=-80, # Fiber angle on the RV epicardium betaendorv=0, # Sheet angle on the RV endocardium betaepirv=0, # Sheet angle on the RV epicardium )

Convert markers to correct format

markers = { "base": geo.markers["BASE"][0], "lv": geo.markers["ENDO_LV"][0], "rv": geo.markers["ENDO_RV"][0], "epi": geo.markers["EPI"][0], }

Choose space for the fiber fields

This is a string on the form {family}_{degree}

fiberspace = "P2"

Compute the microstructure

fiber, sheet, sheetnormal = ldrb.dolfinldrb( mesh=geo.mesh, fiberspace=fiberspace, ffun=geo.ffun, markers=markers, **angles )

Store files using a built in xdmf viewer that also works for functions

defined in quadrature spaces

ldrb.fibertoxdmf(fiber, "fiber")

And visualize it in Paraview

```

_

Installation

pip

In order to install the software you need to have installed FEniCS (versions older than 2016 are not supported)

The package can be installed with pip. python3 -m pip install ldrb or if you need the most recent version you can install the source python3 -m pip install git+https://github.com/finsberg/ldrb.git

Issues with h5py

You might run into issues with incompatible version of h5py. To resolve this you can try to first uninstall the existing version python3 -m pip uninstall h5py and then reinstall h5py from source using the command python3 -m pip install h5py --no-binary=h5py

Conda

ldrb is also available on conda conda install -c conda-forge ldrb

Docker

If you don't already have FEniCS installed you can use one of the provided docker images, e.g docker pull ghcr.io/finsberg/ldrb:latest to pull the image and use the following command to start a container and sharing your current directory docker run --rm -v $PWD:/home/shared -w /home/shared -it ghcr.io/finsberg/ldrb:latest

Documentation

Documentation is hosted at http://finsberg.github.io/ldrb

Getting started

Check out the demos

License

ldrb is licensed under the GNU LGPL, version 3 or (at your option) any later version. ldrb is Copyright (2011-2019) by the authors and Simula Research Laboratory.

Contributors

Henrik Finsberg (henriknf@simula.no)

Owner

  • Name: Henrik Finsberg
  • Login: finsberg
  • Kind: user
  • Location: Oslo, Norway
  • Company: Simula Research Laboratoy

Senior Research Engineer working with Scientific Computing and Computational Physiology

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Finsberg"
  given-names: "Henrik"
  orcid: "https://orcid.org/0000-0003-3766-2393"
title: "Laplace-Dirichlet Rule-Based (LDRB) algorithm for assigning myocardial fiber orientations"
version: "2023.5.0"
date-released: 2022-11-16
url: "https://github.com/finsberg/ldrb"

GitHub Events

Total
  • Delete event: 8
  • Push event: 61
  • Pull request event: 48
  • Create event: 7
Last Year
  • Delete event: 8
  • Push event: 61
  • Pull request event: 48
  • Create event: 7

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 292
  • Total Committers: 6
  • Avg Commits per committer: 48.667
  • Development Distribution Score (DDS): 0.298
Past Year
  • Commits: 20
  • Committers: 1
  • Avg Commits per committer: 20.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Henrik Finsberg h****f@s****o 205
pre-commit-ci[bot] 6****] 77
James D. Trotter j****s@s****o 6
ivhak h****r@y****o 2
Reidmen Arostica r****n@g****m 1
John T Green j****n@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 22
  • Total pull requests: 134
  • Average time to close issues: 2 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 11
  • Total pull request authors: 8
  • Average comments per issue: 3.5
  • Average comments per pull request: 0.15
  • Merged pull requests: 129
  • Bot issues: 0
  • Bot pull requests: 103
Past Year
  • Issues: 0
  • Pull requests: 40
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 40
Top Authors
Issue Authors
  • finsberg (5)
  • jtgreen (5)
  • Nobregaigor (2)
  • jingbinzhao415 (2)
  • Reidmen (2)
  • correctanswerdd (1)
  • wilburmao (1)
  • wang-hairui (1)
  • bergolho (1)
  • AnoopRKulkarni (1)
  • vensun41 (1)
  • pre-commit-ci[bot] (1)
Pull Request Authors
  • pre-commit-ci[bot] (105)
  • finsberg (22)
  • dependabot[bot] (15)
  • jamtrott (4)
  • ivhak (2)
  • oscarodeigah (1)
  • jtgreen (1)
  • Reidmen (1)
Top Labels
Issue Labels
enhancement (3) wontfix (1)
Pull Request Labels
dependencies (15) github_actions (15)

Dependencies

.github/workflows/github-pages.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/main.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
.github/workflows/docker-image.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v3 composite
  • docker/login-action v2 composite
  • docker/metadata-action 98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
.github/workflows/pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
Dockerfile docker
  • ghcr.io/scientificcomputing/fenics-gmsh 2023-08-16 build
setup.py pypi
environment.yml pypi