Pyradiomics: Is "3D feature(by-slice)" the average of 2d-slice features derived from the whole 3d ROI?

Created on 24 Aug 2018  ·  5Comments  ·  Source: AIM-Harvard/pyradiomics

Is "3D feature(by-slice)" the average of 2d-slice features derived from the whole 3d ROI?

thx

question

Most helpful comment

No, slices are combined. E.g. in case of GLSZM, 1 matrix will be built using voxels from all slices. The difference is that in 3D, adjacent voxels on other slices are considered neighbors, in force 2D only adjacent voxels on the same slice are neighbors. This causes the zones to be 3D and 2D, respectively.

In case of GLCM, GLRLM, there is one matrix created for each angle (offsets indicating where the neigbor is). Features are then calculated for each matrix and an average is returned. In case of 3D extraction, those angles describe offsets that move in-plane, out-of-plane or both. In case of 2D, only the in-plane angles are retained. I.e. less matrices are calculated, but those that are, are identical to those calculated in 3D

All 5 comments

What do you mean by 3D feature(by-slice)? Where does it mention this?

PyRadiomics has both 3D and 2D extraction, with the difference being that for 2D, no offsets that moves between slices are used. Therefore, there is no difference in firstorder or shape features and for texture features, all slices are combined, e.g. GLSZM only defines 2D zones, GLRLM just the in-plane runs and GLCM/NGTDM/GLDM only consider in-plane adjacent voxels to be neighbors.

"force2D [False]: Boolean, set to true to force a by slice texture calculation. Dimension that identifies the ‘slice’ can be defined in force2Ddimension"

Given 3D ROI and setting "force2d=True ", how will the feature values combined? every slices have their onw texture feature value, e.g. if A ROI has 32 slices and force2D is True, there will be 32 GLSZM values , right? ,how will these values combined? average ?

No, slices are combined. E.g. in case of GLSZM, 1 matrix will be built using voxels from all slices. The difference is that in 3D, adjacent voxels on other slices are considered neighbors, in force 2D only adjacent voxels on the same slice are neighbors. This causes the zones to be 3D and 2D, respectively.

In case of GLCM, GLRLM, there is one matrix created for each angle (offsets indicating where the neigbor is). Features are then calculated for each matrix and an average is returned. In case of 3D extraction, those angles describe offsets that move in-plane, out-of-plane or both. In case of 2D, only the in-plane angles are retained. I.e. less matrices are calculated, but those that are, are identical to those calculated in 3D

@JoostJM I think it would be good to add this explanation to the documentation, if it's not already there! I think this question came up before.

Understand know, thank u

Was this page helpful?
0 / 5 - 0 ratings