Shaped-based or label gaussian interpolator for segmentation upsampling

For a 3d volume of low resolution images, I have 3 different segmented classes. Because of the low resolution, the edges of the segments look rather jagged. I know that in fact, the ground truth of my image has rather smooth and continuous edges (the edges of brain regions). I would like a way to artificially upsample and smoothen my segmentations, ideally retaining the joint tightness (as in the joint smoothening function). The issue is that interpolating or blurring the discrete segmentation mask values results in intermediate pixel classes, but if I use “nearest neighbor” it retains the jaggedness of the image. (p.s., it is not possible for me to draw the segmentations again from an upsampled raw volume).

Something like this might be close to what I’m after:

Label-Gaussian (multi-label) interpolator (above)
or even
Generic multi-label interpolator module

Does 3d slicer have any built in tools or workflows to implement this?

The smoothing tool in the Segment Editor should do what you need. Or you can install itk in Slicer and use it directly too.

Thanks for your message. Apologies, I realized I didn’t emphasize that the “jaggedness” was arising specifically from not having enough pixels in the segments (see image below) because the original volume was also pixelated. I actually had some luck with clicking on the “segmentation geometry” button in the segmentation editor, and increasing the sampling by a factor of 2. Next, on the upsampled segments, I ran the joint smoothening tool.

Still curious how to try more of the ITK methods (like gaussian interpolator). I can’t find ITK extensions for slicer. Any advice on how to get these?

Yes, upsampling should help in this case.

ITK is used a lot under the hood in Slicer, plus there’s the SimpleFilters module that exposes a lot of features.

You can run arbitrary scripts with SimpleITK too, and I understand now that the ITK python package can be used directly, although I haven’t had a reason to try that out and see what the difference are.