## Appendix A MATLAB User File  
foldername = 'folder with GTVseg';  
cd 'to your working directory';  
for ns = 1:length(s)  
filename = ['GTVsegmentation_pt' num2 str(s(ns)) '.mat'];  
files = load(fullfile(foldername,filename));  
names=fieldnames(files);  
for int= 1:size(names,1)  
volume = files. (names[int,1]);end  mask=volume;  mask(mask=0)=1; % thresholding  volume_low = 800 <= volume;  volume_high = volume <= 1300;  volume = volume. *volume_low;  volume = volume. *volume_high;  texture = zeros(1,43); % Specify the Quantization level  for Qsize = 128  % choose quantiser  % [[https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox/Pre-processing](https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox/Pre-processing)]([https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox/Pre-processing](https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox/Pre-processing))  /prepareVolume.m  GUQ  [ROIonly_levels] = prepareVolume(volume,mask,'Other','pixelW','sliceS',1,'pixelW', 'Matrix','UniformRange',Qsize); % IUQ  [ROIonly_levels] = prepareVolume(volume,mask,'Other','pixelW',sliceS',1,'pixelW', 'Matrix','Uniform',Qsize); ROIOOnly = ROIOonly;  
% generate texture features using toolbox  % [[https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLCM/getGLCM.m](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLCM/getGLCM.m)]([https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLCM/getGLCM.m](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLCM/getGLCM.m))  % implements quantiser from toolbox  % [[https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox](https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox)]([https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox](https://github.com/mvalliieres/radiomics/blob/master/TextureToolbox))  /Pre-processing/Quantization/equalQuantization.m  [GLCM] = getGLCM(ROIonly_levels);  [textures] = getGLCMtextures(GLCM);  texture(Qsize,1:9) = [textures.Energy textures.Contrast textures.Entropy textures.Homogeneity textures.Correlation textures.SumAverage textures.Variance textures.Dissimilarity textures.AutoCorrelation];  
% [[https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLSZM/](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLSZM/)]([https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLSZM/](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLSZM/)) getGLSZM.m  [GLSZM] = getGLSZM(ROIOOnly_levels);  [textures] = getGLSZMtextures(GLSZM);  texture(Qsize,10:22) = [textures.SZ textures.LZE textures.GLN textures.ZSN textures.ZP textures.LGZE textures.SGZE textures.SZHGE textures.LZLGE textures.LZHGE textures.GLV textures.ZSV];  
% [[https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLRLM/](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLRLM/)]([https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLRLM/](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/GLRLM/)) getGLRLM.m  [GLRLM] = getGLRLM(ROIonly_levels);  [textures] = getGLRLMtextures(GLRLM);  texture(Qsize,23:35) = [textures.SRE textures.LRE textures.GLN textures.RP textures.LGRE textures.HGRE textures.SRLGE textures.LRLGE textures.LRHGE textures.GLV textures.RLV];  
% [[https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/NGTDM/](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/NGTDM/)]([https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/NGTDM/](https://github.com/mvalliieres/radiomics/tree/master/TextureToolbox/NGTDM/)) getNGTDM.m  
**[NGTDM,countValid]** = getNGTDM(ROIOnly,levels);  
**[ textures]** = getNGTDMTextures(NGTDM,countValid);  
**texture(Qsize,36:40)** = { textures.Coarseness textures.Contrast textures.Busyness textures.