Skip to content

Commit 9f19ff2

Browse files
committed
changing names of example folders; modifying Doste to assign 2/3 of the septum to the LV
1 parent ff5ae3f commit 9f19ff2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+203
-142
lines changed

utilities/fiber_generation/DOCUMENTATION.md

Lines changed: 82 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,8 @@ The Bayer method requires four input angle parameters (typically specified in de
250250

251251
- **$\alpha_{\text{endo}}$**: Endocardial helix angle, typically $60°$
252252
- **$\alpha_{\text{epi}}$**: Epicardial helix angle, typically $-60°$
253-
- **$\beta_{\text{endo}}$**: Endocardial transverse angle, typically $20°$
254-
- **$\beta_{\text{epi}}$**: Epicardial transverse angle, typically $-20°$
253+
- **$\beta_{\text{endo}}$**: Endocardial transverse angle, typically $-20°$
254+
- **$\beta_{\text{epi}}$**: Epicardial transverse angle, typically $20°$
255255

256256
These angles define the fiber architecture that varies smoothly from endocardium to epicardium across both ventricles.
257257

@@ -314,14 +314,14 @@ When running the original implementation, we observed the resulting fibers showe
314314
Note that $\mathbf{Q}_{\mathrm{LV}}^{0}$ and $\mathbf{Q}_{\mathrm{RV}}^{0}$ share equivalent circumferential, longitudinal, and transmural directions \textbf{within the septum}. By definition, $\beta_s > 0$ on the LV side (assuming $\beta_{\mathrm{endo}} > 0$), causing the fiber vector to rotate outward from the septum. On the RV side, $\beta_s < 0$ which also causes the fiber vector to rotate away from the septum. However, this is a negative angle at the RV endocardium, which is not what we want. Taking the absolute value $|\beta_s|$ yields the correct fiber angles while preserving the transmural variation of $\beta_{\mathrm{endo}}$ (positive at both side of the septum and 0 at the center of the septum).
315315

316316

317-
![Illustration of beta angle effect at endocardium](example/truncated/betaendo.png)
317+
![Illustration of beta angle effect at endocardium](example/biv_truncated/betaendo.png)
318318

319319
- After step 3, for elements where $d > 0.5$, flip the first and third basis vectors (fiber and sheet) of $\mathbf{Q}_{\text{endo}}$.
320320

321321
Note that $\mathbf{Q}_{\text{LV}}^{0}$ and $\mathbf{Q}_{\text{RV}}^{0}$ are constructed with opposite signs for the transmural direction. As a result, the LV basis rotates counterclockwise, whereas the RV basis rotates clockwise. At the septum, the circumferential vectors of both bases point in the same direction, which allows for a straightforward SLERP interpolation along the shortest path to obtain $\mathbf{Q}_{\text{endo}}$. However, on the RV side this construction causes the $\mathbf{Q}_{\text{endo}}$ basis to point exactly opposite to $\mathbf{Q}_{\text{epi}}$, leading to issues with the SLERP interpolation. Flipping the vectors on the RV side resolves this problem and ensures that the second interpolation remains smooth.
322322

323323
324-
![Illustration of beta angle effect at endocardium](example/truncated/flipping.png)
324+
![Illustration of beta angle effect at endocardium](example/biv_truncated/flipping.png)
325325

326326

327327
# Doste Method
@@ -352,38 +352,41 @@ where $S_{\text{epi}}$ is the epicardial surface, $S_{\text{top}}$ is the top su
352352

353353
### Required Laplace Fields
354354

355-
Ten Laplace problems are solved:
355+
Eleven Laplace problems are solved:
356356

357-
**Ventricular**:
358-
1. $\phi_{\text{BiV}}$: RV endocardium → LV endocardium (interventricular)
357+
**Interventricular**:
358+
1. $\phi_{\text{BiV}}$: RV endocardium → LV endocardium (interventricular field)
359+
2. $\phi_{\text{Trans}}$: Combined transmural field for septal angle calculation
359360

360361
**Left Ventricle**:
361-
1. $\phi_{\text{LV,trans}}$: Epicardium → LV endocardium (LV transmural)
362+
1. $\phi_{\text{LV,trans}}$: Epicardium → LV endocardium (LV transmural for basis construction)
362363
2. $\phi_{\text{LV,av}}$: Aortic valve → apex (LV longitudinal from AV)
363364
3. $\phi_{\text{LV,mv}}$: Mitral valve → apex (LV longitudinal from MV)
364365
4. $\phi_{\text{LV,weight}}$: Aortic valve → mitral valve (LV valve weight)
365366

366367
**Right Ventricle**:
367-
1. $\phi_{\text{RV,trans}}$: Epicardium → RV endocardium (RV transmural)
368+
1. $\phi_{\text{RV,trans}}$: Epicardium → RV endocardium (RV transmural for basis construction)
368369
2. $\phi_{\text{RV,pv}}$: Pulmonary valve → apex (RV longitudinal from PV)
369370
3. $\phi_{\text{RV,tv}}$: Tricuspid valve → apex (RV longitudinal from TV)
370371
4. $\phi_{\text{RV,weight}}$: Pulmonary valve → tricuspid valve (RV valve weight)
371372

372-
**Global**:
373-
1. $\phi_{\text{epi,trans}}$: LV and RV endocardium → epicardium (global transmural)
373+
**Global Transmural**:
374+
1. $\phi_{\text{epi,trans}}$: LV and RV endocardium → epicardium (global transmural for angle interpolation)
375+
376+
**Note**: All Laplace fields are automatically normalized to the $[0, 1]$ range **except** for $\phi_{\text{BiV}}$ and $\phi_{\text{Trans}}$, which are kept in their original range for proper septal field calculation and basis construction. The $\phi_{\text{BiV}}$ field typically has negative values on the RV side and positive values on the LV side.
374377

375378
## Input Angles
376379

377380
The Doste method requires twelve input angle parameters (typically specified in degrees) to handle both ventricles and outflow tracts:
378381

379382
- **$\alpha_{\text{endo,LV}}$**: LV endocardial helix angle, typically $60°$
380383
- **$\alpha_{\text{epi,LV}}$**: LV epicardial helix angle, typically $-60°$
381-
- **$\beta_{\text{endo,LV}}$**: LV endocardial transverse angle, typically $20°$
382-
- **$\beta_{\text{epi,LV}}$**: LV epicardial transverse angle, typically $-20°$
384+
- **$\beta_{\text{endo,LV}}$**: LV endocardial transverse angle, typically $-20°$
385+
- **$\beta_{\text{epi,LV}}$**: LV epicardial transverse angle, typically $20°$
383386
- **$\alpha_{\text{endo,RV}}$**: RV endocardial helix angle, typically $90°$
384387
- **$\alpha_{\text{epi,RV}}$**: RV epicardial helix angle, typically $-25°$
385-
- **$\beta_{\text{endo,RV}}$**: RV endocardial transverse angle, typically $20°$
386-
- **$\beta_{\text{epi,RV}}$**: RV epicardial transverse angle, typically $-20°$
388+
- **$\beta_{\text{endo,RV}}$**: RV endocardial transverse angle, typically $-20°$
389+
- **$\beta_{\text{epi,RV}}$**: RV epicardial transverse angle, typically $20°$
387390
- **$\alpha_{\text{OT,endo,LV}}$**: LV outflow tract endocardial helix angle, typically $90°$
388391
- **$\alpha_{\text{OT,epi,LV}}$**: LV outflow tract epicardial helix angle, typically $0°$
389392
- **$\alpha_{\text{OT,endo,RV}}$**: RV outflow tract endocardial helix angle, typically $90°$
@@ -436,15 +439,31 @@ $$
436439
\beta_{\text{wall,RV}} = \left[\beta_{\text{endo,RV}}(1 - \phi_{\text{epi,trans}}) + \beta_{\text{epi,RV}}\phi_{\text{epi,trans}}\right] w_{\text{RV}}
437440
$$
438441

439-
**Septum angles**: Computed by blending LV and RV contributions weighted by septal position:
442+
**Septum angles**: Computed by blending LV and RV contributions weighted by septal position.
443+
444+
First, compute a septal field $s$ that is 1 at both endocardia but assigns 2/3 of the septum to the LV:
445+
$$
446+
s = \begin{cases}
447+
\phi_{\text{Trans}} / 2 & \text{if } \phi_{\text{Trans}} < 0 \\
448+
\phi_{\text{Trans}} & \text{otherwise}
449+
\end{cases}
450+
$$
440451
$$
441-
s = \frac{|\phi_{\text{BiV}} - 0.5| - \min(|\phi_{\text{BiV}} - 0.5|)}{\max(|\phi_{\text{BiV}} - 0.5|) - \min(|\phi_{\text{BiV}} - 0.5|)}
452+
s = |s|
442453
$$
454+
455+
Then compute septum angles based on which ventricle the element belongs to:
443456
$$
444-
\alpha_{\text{septum}} = \alpha_{\text{LV,endo}} \cdot s \cdot \phi_{\text{LV,trans}} + \alpha_{\text{RV,endo}} \cdot s \cdot \phi_{\text{RV,trans}}
457+
\alpha_{\text{septum}} = \begin{cases}
458+
\alpha_{\text{LV,endo}} \cdot s & \text{if } \phi_{\text{BiV}} < 0 \\
459+
\alpha_{\text{RV,endo}} \cdot s & \text{if } \phi_{\text{BiV}} > 0
460+
\end{cases}
445461
$$
446462
$$
447-
\beta_{\text{septum}} = \beta_{\text{endo,LV}} \cdot \phi_{\text{LV,trans}} \cdot w_{\text{LV}} + \beta_{\text{endo,RV}} \cdot \phi_{\text{RV,trans}} \cdot w_{\text{RV}}
463+
\beta_{\text{septum}} = \begin{cases}
464+
\beta_{\text{endo,LV}} \cdot s \cdot w_{\text{LV}} & \text{if } \phi_{\text{BiV}} < 0 \\
465+
\beta_{\text{endo,RV}} \cdot s \cdot w_{\text{RV}} & \text{if } \phi_{\text{BiV}} > 0
466+
\end{cases}
448467
$$
449468

450469
### Algorithm Steps
@@ -453,37 +472,54 @@ $$
453472
- Blend valve gradients: $\mathbf{g}_{\ell,\text{LV}} = w_{\text{LV}} \nabla\phi_{\text{LV,mv}} + (1 - w_{\text{LV}})\nabla\phi_{\text{LV,av}}$
454473
- Blend valve gradients: $\mathbf{g}_{\ell,\text{RV}} = w_{\text{RV}} \nabla\phi_{\text{RV,tv}} + (1 - w_{\text{RV}})\nabla\phi_{\text{RV,pv}}$
455474

456-
2. **Construct LV and RV basis** for septum:
457-
- $\mathbf{Q}_{\text{LV,sep}} = \text{axis}(\mathbf{g}_{\ell,\text{LV}}, \nabla\phi_{\text{LV,trans}})$
458-
- $\mathbf{Q}_{\text{RV,sep}} = \text{axis}(\mathbf{g}_{\ell,\text{RV}}, \nabla\phi_{\text{RV,trans}})$
459-
460-
3. **Rotate by septum angles**:
461-
- $\mathbf{Q}_{\text{LV,septum}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{LV,sep}}, \alpha_{\text{septum}}, \beta_{\text{septum}})$
462-
- $\mathbf{Q}_{\text{RV,septum}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{RV,sep}}, \alpha_{\text{septum}}, \beta_{\text{septum}})$
475+
2. **Construct LV and RV basis** using chamber-specific transmural fields:
476+
- $\mathbf{Q}_{\text{LV}} = \text{axis}(-\mathbf{g}_{\ell,\text{LV}}, -\nabla\phi_{\text{LV,trans}})$
477+
- $\mathbf{Q}_{\text{RV}} = \text{axis}(-\mathbf{g}_{\ell,\text{RV}}, -\nabla\phi_{\text{RV,trans}})$
478+
479+
Note: The minus signs ensure the basis vectors follow the FibGen convention (apex → base, endo → epi).
463480

