13 April 2020 at 13 h 36 min #15692Star warParticipant
I also run successfully the recommended example ( src/examples/Components/forcefieldBeamFEMForceField.scn
) and understand the setting.
the result in sofa:
my vessel.stl image:
my problem is
1. How to use the vessel.stl when revising the forcefieldBeamFEMForceField.scn file?
2. Should I need to extract the tree of vessel.stl by myself and then input the vertexes and lines into forcefieldBeamFEMForceField.scn? Is there any way to achieve that by sofa’s built-in tools?
3. Is there any example file of *.scn on the Vascular beam model on Sofa?
4. Is there instruction on writing *.scn file?
I would highly appreciate the advice! Thank you!13 April 2020 at 22 h 21 min #15704
I am sorry the forum spam detector blocked some of your posts. Could you please sharing your files again (if you did). Thanks.
1. To use the mesh vessel.stl that you created, you need first to load it in the scene using a MeshSTLLoader, then to share the topology in a EdgeSetTopologyContainer in the same node where your BeamFEMForceField is defined.
2. No. But if you blood vessel has bifurcations, this will make things a bit more complicated.
3. Not at my best knowledge.
4. Take a look at the associated documentation.
Hugo14 April 2020 at 17 h 18 min #15706
Hi Star Wars and Hugo,
Ive got a follow up question. I also work with vessels, a renal artery tree. Anatomically, a aorta has at least 1 bifurcation for the kidney, which branches into segmental arterys which also bifurcate.
Currently, I use a tetrahedron FEM but, for obvious reasons, this allows too much movement in unwanted diretions. Would you recommend creating a beamFEM force field and manually make sure all the different bifurcation positions are alligned considering there are no built in tools to do this? I need the arterys inside the kidney to individually move with the kidney so simplification of the anatomy (e.g. 1 beam) is not an option.14 April 2020 at 20 h 58 min #15751
If I understand you correctly you want to model a part of the arterial system: from the aorta to the kidney. Is it correct?
Let me know so that I can make a complete reply.
Hugo14 April 2020 at 21 h 13 min #15754
Yes its a part of the arterial system. Additonal info; the aorta is a fixed object. Currently I’ve got that covered through a ROIBox and box constraint right on top of the complete aorta. I think it is probably better to make the renal and segmental arterys a seperate object and link the aorta with the seperate object through an attach constraint, but thats just a side note.
The question would be, what is the best way to create a FEM for a vascular tree? Is that through a beamFEM with manual positioning of the beams or my approach with a tethahedromFEM (which does not have the best mechanical properties but it is completely automatic)?
MFit14 April 2020 at 22 h 35 min #15756
What role should actually have the aorta part (if it is fixed)?
To get back (down) to the kidney, I would recommend the approach followed by Peterlik et al. in Modeling and real-time simulation of a vascularized liver tissue.
The method consists in having a 3D volumetric model for the kidney tissue mechanics, and a Beam 1D linear model for the blood vessels. The latter must actually be a child node of the former, in order to “rigidify” the volumetric model due to the presence of blood flow.
Note that if bifurcation occurs, then each vessel section must be modeled separately and joint using a BilateralInteractionConstraint.
For your information, some people in the community worked on building beam hierarchy from medical images (from image to 3D model, then extracting centerlines and apply a mechanical model to it). If it is from interest, I can gather some further info.
I hope this helps.
Hugo15 April 2020 at 8 h 32 min #15761
So yeah, the role of the aorta is minimal, as it is just a fixed beam.
Thank you for the reference, I will look into it!
The main problem is the amount of bifurcations, the current model has 10 of them. Which is still less than hepatic veins/portal veins/hepatic arteries.
Getting a skeleton representation of my vessel is not gonna be a problem. The MRAs used are easily segmented and skeletonized in 3DSlicer. Creating beam structures inline with this centerline should be easy. I am gonna look into this as well. Thank you for the tip! Any more info is welcome of course. I am guessing the original author, Star War, is also interested in this subject.
MFit16 April 2020 at 9 h 20 min #15784Star warParticipant
Hi Hugo and MFit,
Thank you for your reply.
I have read the reference. It helps a lot.
I do have the similar problem with MFit, which is building a vascular tree with beamFEM. And I am really interested in the info you mentioned about extracting centerlines and creating mechanical model. Could you gather more about it? Thank you.
Enxing16 April 2020 at 16 h 06 min #1579216 April 2020 at 18 h 06 min #1579617 April 2020 at 9 h 20 min #15802
This sounds great! I am looking forward to working with this package. The results obtained as described in the paper are very promising. I think this might be a nice asset to SOFA as well. Vessel branch simulations sounds like a package wanted by more than a few.
MFit17 April 2020 at 10 h 01 min #15803MarcoMagParticipant
- University of Luxembourg
If you don’t mind, can you also get back to me when the researcher will be done with the package?
Cheers17 April 2020 at 10 h 06 min #1580420 April 2020 at 16 h 08 min #15868
It is already done! Here is the github: https://github.com/rouge1616/SofaSkeletonPlugin
Do not hesitate to make all the feedback to the developer on the GitHub repo. Tests have been conducted, everything should work:
MeshSkeletonization: Input: 3D mesh. Output: Centerlines
BeamFEMForcefield: Input: Centerlines. Output: Beams
Hugo20 April 2020 at 16 h 13 min #15869
Wow, I never expected it to be this fast! Gonna look into it right away. Thanks for the follow up on this question.
- You must be logged in to reply to this topic.