Hi there, as I was trying to train my nnunet model, I was having quite some issues with broadcasting due to images having different sizes/voxels/pixels. As I was looking into this, I realised different CTs of my patients have different spacing, aka voxel size, and different dimensions, aka different numbers of voxels along each axis. This has got me really confused. If a CT has bigger voxel sizes, does it mean it will subsequently have fewer voxels along each axis? e.g. Patient A who has 1x1x1 voxel size will have more voxels per axis, whereas patient B who has 2x2x2 voxel size will have less voxels per axis.
From what I can find, volume calculated by 3D slicer is using the formula “volume = voxel size x number of voxel.”, if voxel size and number of voxel along each axis does not have a linear relationship, does it mean I will have to resample the two CT images to make sure they have consistent voxel sizes etc. before I could compare them?
Sorry for this dumb question, but this has got me really confused..Thank you, I would greatly appreciate any input!
Yes, in a volume with isotropic 2mm spacing, one voxel would contain 2x2x2=8 voxels of another volume with an isotropic 1mm voxel size.
If you want to compare quantitatively (voxel by voxel), then you need to resample. Slicer has various modules for this, the most comprehensive one being Crop Volume.
If you want to compare visually, then you don’t need to resample. But in any case you will need to register the two volumes so that they overlap meaningfully.
Dimensions = matrix 512 x 512 x depth/thickness 3.0 /- which doesn’t really matter to the actual volume but more like how the scan was “sliced” in 3 dimensions irrelevant to the voxel size ( aka unlike if you have a small voxel you will have more number hence bigger dimensions)
And if I were to compare to two CT scans, for example, of their liver volume I will have to rescale them based off their voxel size so the dimensions reflect the actual number of voxel per volume?
Slice thickness is the third dimension, not inferior in any way to the in-plane resolution. If you have larger spacing between the slices, your voxels are “taller”. In fact, voxel means “3D pixel”. We don’t have a series of slices, but we have a 3D array of 3D voxels.
Not necessary. You can segment the liver in 3D and use the Segment Statistics module to get its volume in mm3. I recommend starting to read the Slicer documentation; every basic concept is explained there, which seem to be new to you. It will be a good place to start, and then you can ask specific questions about things you cannot find there.