464-
4. **Construct LV and RV basis** for wall:
465-
- $\mathbf{Q}_{\text{LV,wall}}^0 = \text{axis}(\mathbf{g}_{\ell,\text{LV}}, \nabla\phi_{\text{LV,trans}})$
466-
- $\mathbf{Q}_{\text{RV,wall}}^0 = \text{axis}(\mathbf{g}_{\ell,\text{RV}}, \nabla\phi_{\text{RV,trans}})$
481+
3. **Rotate by septum angles to create septal bases**:
482+
- $\mathbf{Q}_{\text{LV,septum}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{LV}}, \alpha_{\text{septum}}, \beta_{\text{septum}})$
483+
- $\mathbf{Q}_{\text{RV,septum}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{RV}}, \alpha_{\text{septum}}, \beta_{\text{septum}})$
467484

468-
5. **Rotate by wall angles**:
469-
- $\mathbf{Q}_{\text{LV,wall}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{LV,wall}}^0, \alpha_{\text{wall,LV}}, \beta_{\text{wall,LV}})$
470-
- $\mathbf{Q}_{\text{RV,wall}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{RV,wall}}^0, \alpha_{\text{wall,RV}}, \beta_{\text{wall,RV}})$
485+
4. **Rotate by wall angles to create wall bases**:
486+
- $\mathbf{Q}_{\text{LV,wall}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{LV}}, \alpha_{\text{wall,LV}}, \beta_{\text{wall,LV}})$
487+
- $\mathbf{Q}_{\text{RV,wall}} = \text{orient\_rodrigues}(\mathbf{Q}_{\text{RV}}, \alpha_{\text{wall,RV}}, \beta_{\text{wall,RV}})$
471488

