Hey everyone,
I’m new to slicer and I am a bit confused about all the different possible types of 3D data.
Terms used in the documentation and tutorial videos are volumes, models, and segmentations, as well as labelmaps, volumetric ROIs, subtraction maps, segmentation nodes, markups and masks. Is there documentation on what the differences between especially the first three are?
For example, some modules I have tried to segment the skull in an MRI image give me a volume, others give me a segmentation. Why and what does that mean to me in practice?
I seem unable to find information on this and other problems I have with 3D slicer. Am I using the wrong strategy (e.g. googling ‘3d slicer subtraction maps’)?
Volume: 3D array of voxels, such as CT, MRI, PET, … images. It has a few subtypes, such as:
scalar volume: each voxel store a continuous value, such as intensity or density value
labelmap volume: each voxel value stores a discrete value, for example an index of a color in a color table; this can store segmentations (index value refers to segment number)
vector volume: each voxel contains a vector, can be used to store color images, displacement fields, etc.
Model: surface mesh (such as an STL file), or volumetric mesh (such as a tetrahedral mesh for finitie element analysis)
Segmentation: stores a segmentation a.k.a. ROI, mask, contour. It can have various representations internally (binary labelmap, closed surface, etc.) and can be easily converted
Markups: points, lines, angles, curves, planes, etc. defined typically by a set of control points
@jcfr it would be great if you could set up ReadTheDocs for documentation - I would add the above information to an documentation page there.
Thank you for the explanation, I wonder if you could expand on this topic in terms of the case uses of when is one data type preferred over another one.
You may want to refer to a biomedical image analysis handbook of sorts to understand what each data modality is preferred for. But in very broad terms you need:
Volumes when the intensity information is relevant to your analysis (as different tissues may be represented by different intensity signals. Segmentation is the process of converting to intensity information to binary representation (e.g., you are segmenting a tumor. It doesn’t matter the intensity differences, as long as you identify the region as a tumor). You discard the intensity information. From segmentations, you can drive Label maps which are binary images that can be used to mask/crop regions, can be used to calculate volumes/masses or structure, Finally, you can drive 3D models from segmentations, which are geometric representations of the structures.
Depending on the analysis, sometimes you want to work on the intensity volume, sometimes on the label map or sometimes on 3D model.