Is it possible to shrink/grow a segmentation by relative measure based on its volume?

Hi, I am searching for a functionality to shrink/grow a segmentation by a ratio of its volume instead of by absolute values via “Margin”.
So something like “isotropic increase of volume by x%”.
Any hints?
Thanks in advance!

Operating system: WIn10
Slicer version: 4.10.2
Expected behavior:
Actual behavior:

1 Like

You can increase/decrease volume of a segment by applying a scaling transform. You can easily compute the scaling factor from the amount of volume growth you want to achieve.

However, you might prefer margin growing instead of scaling, as it is more similar to tissue growth. Amount of volume increase due to margin growing depends on the shape of the segment, so you need to do a couple of iterations to find the margin that leads to the desired volume change. You can speed up computation of these iterations by a bit of Python scripting, which computes a distance map from the segment labelmap once and tries different threshold values on that.

2 Likes