472-
6. **Create discontinuous septal basis**:
489+
5. **Create discontinuous septal basis**:
490+
491+
Normalize $\phi_{\text{BiV}}$ for interpolation:
492+
$$
493+
\phi_{\text{BiV}}^{\text{norm}} = \begin{cases}
494+
\phi_{\text{BiV}} / 2 & \text{if } \phi_{\text{BiV}} < 0 \\
495+
\phi_{\text{BiV}} & \text{otherwise}
496+
\end{cases}
497+
$$
498+
$$
499+
\phi_{\text{BiV}}^{\text{interp}} = \frac{\phi_{\text{BiV}}^{\text{norm}} + 1}{2}
500+
$$
501+
502+
Then assign septal basis discontinuously:
473503
$$\mathbf{Q}_{\text{sep}} = \begin{cases}
474-
\mathbf{Q}_{\text{RV,septum}} & \text{if } \phi_{\text{BiV}} \leq 0.5 \\
475-
\mathbf{Q}_{\text{LV,septum}} & \text{if } \phi_{\text{BiV}} > 0.5
504+
\mathbf{Q}_{\text{LV,septum}} & \text{if } \phi_{\text{BiV}}^{\text{interp}} < 0.5 \\
505+
\mathbf{Q}_{\text{RV,septum}} & \text{if } \phi_{\text{BiV}}^{\text{interp}} \geq 0.5
476506
\end{cases}$$
477507

