Skip to content

Global radiomics feature calculation parameters

Aditya P. Apte edited this page Jul 13, 2017 · 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: No parameters are required for the first order features; hence no need to add to it.

  • 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.
Clone this wiki locally