Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
라플라스-디리클레 규칙 기반 알고리즘으로 심근 섬유 방향을 지정하는 소프트웨어
About A software for assigning myocardial fiber orientations based on the Laplace Dirichlet Ruled-Based algorithm
개발 도구Python · ShellGitHub @finsberg가동 상태 재확인 필요운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A software for assigning myocardial fiber orientations with Laplace-Dirichlet rule-based algorithms, based on FEniCSx. Two methods are implemented:
ldrb.dolfinx_ldrb: the method of Bayer et al. (2012), for left ventricular and biventricular geometries with a single base
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://doi.org/10.1007/s10439-012-0593-5
ldrb.dolfinx_doste: the method of Doste et al. (2019), for biventricular geometries with outflow tracts and four valves (see Geometries with outflow tracts)
Doste, R., Soto-Iglesias, D., Bernardino, G., Alcaine, A., Sebastian, R., Giffard-Roisin, S., Sermesant, M., Berruezo, A., Sanchez-Quintana, D. and Camara, O., 2019. A rule-based method to model myocardial fiber orientation in cardiac biventricular geometries with outflow tracts. International Journal for Numerical Methods in Biomedical Engineering, 35(4), e3185. https://doi.org/10.1002/cnm.3185
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.
The mesh file can be an XDMF file (.xdmf) or a file written by io4dolfinx with the adios2 (.bp) or h5py (.h5) backend, e.g. the geometry.bp written by cardiac-geometriesx. Use the latter for meshes of order higher than 2, which XDMF does not support
ldrb geometry.bp --markers-file markers.json
Both methods work on meshes of any order. The Laplace problems are solved with Lagrange elements of the same degree as the geometry, so with a curved, higher order mesh the scalar fields, and hence the fibers, are as accurate as the geometry. The fibers can still be represented in any space with fiber_space, e.g. P_2 for a quadratic mesh.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