478-
7. **Interpolate epicardial basis**:
479-
- $\mathbf{Q}_{\text{epi}} = \text{interpolate\_basis}(\mathbf{Q}_{\text{RV,wall}}, \mathbf{Q}_{\text{LV,wall}}, \phi_{\text{BiV}})$
508+
6. **Interpolate epicardial basis**:
509+
- $\mathbf{Q}_{\text{epi}} = \text{interpolate\_basis}(\mathbf{Q}_{\text{LV,wall}}, \mathbf{Q}_{\text{RV,wall}}, \phi_{\text{BiV}}^{\text{interp}})$
480510

481-
8. **Interpolate from endocardium to epicardium**:
511+
7. **Interpolate from endocardium to epicardium**:
482512
- $\mathbf{Q} = \text{interpolate\_basis}(\mathbf{Q}_{\text{sep}}, \mathbf{Q}_{\text{epi}}, \phi_{\text{epi,trans}})$
483513
- Extract: $\mathbf{f} = \mathbf{Q}[:, 0]$, $\mathbf{n} = \mathbf{Q}[:, 1]$, $\mathbf{s} = \mathbf{Q}[:, 2]$
484514

485515

486-
## On the convention of the orthogonal basis and angles
516+
517+
518+
### Modified algorithm steps
519+
In the original Doste paper, only one transmural field is mentioned ($\phi_{\text{Trans}}$) which is used to define the transmural gradient $\mathbf g_t$. Piersanti et al (2021) adds a second transmural field (see Fig. 4) ($\phi_{\text{BiV}}$) to differentiate between LV and RV. We use these two plus the individual transmural fields ($\phi_{\text{LV,trans}}$) and ($\phi_{\text{RV,trans}}$) which provides a smoother transition between LV and RV.
520+
521+
522+
# On the convention of the orthogonal basis and angles
487523

