Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question About Tissue Deformation in 3D Slicer #9

Open
vincenzocivale opened this issue Nov 20, 2024 · 1 comment
Open

Question About Tissue Deformation in 3D Slicer #9

vincenzocivale opened this issue Nov 20, 2024 · 1 comment

Comments

@vincenzocivale
Copy link

vincenzocivale commented Nov 20, 2024

First of all, congratulations on your impressive work on the Sofa.IGTLink plugin! It’s an excellent project, and I truly appreciate the effort you’ve put into bridging SOFA with 3D Slicer. It’s a significant contribution to the field of interactive simulations.

I’ve been exploring your plugin and wanted to ask for clarification on a specific aspect of the workflow. If I understand correctly, in the context of simulating tissue deformation in 3D Slicer:

  1. The input forces or constraints are sent from 3D Slicer to SOFA using IGTLINK.
  2. SOFA computes the deformation using its simulation models and generates updated meshes at each simulation step.
  3. These deformed meshes are then sent back to 3D Slicer as "frames" for visualization in real time.

Is this understanding accurate? If not, could you kindly explain how the deformation simulation and visualization flow is handled between SOFA and 3D Slicer?

Thank you for your time, and I look forward to your response.

Best regards,

@bakpaul
Copy link
Contributor

bakpaul commented Dec 6, 2024

HEllo !

I am sorry for the response time, I didn't get a notification...
This is correct for the two first points. Know that the data that is sent could be anything, from a force to a poisition, a mesh and so on... For instance the example scenes in this plugin show the interaction capability of the plugin, you can impose a position of the object by picking it in the sender and the reciever will follow it.

For the third point, I don't know what do you mean by frame. But no rendering is needed on the SOFA side, the simulation will send back the position of the nodes of the object. Thos position are then used by slicer to update the models and then re-render the mesh. This has many advantages, for instance it could be used to compute a displacement ifeld that can be applied to a medical image.

Hope that answered your questions !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants