-
Notifications
You must be signed in to change notification settings - Fork 104
Global radiomics feature calculation parameters
Aditya P. Apte edited this page Mar 23, 2018
·
28 revisions
The parameters supplied to the global radiomics feature calculation are supplied via the paramS
Matlab data structure. paramS
has 5 fields containing the parameters required for calculating the first order, higher order, shape, peak/valley and IVH based features.
First, initialize Matlab data structures for each type of global radiomics feature
firstOrderParamsS = struct;
higherOrderParamS = struct;
shapeParamS = struct;
peakValleyParamS = struct;
ivhParamS = struct;
whichFeatS = struct;
The next task is to populate the data structures defined above with parameter fields and values.
- First order feature parameters:
The only parameter required is the offset to calculate the rms, energy and total energy features. The image intensities are offset by this value before computing the RMS, Energy and TotalEnergy features. Typically, set to 1000 for CT scans and 0 for other modalities with (+)ve image intensities.
paramS.firstOrderParamS.offsetForEnergy = 1000; % 0 for PET SUVs.
- Higher order feature parameters:
higherOrderParamS.minIntensity = -140; % minimum clipping intensity. Values less than this are clipped to this value.
higherOrderParamS.maxIntensity = 195; % maximum clipping intensity. Values greater than this are clipped to this value.
higherOrderParamS.numGrLevels = 32; % number of gray levels
higherOrderParamS.patchRadius2dV = [1 1 0]; % neighborhood patch radius [rows,cols,slcs]. Note that the third parameter (slices) is 0 for 2-d calculation.
higherOrderParamS.patchRadius3dV = [1 1 1]; % neighborhood patch radius [rows,cols,slcs]. For this example, the patch will extend 3x3x3 rows/cols/slices.
higherOrderParamS.imgDiffThresh = 0; % The threshold for similarity (the paramater "a" in the original paper) as defined in NGTDM.
paramS.higherOrderParamS = higherOrderParamS;
- Shape feature parameters:
shapeParamS.rcsV = [100 100 100]; % [numRows, numCols, numSlics] to resample the scan. This should be chosen to create a fine enough mesh without too much computational overload.
paramS.shapeParamS = shapeParamS;
- Peak/valley feature parameters:
peakValleyParamS.peakRadius = [2 2 0]; % the neighborhood patch radius for averaging intensities.
paramS.peakValleyParamS = peakValleyParamS;
- IVH feature parameters:
ivhParamS.xAbsForVxV = -140:10:100; % CT, 0:2:28; % PET. Vector of absolute intensities.
ivhParamS.xForIxV = 10:10:90; % Vector of percentage volumes
ivhParamS.xAbsForIxV = 10:20:200; % Vector of absolute volumes [cc]
ivhParamS.xForVxV = 10:10:90; % Vector of percent intensity cutoff
paramS.ivhParamS = ivhParamS;
- Types of features to calculate:
whichFeatS.shape = 1;
whichFeatS.harFeat2Ddir = 1;
whichFeatS.harFeat2Dcomb = 1;
whichFeatS.harFeat3Ddir = 1;
whichFeatS.harFeat3Dcomb = 1;
whichFeatS.rlmFeat2Ddir = 1;
whichFeatS.rlmFeat2Dcomb = 1;
whichFeatS.rlmFeat3Ddir = 1;
whichFeatS.rlmFeat3Dcomb = 1;
whichFeatS.ngtdmFeatures2d = 1;
whichFeatS.ngtdmFeatures3d = 1;
whichFeatS.ngldmFeatures2d = 1;
whichFeatS.ngldmFeatures3d = 1;
whichFeatS.szmFeature2d = 1;
whichFeatS.szmFeature3d = 1;
whichFeatS.firstOrder = 1;
whichFeatS.ivh = 1;
whichFeatS.peakValley = 1;
paramS.whichFeatS = whichFeatS;
- The
toQuantizeFlag
flag specifies whether to quantize the input scan
paramS.toQuantizeFlag = 1; % 1: yes quantize, 0: don't quantize, the input scan is already quantized.