Segment skin surface

Dear community,
since I just recently got to know the software 3D Slicer, I might need your help. I turned dicom ct scans into stl format and have a specific problem I couldn’t deal with so far: Is there a possibility to “remove all volume” out of the stl scans? I only need the surface/skin of the scan. The result I am looking for should basically be the most outward layer of the scan, like the cover of the whole scanned object. I already read a lot of instructions and watched tutorials but I haven’t found a solution yet :confused:
Is there anyone who can help me with that? Thank you very much in advance for any kind of help!

Kind regards,
Tony

These kind of operations are all available, but it is not clear what you would like to achieve.

Do you mean masking the volume: blank out all areas of the volume that are outside all segments?

Do you need a surface or a volume?

Thanks for your fast reply!

I just need the surface of a skull, the most outward layer of the scan, no volume at all. The final result should look like the image of a 3D-photography.
Thank you very much for your help!

To segment skin surface:

  • Open Segment Editor module
  • Extract skin surface using Threshold effect (choose appropriate threshold value and click Apply)
  • Remove speckles and other disconnected regions using Islands effect, “Keep largest island” option
  • Click “Create surface” to visualize the surface in 3D
  • If there are larger parts of the segment that are not needed, remove them using Scissors effect, either in 2D or 3D
  • Smooth the surface by Smoothing effect, Median option

If airways in the head are not filled then you can fill them by using island effect and brush tool or use the following sequence instead of simple thresholding:

  • Install SegmentEditorExtraEffects extension, restart Slicer
  • Open Segment editor module
  • Choose Flood filling effect, set neighborhood size to 5.0
  • Click outside the body => it should segment all areas outside the body without leaking into the airways
  • Invert the segment using Logical operators effect, Invert operation
2 Likes

Thank you for your detailed reply!
I followed the steps but the result isn’t as good as I hoped…

I think the main problem is, that it’s impossible to extract the skin by using the treshold effect since the airways, dura and also vessels got the same density in tissue that underwent formalin fixation.
I tried to remove the regions I am not interested in by using the eraser and the islands effect over and over, but this method takes a lot of time for removing every single voxel in critical areas f.ex. the area between the lips and the tongue.
So I am still wondering wether there’s an option for receiving a stl file only containing the most outward voxels of my skull without manually processing. Since I want to measure the distances of the skulls surface in 2 different ct scans that I turned into stl files (before and after an operation of the skull), I am looking for an option that excludes me as a potential error by not removing exactly the same voxels in the before and after operation scans. I hope you understand what I mean :S

Thank you for any kind of help in advance :slight_smile:

As long as there is a layer of material that has different density than air, Flood filling effect clicked on outside air should work. It will not leak into airways as long as neighborhood size is large enough.

Also, it is always an option to use ‘Grow from seeds’ or ‘Watershed’ effect. Create a segment and paint a couple of strokes inside the head, in multiple slices. Create another segment and paint outside in the air, in multiple slices. Then switch to ‘Grow from seeds’ or ‘Watershed’ effect and click initialize. Add more strokes where the segmentation results shown are not correct.

There are many segmentation tools. You have to spend some time with all of them to see what they can do (with slightly varying input parameters) and see which work the best for you.

If you can find similar data sets among sample data sets (in Slicer sample data or in TCIA database) or share anonymized data then I can try a couple of methods and let you know which of them seem the most promising.

1 Like

I followed all your advices but haven’t received a convincing result yet.
Since you offered to help me in case I get stuck again, herewith I would like to ask for support.

As I already said, I want to turn a dicom CT scan of a skull (fixation with formalin) into a stl file containing only the most outward, single layer of voxels of my skull, so the final result should look like an ultra-thin, hollow head with no structes, like airways or brain inside.

I tried the flood filling effect but my notebook didn’t manage to deal with settings like neighborhoodsize 7.0 or bigger which were needed to prevent leaking of airways.
So I tried again to manually erase the parts inside the skull after using treshold effect, but then, even though I had a quite good result, I couldn’t turn the edited scan into a stl file since it wasn’t possible to create a label map of or rather using the model maker effect (I hope it was the right way for getting my file ready to be saved as stl?).
In case you could show me, how to receive such a stl file, I would be extremly glad and thankful.

Thank you very much for any kind of help in advance.

Use the Crop volume module to decrease the file size so that tour notebook can handle it. Decrease the size of region of interest and/or increase spacing. With a spacing factor of 2x, memory need is decreased by 8x.

1 Like

Hi Tony,

Recently, I had a similar task with yours (6 years ago). I wonder which method did you finally select to extract the body skin?

Best,
Chuan

See a segmentation recipe for a fully automatable skin surface extraction method: Overview | 3D Slicer segmentation recipes

Hi Lassoan,

Thanks for your sharing, but there is one problem: what I get is not an outer surface but a volume filled inside.
Do you know how to get the only outer surface?

Best regards,
Chuan

The filling is just visualization, to make it easier to see what is inside and outside of each segment. You can turn off the filling in “Display” options in Segmentations module.

If you mean how to write the segmentation to a surface mesh file, you can follow these instructions.

1 Like

Hi Lassoan,

Thank you very much for your help. Even though the wrap solidity is not perfectly ideal (it will not only automatically fill the body inside, but also fill the gap between legs and arms/ fingers, as shown below), now I know how to extract the outer surface!

Best regards,
Chuan

You can remove tendinitis thin membranes by additional processing. For example, use Margin effect to shrink until the membrane disappears and then dilate the same amount to get back to the original size.