488524
Different papers use different conventions to define the orthogonal circumferential, longitudinal, and transmural basis (see Table below).
489525

@@ -497,4 +533,10 @@ For coherency, for all methods and for all chambers, we consider the transmural
497533

498534
| Method | Longitudinal | Transmural | sign(alpha) endo/epi | sign(beta) endo/epi |
499535
|--------|--------------|------------|----------------------|---------------------|
500-
| FibGen | apex -> base | endo -> epi | +/- | -/+ |
536+
| FibGen | apex -> base | endo -> epi | +/- | -/+ |
537+
538+
539+
# References
540+
1. Bayer, J. D., Blake, R. C., Plank, G., & Trayanova, N. A. (2012). A Novel Rule-Based Algorithm for Assigning Myocardial Fiber Orientation to Computational Heart Models. Annals of Biomedical Engineering, 40(10), 2243–2254. https://doi.org/10.1007/s10439-012-0593-5
541+
2. Doste, R., Soto‐Iglesias, D., Bernardino, G., Alcaine, A., Sebastian, R., Giffard‐Roisin, S., Sermesant, M., Berruezo, A., Sanchez‐Quintana, D., & 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). https://doi.org/10.1002/cnm.3185
542+
3. Piersanti, R., Africa, P. C., Fedele, M., Vergara, C., Dedè, L., Corno, A. F., & Quarteroni, A. (2021). Modeling cardiac muscle fibers in ventricular and atrial electrophysiology simulations. Computer Methods in Applied Mechanics and Engineering, 373, 113468. https://doi.org/10.1016/j.cma.2020.113468

utilities/fiber_generation/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ pip install -e .
1414
This will install all the required packages and will allow you to call the functions in these packages from any directory.
1515

1616
## Examples
17-
The `main_bayer.py` and `main_doste.py` are scripts to run both methods in the geometry described in the `example/truncated` and `example/ot` folders respectively.
17+
The `main_bayer.py` and `main_doste.py` are scripts to run both methods in the geometry described in the `example/biv_truncated` and `example/biv_with_outflow_tracts` folders respectively.
1818

19-
<img src="example/truncated/bayer_fiber.png" alt="Results for truncated BiV (Bayer)" width="640" />
20-
<img src="example/ot/doste_fiber.png" alt="Results for BiV w/ outflow tracts (Doste)" width="640" />
19+
<img src="example/biv_truncated/bayer_fiber.png" alt="Results for truncated BiV (Bayer)" width="640" />
20+
<img src="example/biv_with_outflow_tracts/doste_fiber.png" alt="Results for BiV w/ outflow tracts (Doste)" width="640" />
2121

2222
Note that the Doste methods needs a geometry with outflow tracts to be run (each valve needs to be defined as a separated surface). Bayer can be run in any biventricular geometry.
2323

utilities/fiber_generation/VALIDATION.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,39 +33,39 @@ The Bayer method results are demonstrated on a truncated biventricular geometry.
3333

3434
### Fiber Orientation
3535

36-
![Bayer Fiber Full View](example/truncated/bayer_fiber.png)
36+
![Bayer Fiber Full View](example/biv_truncated/bayer_fiber.png)
3737

3838
*Figure 1: Fiber orientation field generated using the Bayer method - full view*
3939

40-
![Bayer Fiber Slice View](example/truncated/bayer_fiber_slice.png)
40+
![Bayer Fiber Slice View](example/biv_truncated/bayer_fiber_slice.png)
4141

4242
*Figure 2: Fiber orientation field generated using the Bayer method - slice view*
4343

4444
### Sheet Orientation
4545

46-
![Bayer Sheet Full View](example/truncated/bayer_sheet.png)
46+
![Bayer Sheet Full View](example/biv_truncated/bayer_sheet.png)
4747

4848
*Figure 3: Sheet orientation field generated using the Bayer method - full view*
4949

50-
![Bayer Sheet Slice View](example/truncated/bayer_sheet_slice.png)
50+
![Bayer Sheet Slice View](example/biv_truncated/bayer_sheet_slice.png)
5151

5252
*Figure 4: Sheet orientation field generated using the Bayer method - slice view*
5353

