Does anyone know if there is a module to perform skull stripping using FreeSurfer (Watershed and SynthStrip methods) within 3D Slicer?
If not, are there any existing extensions where such a module could be added (e.g. SlicerFreeSurfer), or should I create a new extension for this purpose? One consideration is that it would depend on FreeSurfer, which is quite a large software and is not a dependency of any existing FreeSurfer 3D Slicer extensions/modules that I have found so far.
It’s not wrapped as a Slicer extension, but it’s pretty easy to install and use SynthSeg in an external python environment. The results can be used for SkullStripping (and more) and it’s very robust.
If someone feels like taking it on, adding a SlicerSynthSeg extension would be worth doing, although as we’ve seen with TotalSegmentator there is likely to be a lot of installation support as people try to use it on various systems.
One potential limitation of SynthSeg is that “SynthSeg always give results at 1mm isotropic resolution, regardless of the input.”
I’ve started developing an extension with Python CLI modules that uses a user’s existing FreeSurfer installation to run the FreeSurfer commands while handling the conversion between Slicer and FreeSurfer image types. This would allow any FreeSurfer commands to be added as modules in Slicer (including SynthSeg, which is now included in FreeSurfer as well).
There several skull strippers in Slicer already: SkullStripper, SwissSkullStripper, HDBrainExtraction. If you have a GPU then I would recommend HDBrainExtraction, computation then takes about 20 seconds. It does not resample to 1mm isotropic resolution and it can provide the brain mask, too.
4GB is only suitable for visualization but insufficient for running most neural networks. If you want to use your GPU for data processing then get one with at least 16GB memory, but if you want to use it for a few years then it safer to buy one with 24GB.