How can I increase the resolution of a current segmentation?
The master volume has its own quality and we cannot increase it but I want a segmentation with higher quality. I tried to crop the master volume with the spacing scale of 0.5 and with both linear and B-spline interpolators. However, it seems not to be working. Is this the correct way of doing what I am looking for or there other ways too?
Thanks in advance.
Using Crop volume module to crop and resample is a good way to create higher-resolution segmentation than the original image.
If you change the segmentation geometry then the same happens anyway inside the segment editor (the master volume gets automatically resampled to match geometry of the segmentation).
I don’t want to hijack the thread, but that’s not what I am observing in my tests. Oversampling seems to only change the segmentations geometry, doesn’t seem to change the geometry of the master volume at all (confirmed by checking property of the master in the volumes module after the segment geometry operation). Am I missing something? Or is this meant to be on-the-fly, non-persistent kind of thing?
When a segment editor effect asks the segment editor for the “master volume” it gets a volume that conforms to the internal labelmap’s geometry. This volume is generated internally, automatically, by converting the master volume to single-component scalar volume and resample to the internal labelmap geometry (applying all relative transforms, including non-linear warping). This resampled volume does not appear in the MRML scene, only available to the segment editor effects. You can access that image data by calling:
segmentEditor = slicer.modules.segmenteditor.widgetRepresentation().self().editor segmentEditor.effectByName('Threshold').masterVolumeImageData()