5454
### Sheet-Normal Orientation
5555

56-
![Bayer Sheet-Normal Full View](example/truncated/bayer_sheet-normal.png)
56+
![Bayer Sheet-Normal Full View](example/biv_truncated/bayer_sheet-normal.png)
5757

5858
*Figure 5: Sheet-normal orientation field generated using the Bayer method - full view*
5959

60-
![Bayer Sheet-Normal Slice View](example/truncated/bayer_sheet-normal_slice.png)
60+
![Bayer Sheet-Normal Slice View](example/biv_truncated/bayer_sheet-normal_slice.png)
6161

6262
*Figure 6: Sheet-normal orientation field generated using the Bayer method - slice view*
6363

6464
### Angle Correlations
6565

6666
To check the code, we first calculate the $\alpha$ and $\beta$ angles using scalar interpolations. Then, we calculate the $\alpha$ and $\beta$ angles using the fiber direction $\mathbf f$ and the orthogonal basis $\mathbf e_c$, $\mathbf e_\ell$, $\mathbf e_t$.
6767

68-
![Bayer Angle Correlations](example/truncated/bayer_angle_correlations.png)
68+
![Bayer Angle Correlations](example/biv_truncated/bayer_angle_correlations.png)
6969

7070
*Figure 7: Correlation plots comparing scalar interpolation angles with fiber derived angles for the Bayer method. Blue and red dots show the $\alpha$ and $\beta$ angles. For reference, the original Bayer method with no modifications is shown.*
7171

@@ -77,37 +77,37 @@ The Doste method results are demonstrated on a complete biventricular geometry w
7777

7878
### Fiber Orientation
7979

80-
![Doste Fiber Full View](example/ot/doste_fiber.png)
80+
![Doste Fiber Full View](example/biv_with_outflow_tracts/doste_fiber.png)
8181

8282
*Figure 8: Fiber orientation field generated using the Doste method - full view*
8383

84-
![Doste Fiber Slice View](example/ot/doste_fiber_slice.png)
84+
![Doste Fiber Slice View](example/biv_with_outflow_tracts/doste_fiber_slice.png)
8585

8686
*Figure 9: Fiber orientation field generated using the Doste method - slice view*
8787

8888
### Sheet Orientation
8989

90-
![Doste Sheet Full View](example/ot/doste_sheet.png)
90+
![Doste Sheet Full View](example/biv_with_outflow_tracts/doste_sheet.png)
9191

9292
*Figure 10: Sheet orientation field generated using the Doste method - full view*
9393

94-
![Doste Sheet Slice View](example/ot/doste_sheet_slice.png)
94+
![Doste Sheet Slice View](example/biv_with_outflow_tracts/doste_sheet_slice.png)
9595

9696
*Figure 11: Sheet orientation field generated using the Doste method - slice view*
9797

9898
### Sheet-Normal Orientation
9999

100-
![Doste Sheet-Normal Full View](example/ot/doste_sheet-normal.png)
100+
![Doste Sheet-Normal Full View](example/biv_with_outflow_tracts/doste_sheet-normal.png)
101101

102102
*Figure 12: Sheet-normal orientation field generated using the Doste method - full view*
103103

104-
![Doste Sheet-Normal Slice View](example/ot/doste_sheet-normal_slice.png)
104+
![Doste Sheet-Normal Slice View](example/biv_with_outflow_tracts/doste_sheet-normal_slice.png)
105105

106106
*Figure 13: Sheet-normal orientation field generated using the Doste method - slice view*
107107

108108
### Angle Correlations
109109

110-
![Doste Angle Correlations](example/ot/doste_angle_correlations.png)
110+
![Doste Angle Correlations](example/biv_with_outflow_tracts/doste_angle_correlations.png)
111111

112112
*Figure 14: Correlation plots comparing scalar interpolation angles with fiber derived angles for the Doste method. Blue and red dots show the $\alpha$ and $\beta$ angles**
113113

utilities/fiber_generation/example/truncated/VOLUME.vtu renamed to utilities/fiber_generation/example/biv_truncated/VOLUME.vtu

File renamed without changes.

utilities/fiber_generation/example/truncated/bayer_angle_correlations.png renamed to utilities/fiber_generation/example/biv_truncated/bayer_angle_correlations.png

File renamed without changes.
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)