{ "info": { "author": "Henrik Finsberg", "author_email": "henriknf@simula.no", "bugtrack_url": null, "classifiers": [], "description": "\n[![InstallConda](https://anaconda.org/finsberg/ldrb/badges/installer/conda.svg)](https://anaconda.org/finsberg/ldrb)\n[![CircleCI](https://circleci.com/gh/finsberg/ldrb.svg?style=shield)](https://circleci.com/gh/finsberg/ldrb)\n[![Documentation Status](https://readthedocs.org/projects/ldrb/badge/?version=latest)](https://ldrb.readthedocs.io/en/latest/?badge=latest)\n[![Platform](https://anaconda.org/finsberg/ldrb/badges/platforms.svg)](https://anaconda.org/finsberg/ldrb)\n\n# Laplace-Dirichlet Rule-Based (LDRB) algorithm for assigning myocardial fiber orientations\n\n\nA software for assigning myocardial fiber orientations based on the Laplace Dirichlet Ruled-Based algorithm.\n\n> Bayer, J.D., Blake, R.C., Plank, G. and Trayanova, N.A., 2012.\n> A novel rule-based algorithm for assigning myocardial fiber orientation\n>to computational heart models. Annals of biomedical engineering, 40(10),\npp.2243-2254.(https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3518842/)\n\n```python\n# Decide on the angles you want to use\nangles = dict(alpha_endo_lv=30, # Fiber angle on the LV endocardium\n alpha_epi_lv=-30, # Fiber angle on the LV epicardium\n beta_endo_lv=0, # Sheet angle on the LV endocardium\n beta_epi_lv=0, # Sheet angle on the LV epicardium\n alpha_endo_sept=60, # Fiber angle on the Septum endocardium\n alpha_epi_sept=-60, # Fiber angle on the Septum epicardium\n beta_endo_sept=0, # Sheet angle on the Septum endocardium\n beta_epi_sept=0, # Sheet angle on the Septum epicardium\n alpha_endo_rv=80, # Fiber angle on the RV endocardium\n alpha_epi_rv=-80, # Fiber angle on the RV epicardium\n beta_endo_rv=0, # Sheet angle on the RV endocardium\n beta_epi_rv=0) # Sheet angle on the RV epicardium\n\n# Choose space for the fiber fields\n# This is a string on the form {family}_{degree}\nfiber_space = 'Quadrature_2'\n\n# Compute the microstructure\nfiber, sheet, sheet_normal = ldrb.dolfin_ldrb(mesh=mesh,\n fiber_space=fiber_space,\n ffun=ffun,\n markers=markers,\n **angles)\n# Store files using a built in xdmf viewer that also works for functions\n# defined in quadrature spaces\nldrb.fiber_to_xdmf(fiber, 'fiber')\n# And visualize it in Paraview\n```\n\n![](docs/source/_static/figures/biv_fiber.png)\n\n# Installation\n\n## Install with pip\nIn order to install the software you need to have\ninstalled[FEniCS](https://fenicsproject.org) (versions older than 2016\nare not supprted)\n\nThe package can be installed with pip.\n```\npip install ldrb\n```\nor if you need the most recent version you can install the source\n```\npip install git+https://github.com/finsberg/ldrb.git\n```\n\n## Install with conda\nAlternatively you can install with conda\n\n```shell\nconda install -c finsberg ldrb\n```\n\n# Documetation\nDocumentation is hosted at https://ldrb.readthedocs.io.\n\n# Getting started\nCheck out the [demos](demos) and the [documentation](https://ldrb.readthedocs.io)\n\n# License\n`ldrb` is licensed under the GNU LGPL, version 3 or (at your option) any later version.\n`ldrb` is Copyright (2011-2019) by the authors and Simula Research Laboratory.\n\n# Contributors\nHenrik Finsberg (henriknf@simula.no)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/finsberg/ldrb", "keywords": "", "license": "LGPL version 3 or later", "maintainer": "", "maintainer_email": "", "name": "ldrb", "package_url": "https://pypi.org/project/ldrb/", "platform": "", "project_url": "https://pypi.org/project/ldrb/", "project_urls": { "Homepage": "https://github.com/finsberg/ldrb" }, "release_url": "https://pypi.org/project/ldrb/2019.0/", "requires_dist": [ "h5py", "numba", "numpy-quaternion" ], "requires_python": "", "summary": "Laplace-Dirichlet Rule-based algorithm for assigning myocardial fiber orientations.", "version": "2019.0" }, "last_serial": 5623176, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "e405cfab0693ad3a3ca4647f2daec6a3", "sha256": "05333ba9da953c607df8ba9f71a3f61136beb9be0f11bbc8ba499cb8c77995e3" }, "downloads": -1, "filename": "ldrb-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e405cfab0693ad3a3ca4647f2daec6a3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.0", "size": 17823, "upload_time": "2019-05-19T16:53:52", "url": "https://files.pythonhosted.org/packages/33/a6/57a7e83e5a32168321e87eeff7ede7e084c224c2fdaeeb4df4a348d9939e/ldrb-0.1.2-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e1c8d584b65904aee218b69279ee51af", "sha256": "447a88c6374c8556c9372c8c07887a26fdac7cd00c4808fe4db336098f1c483a" }, "downloads": -1, "filename": "ldrb-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e1c8d584b65904aee218b69279ee51af", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.0", "size": 17985, "upload_time": "2019-06-01T06:22:39", "url": "https://files.pythonhosted.org/packages/5a/a1/137296a741c7ce8aca67805948dc484b8a9b4bb3edeb7a86438e2bdd7954/ldrb-0.2.0-py2.py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9d3b48ccdb5d076ad398f5dc5615a701", "sha256": "2dc6262817e674eab2bc3005e30ca11f1d3d035fd1792519dfe894acc0cd67a9" }, "downloads": -1, "filename": "ldrb-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d3b48ccdb5d076ad398f5dc5615a701", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5.0", "size": 18071, "upload_time": "2019-06-21T11:45:43", "url": "https://files.pythonhosted.org/packages/d4/c2/1d9f87cfa406e4ce28fe6e3da5c2310108a02d94387e5298f07a6e8971a8/ldrb-0.2.1-py2.py3-none-any.whl" } ], "2019.0": [ { "comment_text": "", "digests": { "md5": "fad518344507c6927c67e91fa601ee16", "sha256": "f8ffefa6849440b04d39d1de918022a1fc8f9e2c3ef0ef80b9cdd95a9a32fcaf" }, "downloads": -1, "filename": "ldrb-2019.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fad518344507c6927c67e91fa601ee16", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18048, "upload_time": "2019-08-02T10:41:03", "url": "https://files.pythonhosted.org/packages/3c/a2/d3132390f6c976cb3c138fadf5c1b4634d86b8c7ec95482d1ca2965b54de/ldrb-2019.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f9fca94d1dd8668aa5592d819bd665b", "sha256": "8f1b18c11fa01f2bce44ce3cab4516aa83ad24441749dd45f78829a84dca7712" }, "downloads": -1, "filename": "ldrb-2019.0.tar.gz", "has_sig": false, "md5_digest": "6f9fca94d1dd8668aa5592d819bd665b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16645, "upload_time": "2019-08-02T10:41:05", "url": "https://files.pythonhosted.org/packages/08/58/a1ec7664e79b413afc24b52192182162740155dbe529a2f87826bb30a305/ldrb-2019.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fad518344507c6927c67e91fa601ee16", "sha256": "f8ffefa6849440b04d39d1de918022a1fc8f9e2c3ef0ef80b9cdd95a9a32fcaf" }, "downloads": -1, "filename": "ldrb-2019.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fad518344507c6927c67e91fa601ee16", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18048, "upload_time": "2019-08-02T10:41:03", "url": "https://files.pythonhosted.org/packages/3c/a2/d3132390f6c976cb3c138fadf5c1b4634d86b8c7ec95482d1ca2965b54de/ldrb-2019.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f9fca94d1dd8668aa5592d819bd665b", "sha256": "8f1b18c11fa01f2bce44ce3cab4516aa83ad24441749dd45f78829a84dca7712" }, "downloads": -1, "filename": "ldrb-2019.0.tar.gz", "has_sig": false, "md5_digest": "6f9fca94d1dd8668aa5592d819bd665b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16645, "upload_time": "2019-08-02T10:41:05", "url": "https://files.pythonhosted.org/packages/08/58/a1ec7664e79b413afc24b52192182162740155dbe529a2f87826bb30a305/ldrb-2019.0.tar.gz" } ] }