As a newcomer to the field of fMRI, I recently encountered an issue when attempting to understand how to calculate voxel size from DICOM data (similar to the problem described in Calculating voxel resolution from DICOM headers, but I was unable to find the information I needed).
Specifically, I have a set of BOLD data with a FOV of 100mm, a matrix size of 64 * 64, and a slice thickness of 3.5mm. Based on most books and tutorials, the voxel size should be calculated as FOV/matrix * FOV/matrix * slice thickness, which would give a value of 1.56mm * 1.56mm * 3.5mm.
However, upon examining the DICOM data, I discovered that the Spacing between slices was actually 4.2mm, and the Pixel Spacing was (3.5, 3.5). As a result, when I converted the DICOM data to nii format, several software packages (like nilearn, mricron) showed that the voxel size was actually 3.5 * 3.5 * 4.2.
I am quite confused about the relationship between these concepts. If I have any misunderstandings, please kindly let me know. Thank you!
With DICOM MR images you need to disambiguate the thickness of the slice excited versus the distance between slice centers. We normally think of a 3D volume as a loaf of bread that has been sliced into contiguous slices. With this analogy, consider that we use a saw with a very thick blade to cut our loaf: if we stack the slices they are not as tall as the original loaf, as the spaces between the slices have been lost. In EPI scans (e.g. fMRI and DTI sequences) we often place a gap between slices so they are not spatially contiguous. In your example we excite a 3.5mm slice but leave a 0.7mm gap between each slice. This slice gap reduces the interference between slices. See this post for more details.
But if you use fslhd to report the spatial dimensions it reports the dim[3] is 3.6mm. In this case, you have 3mm thick slices, with a 0.6mm gap.
I am more puzzled by your claim that the field of view of your image is 100mm, as it looks like dcm2niix has identified the FoV as 224mm. I am going to make a guess that the Percent Phase Field of View (0018,0094) is 100, and you are mistaking the unit % for mm. 100mm would be to small for an adult human brain, while 224mm sounds apprpriate.
Thank you for your thorough and informative answer!
You are right about the FOV here, the value 100 was actually read from Percent Phase Field of View.
It looks like the 224mm FOV comes from 3.5mm * 64. Is there a way to get the FOV directly from the DICOM file? Or do we have to calculate it based on the matrix size and pixel spacing?
Additionally, when reporting spatial dimensions with gaps, would it be more appropriate to report the slice thickness as 3mm plus the 0.6mm gap, or should we report the voxel size as something like 2mm x 2mm x 3.6mm directly?