Greetings expert team. Much obliged for your great invention and maintanance of pyradiomics!
I’m currently working on some MRI T2WI data, consecutively delineating 2D ROIs in each slice on the coronal plane. I noticed that my MRI data have different slice thickness, including 3mm and 5mm. Relative literature suggests that resampling should be done in such scenario, but as I refer to the exampleMR_NoResampling.yaml settings in the pyradiomics folder, I learn that force2D is recommended to handle the anisotropic data, which means I should use this setting:
force2D: true
force2Ddimension: 0
Am I correct?
Thank you in advantage for a request.
Thank you for your kind reply. I’m not so sure about the force2Ddimension setting. To my understanding, value 0 identifies the out-of-plane dimension - ‘z’ dimension, resulting in features being extracted from the working-plane(xy plane). You can refer to this post: Forced2D extraction dimensions (google.com).
Correct. However, the x, y and z planes are relative to the image axis, not the real-world axis. Therefore, it is possible that even though the MRI is coronal, the z dimension is the one you want tot set as the force2D dimension. Easiest way of checking this is to run a small extraction and take a look at the diagnostic features. These should include the spacing, e.g. (1, 1, 3), where ‘3’ will identify the slice thickness.
To make everything more confusing, this means you should set the dimension to 0.
This is because the spacing is the reflection of the SimpleITK image object, which lists spacing as xyz, while the force2Ddimension applies the the numpy array view, which is in zyx.