How to calculate 2D Radiomics features for each slice of a 3D volume with a 3D mask


I’m trying to calculate the radiomics features for each slice of a 3D volume with a 3D mask.

I’ve been reading but nothing is very clear.

I wonder if I will have to split the 3D volume and the 3D mask in 2D images and then calculate the features in each 2D image.

I’m using 2.2.0b1 pyradiomics.

Thank you very much!!!.

This is not supported directly in PyRadiomics, though something similar is mentioned in the IBSI work document, where features can be calculated per-slice, then averaged over slices. The reason this is not implemented in PyRadiomics is that we feel it places unreasonable high emphasis on voxels located on slices with few voxels segmented (as there they have a larger influence on the calculated feature value, which are weighted equally when averaging over slices).

If you want to calculate this, you can use the same 3D volume, but update your mask so, that the ROI has a different label value on each slice. Then calculate features for each slice by specifying the label value for each slice in consecutive calls to featureextractor.execute. In the SlicerRadiomics module, features are calculated automatically for all available label values I believe.

Finally, v3.0 has been released which implements important changes.

1 Like

Thank you very much,

Very clear.