Home › Forum › SOFA › Using SOFA › [SOLVED] Using beams when modeling the vessels as a mechanical structure
Tagged: 64_bits, Plugin_CUDA, SOFA_1812, Windows_10
- This topic has 14 replies, 4 voices, and was last updated 4 years, 6 months ago by MFit.
-
AuthorPosts
-
13 April 2020 at 13:36 #15692Star warBlocked
Hi, I am trying to create vascular models as a mechanical structure. I have read the relative topic in the sofa forum.
I also run successfully the recommended example ( src/examples/Components/forcefieldBeamFEMForceField.scn
) and understand the setting.forcefieldBeamFEMForceField.scn 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:21 #15704HugoKeymasterDear @enxing,
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.Best wishes,
Hugo
14 April 2020 at 17:18 #15706MFitBlockedHi 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:58 #15751HugoKeymasterHi @matfit
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.Best
Hugo
14 April 2020 at 21:13 #15754MFitBlockedHi Hugo,
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)?
Kind regards,
MFit14 April 2020 at 22:35 #15756HugoKeymasterHi @matfit
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.
Best,Hugo
15 April 2020 at 08:32 #15761MFitBlockedHi Hugo,
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.
Kind regards,
MFit16 April 2020 at 09:20 #15784Star warBlockedHi 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.
Best,
Enxing16 April 2020 at 16:06 #1579216 April 2020 at 18:06 #15796HugoKeymaster17 April 2020 at 09:20 #15802MFitBlockedDear Hugo,
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.
Kind regards,
MFit
17 April 2020 at 10:01 #15803MarcoMagBlockedDear Hugo,
If you don’t mind, can you also get back to me when the researcher will be done with the package?
Cheers
17 April 2020 at 10:06 #1580420 April 2020 at 16:08 #15868HugoKeymasterHey all @marcomag @enxing @matfit
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: BeamsBest wishes,
Hugo
20 April 2020 at 16:13 #15869MFitBlockedWow, I never expected it to be this fast! Gonna look into it right away. Thanks for the follow up on this question.
Kind regards,
MFit -
AuthorPosts
- You must be logged in to reply to this topic.