The segmentation image saved from 3D slicer does not match the main image in itk snap, but based on the same dicom images. How to fix it? i need the semi-auto segmation function of the 3D slicer.
Slicer saves a segmentation node in a 4D image, because all the segments are stored in one file. Other software expecting 3D images will not read it properly.
You can export the segments to labelmap nodes by right-clicking the segmentation in the Data module, and choose “Export visible segments to binary labelmap”. Then you can save these labelmaps in individual nrrd files. ITK-Snap can read these.
Just out of curiosity: why are you using ITK-Snap when you already use Segment Editor? My hunch is that everything you want to do can be done in Slicer. Please let us know.
Thank you.You are right, and I have solved this problem.
Because when I use another software to read the segmentation file from 3D slicer, it warning mismatch file size. Then I use itk snap to verify this problem.
I see. Yes, the 4D seg.nrrd files are a convenience format for Slicer-only. You need to split the segmentation to labelmaps and save those for interoperability.
You can also use the Segmentations module to export individual segments into labelmaps. If you specify our image volume as reference (as shown in the screenshot below), the geometry should match.
Note that some tools use very small default tolerance thresholds while determining if the geometry is identical, and may still complain about the inconsistency.
I was trying to obtain the 3D segmentations maps as well, with the same dimensions as my CT images.
As mentioned, I tried to export the visible segments to binary labelmap. However, the segmentation is still “cropped” and doesnt match the dimensions of the CT.
I also tried to “export” the individual segments into labelmaps, using the CT as a reference, however clicking on the export button I don’t get anything
Is there a way to save the segmentations having the same dimensions as the CT?
For old data (seg.nrrd files obtained from version 4.XX), what are good ways to resize it to the same dimensions as the reference volume using Python (outside of the Slicer environment)?I used sitk.ResampleImageFilter() to resize, but I got incorrect results when the spacing difference is large (resample.SetInterpolator(sitk.sitkNearestNeighbor)). Thank you for your help.