How can we scale up/down a whole segmentation?
I want to do it in segment editor by changing the size of the main volume, but it seems that my RAM is not enough for that. I am wondering whether there is a way to scale a segmentation without changing the size of the main volume.
Thanks in advance
Can you clarify what you mean by this?
If you want to increase the resolution of your segmentation, you can use the segment geometry settings Oversampling option to do that. Putting in 2 as an oversampling factor will increase the memory usage 8 folds. So if you don’t have enough RAM on your computer you may encounter issues or sluggishness. See this thread
If this is not what you want to do, please explain more.
Thank you for your explanations @muratmaga. Actually what I want to do is to make the whole model smaller for exporting related tasks and post processing. Therefore, the main volume is not important for me at this step and I do not need it anymore. Therefore, I wanted to know the easiest way to scale down a segmentation/model without changing the main volume.
I get this error when I want to scale down the volume:
Any help is greatly appreciated.
As the error message states, you need to increase swap size in your system settings or add more RAM if you want to oversample the segmentation or input volume.
However, from what you describe, it seems that you want to decimate the segmentation (reduce number of points and triangles in the mesh without changing its geometry), which can be achieved using “Decimation” module (after exporting the segmentation to closed surface).
What module/function are you using that generates this error?
Thanks for your response @lassoan. I tried to use Decimation module but it seems that it is not what I want. In fact, I want to change the geometry somehow. I want to make my whole model smaller and not reducing the number of points of the same size model.
I got this in “Segmentation geometry” section of the segment editor module.
You can change physical scale of segmentations when you export to files or using Surface Toolbox module (Scale mesh) or apply a transform in Transforms module (scaling factors are the 3 diagonal values in the first 3 columns).
Remember it is the option is to oversample. If you are trying to reduce the detail, you need to put a number less than 1. However, this may cause loss of detail in your segmentation.
Perhaps you can first export the segmentation as a model, and then use the
Surface Toolbox's Decimation option to reduce the model detail.
Thank you very much @lassoan. I think the “Surface Toolbox” is very close to what I want. Just one question:
How can we increase the limitation of the number of input decimals. It seems that only two decimals can be used as scale factor by default.
Thank you very much for your response @muratmaga. I think the best way for me is to use “Surface toolbox” module as you mentioned and there I can scale down my model.
You can increase the decimal digits by hitting Ctrl++.
However, both the need to scale down the model and use a very specific many-digit scaling factor are things that should normally not needed. Why do you need to change the physical scale of your model?
Thanks for your response @lassoan. I want to scale my segmentation (which is related to a very small organ) to its real physical dimensions and export it.
Does this combination (ctrl and +) work in all modules of slicer for increasing decimal digits? For me, it works in the “Surface Toolbox” module but it seems not to be working in the “Create models” module. Do you have any ideas in this regard?
Thanks in advance
This keyboard shortcut is enabled by default in all ctkDoubleSpinBox widgets. We can enable it in Create Models module, too.
Thanks for your response @lassoan. How should I enable it? Is this possible for you to kindly enable it?
I’ve enabled it now. You can enter arbitrary number of decimals in SlicerIGT extension from tomorrow (in latest Slicer Preview Release and if you update SlicerIGT in latest Stable Release).
Thank you so much @lassoan.
would scaling up/down change the volume (quantification) using segment statistics? If yes, by which factor you can correct it? e.g. if your scaling factor is 0.2, and your volume reading on segment statistics is 20000cm3, do you need to multiply the 20000 with 0.2^3 to get the correct volume of the segment? or if there is any other way to get the correct value for volume. Thanks
Appply a limear transform woth values on the doagonal thay rqusl your svaleFactor
Sorry Im on my hpone