I’m working with aorta segmentation across different cardiac frames and I was wondering if there is any way to smooth the segmentations across time (different cardiac frames) to avoid segmentations inconsistencies between time points.
I would appreciate any suggestions or recommendations to address this issue.
You could try using sequence registration to take one segmentation and deform it across time instead of having a separate segmentation for each frame. This will likely result in a more consistent appearance over time because the registration will only introduce smooth deformations.
Thank you for your suggestions. In that case I would only have the segmentation for one frame and the following ones would be deformed based on the images, correct? Do I need a specific extension to work with thoracic MRI data?
You would need to install the “Sequence Registration” module from the Extension Manager. When you run the registration, ensure you are generating as output the sequence of transforms and not just the registered images. See some usage documentation at GitHub - moselhy/SlicerSequenceRegistration · GitHub
The generated transforms apply deformations to each corresponding frame to make it look maximally like the selected fixed frame (you can choose which frame in the advanced section). If you have a segmentation of the aorta in that frame, you can apply the inverses of the transforms to deform that segmentation into a corresponding segmentation for each of the other frames. This is straightforward conceptually, but unfortunately, I’m not sure there’s a simple automated way to do it. It can be achieved with a python script or by manually going through each frame, inverting each transform, making a copy of the segmentation, applying the inverted transform to the segmentation copy, hardening the transform (this applies the deformation to the segmentation in a permanent way, as opposed to just a visualization option, a necessary step before you would do something like measure anything quantitatively, like volume or shape).
Take a look at the sequence registration extension, learn a little about nonlinear transforms in Slicer (Transforms — 3D Slicer documentation), and see if you can sort out the above workflow. If you get stuck, post back here and I (or others) can try to help. Public AI chatbots also know a fair amount about Slicer; for a faster response you can ask one of them for some help first.