Virtual Cath Lab module has been recently added to SlicerHeart extension. This module simulates monoplane and biplane C-arm systems: provides 3D model of the C-arm, table, patient and generates simulated fluoroscopy images. Images can be either static (generated from 3D CT) or dynamic (generated from 4DCT). The module can also display cardiac devices (stents, occluders, clips, etc. provided by the Cardiac Device Simulator module) and virtual contrast filling (from image segmentation).
The module was developed for cardiac and vascular procedures, but it is well suited for simulation of any fluoroscopy guided procedures.
More details are provided in this paper:
Yuval Barak-Corren, Matthew Daemer, Mudit Gupta, Kyle Sunderland, Andras Lasso, Analise Sulentic, Trevor R. Williams, Silvani Amin, Alana Cianciulli, Michael L. O’Byrne, Matthew A. Jolley, Virtual Cath Lab: Versatile Open-Source Simulator for Education and Procedural Planning in Congenital Heart Interventions, Journal of the Society for Cardiovascular Angiography & Interventions, Volume 4, Issue 11, 2025, 103937, Redirecting
I considered the VirtualCathLab with much interest.
It targets the cardiac cath lab by design, but may be equally helpful for pre-operative assessment in some vascular interventions too.
However, the default position of the C-arm in the vascular context is not always at the head of the patient (rarely actually), it is rather perpendicular to the table. The L-arm angle slider can do that but the orientation of the DRR is then rotated accordingly.
Would it be possible to optionally have a default position of the C-arm perpendicular to the table, on its right or on its left, with an upright DRR?
You are absolutely right. To get a monoplane model, we removed the ceiling-mounted C-arm of the biplane model, but of course you would not normally use it at that angle, and we haven’t implemented auto-rotate.
If you have a chance then feel free to add this feature (e.g., add a +/-90deg rotation to the updateCameraPosition method to keep the detector “view’s up” direction approximately aligned to “patient’s head” direction), but if you are not sure how to do it then I’ll try to get to it in the next few days.
A few tries have not been convincing, I don’t really grab the logic of this module.
But the position of the C-arm in the module is not a fundamental issue because we can still determine angles as it is and map these relative to the table and the C-arm in the OR. If it implies too much work, you may drop the request. Thanks for having considered.
Added detector rotation angle (no auto-rotation is available, but the rotation can be easily manually adjusted on the GUI)
Default L arm angle is set the C-arm to be at the side of the table
Projection beam is displayed (to make it easier to see the field of view in 3D)
Detector size is configurable in the preset .csv files
It would be great if you could test it and give feedback. If you have a few vascular systems that you want to add to the parameter sets (with SOD, detector size, default angles) then feel free to send a pull request with additional csv file entries.
It is indeed much better and more realistic to OR situations. I’ll give more feedback
later on cumulating experiences on more cases. Thank you very much.
Nice image! You show the vessel in the simulated fluoro image as a surface rendering now. You can try to use the “Virtual contrast filling” section to make the appearance more realistic (the module fills the CT image uniformly inside the segment/model with the density you specify).
Virtual contrast filling can be useful to simulate stronger contrast filling (e.g., you have a CT with IV contrast injection and you want to simulate local contrast injection) or you want to add anything to the CT that was originally not there (e.g., a stent or device).
Here is the procedural image with the C-arm oriented as simulated. I find it a faithful reproduction for a first try, and remain confident for subsequent ones.
Here it means less radio emission and less contrast medium injection.
This module should be viewed as a wonderful add-on to anyone working with a C-arm, beyond the cardio-vascular realm, orthopedists for example.