Approach to extract/segment skull of a MRI scan

Operating system: Linux
Slicer version: 4.10

Hey everybody,
I am looking for an approach to extract the complete skull reliably and accurately from an MRI of the head. My previous attempts with the Segment Editor and various additional extensions have not yet yielded satisfactory results. I have the feeling to overlook something, maybe some special tool or a crucial setting…

The dataset is a T1mprage. The biggest problem I see is that the bone has a rather heterogeneous structure. That’s why thresholding doesn’t work so easily…

I would be very grateful for any new approach or perhaps someone has already had good experience with a certain method.



Hi SvK,

Have you found a solution for this?
I just started using 3D Slicer and I want to see if I can get out the shape of my skull from my MRI


A good way is to use SPM12 based on Matlab,it can extract skull from T1MR .

No need for Matlab for MRI skull stripping. There are multiple extensions for 3D Slicer that can do it:

  • HDBrainExyraction: uses deep learning, very robust and accurate, takes 10-20 seconds if you have CUDA-capable GPU, several minutes if running on the CPU
  • SwissSkullStripper: classic registration-based method, not as robust or accurate, but good enough if you use atlas image that is similar to your input image.

However, the question was if it was possible to get the skull and remove everything else. This is a much harder task, because MRIs in general and particularly brain MRIs are optimized for imaging of soft tissues. Bone and air both appear as dark regions. You can try to segment these dark regions and your may get a shape that resembles the skull but it will be very noisy. If you want to get a detailed, accurate depiction of your skull then to can get it from a CT.

If you don’t need clinical accuracy (e.g., an art project) then your can warp someone else’s head CT to your MRI using image registration (by SlicerElastix or SlicerANTs extensions).