PreMade Objets imported from STL files have significant changes when imported as segmentations

Hi everyone,

I´m trying to make something simillar to your video tutorial " How to segment multiple vertebrae in spine CT for 3D printing" and I get in trouble with this feature.

I import objets from STL files to get them as segmentations and interact them with the CT bone segmentations.

When I get the inicial segmentation from importing from Model, its surface is almost perfect. Problems became when I try to edit this segmentation or when I try to apply logical operators between them. Representation of the segmentations change from “Closed surface” to “Binary labelmap” and surface quality decrese drastically.

image

Grey: Original object (Model view)
Yellow: Inicial Segmentation from Model
Brown: Segmentation after trying to edit

As you can easily imagine, substractions of these segmentations to other from TC make inaccurate surfaces.

Is there any way to edit segmentations without changing to " Binary labelmap"?

Thanks on advance…

A lot of editing operations are possible or are only well-behaved on label maps and not on surface models, which is why Slicer converts on the fly as needed (boolean operations on surface meshes are notoriously subject to failure due to rounding errors in non-trivial cases).

Typically you can get better results by defining a higher resolution grid for your conversion of surfaces to label maps, and also by adjusting the smoothing when creating surfaces from the label maps.

2 Likes

I was pretty convinced the problem was label map conversion. Excuse me Steve, but I have no idea have to practice your solution… How can I improve my grid resolution for conversion? Should be any problem with scales making this change?
The main editing operation I have to make is logical operator effect (substraction and copy/add) so boolean operation is the main point.
Thanks for your help…

Probably the easiest way to do this is to use a volume to define a reference grid (e.g. using the sample data if you don’t have anything else) and then use the Segmentation Geometry dialog (small button to the right of the Master volume selector) and make the segmentation finer (like a 2x or 3x oversample).

image

Maybe @lassoan or @cpinter can suggest how to do this without using a volume to define the grid.

2 Likes

If I understand the problem, then I just described the solution earlier today to someone else (it’s enough to just look at the bullet points):

It’s not the easiest workflow I know, but right now this is the best way to do it.

I really appreciate your help guys.
I read your other answer @cpinter and i was trying to follow your instructions but Threshold Effect of CT from DICOMS became … I got strange surfaces in 3D… I supposed i was doing something wrong… Anyway, surfaces from STL files (its segmentations) change from perfect to ugly when I touch “Surface Smoothing” check and i was unable to came back to right visualization…

I´m trying @pieper solution and it looks the path… It improves machine needs and for any oversample over 2x, program crash when I put Show 3D button on. I have made a volumen crop throw a ROI and then oversample it till 5x. Surface quality after Threshold Effect is much better and results of substract Operator is better too.

It´s a bit tricky workflow and really cost demanding for the system resources but …

Thanks so much both.
Any other idea will be appreciated…