Description
In the fiber-generation codes, the Bayer convention for the beta angles does not match the original paper.
In Bayer's original paper, the beta angle induces a rotation about the fiber angle as the axis, whereas the code now performs a rotation about the rotated longitudinal axis.
Reproduction
Run utilities/fiber_generation/main_bayer.py
Expected behavior
The original Bayer paper and Piersanti's paper do
- Rotate by $\alpha$ degrees using the transmural vector as the axis.
- Rotate by $\beta$ degrees using the rotated fiber vector as an axis.
The code should be updated to do that, so it follows the original paper.
Additional context
When I was refactoring this code months ago, I thought there was a defined convention for the $\alpha$ and $beta$ angles, but I was wrong. Bayer and Piersanti perform the rotation as described previously. Doste performs the rotations as,
- Rotate by $\alpha$ degrees using the transmural vector as the axis.
- Rotate by $\beta$ degrees using the rotated apex-to-base vector as an axis.
Things to consider (I am just writing this here because the literature is very confusing, and I want to have records of this)
Vector notation
- Bayer and Piersanti call the vector pointing in the circumferential direction "longitudinal, $e_l$", and the vector pointing from the apex to the base "normal, $e_n$".
- Doste calls the vector pointing in the circumferential direction "circumferential, $e_c$", and the vector pointing from the apex to the base "longitudinal, $e_l$".
$\alpha, \beta$ angles versus helix, transverse angles.
Another thing I checked back then was experimental / imaging literature. I think there exists a consensus that the helix angle and the transverse angle are defined as in the image (from [this paper])(https://doi.org/10.1152/ajpheart.00059.2022):

If using the Doste convention, we can say that $\alpha$ is the helix angle and $\beta$ is the transverse angle.
If using the Bayer / Piersanti convention, then $\alpha$ = helix angle but $\beta$ != transverse angle.
Interestingly, if using Bayer / Piersanti convention, the transverse angle will always be zero, which would go against the transverse angles measured experimentally.
Code of Conduct
Description
In the fiber-generation codes, the Bayer convention for the beta angles does not match the original paper.
In Bayer's original paper, the beta angle induces a rotation about the fiber angle as the axis, whereas the code now performs a rotation about the rotated longitudinal axis.
Reproduction
Run
utilities/fiber_generation/main_bayer.pyExpected behavior
The original Bayer paper and Piersanti's paper do
The code should be updated to do that, so it follows the original paper.
Additional context
When I was refactoring this code months ago, I thought there was a defined convention for the$\alpha$ and $beta$ angles, but I was wrong. Bayer and Piersanti perform the rotation as described previously. Doste performs the rotations as,
Things to consider (I am just writing this here because the literature is very confusing, and I want to have records of this)
Vector notation
Another thing I checked back then was experimental / imaging literature. I think there exists a consensus that the helix angle and the transverse angle are defined as in the image (from [this paper])(https://doi.org/10.1152/ajpheart.00059.2022):

$\alpha$ is the helix angle and $\beta$ is the transverse angle.$\alpha$ = helix angle but $\beta$ != transverse angle.
If using the Doste convention, we can say that
If using the Bayer / Piersanti convention, then
Interestingly, if using Bayer / Piersanti convention, the transverse angle will always be zero, which would go against the transverse angles measured experimentally.
Code of Conduct