Download these data files (here):
- DataFile1_PT_Anonym.zip
- DataFile1_PT_Anonym_RoiVolume_healthy.nii.zip
- DataFile1_PT_Anonym_RoiVolume_tumor.nii.zip
Unzip all zip files.
Create the script file Texture_Script.txt (see example of script below).
Edit the script and remplace all the "WD" by your working directory:
- ex on Linux: WD=/home/me/LIFExControlQualitySet
- ex on Mac: WD=/home/me/LIFExControlQualitySet
- ex on Windows: WD=C:/Users/me/LIFExControlQualitySet
Run:
- drag and drop the script file into LIFEx (left side after having selected texture protocol)
- results are saved in DataFile1_PT_Anonym_TextureResults.csv
Here, an example of script with unable all filters (save in txt format, not rtf):
The script is only a demonstration of writing code.
Please consider that all the values contained are inappropriate for your case study and must be checked one by one.
########################################################################
# filter
########################################################################
#filter: Laplacian of Gaussian (LoG) (LIFEx>=7.0.0) [ true || false ]
LIFEx.filter.LoG.Enable=false
#filter: Laplacian of Gaussian (LoG) [ 3D || 2D ]
LIFEx.filter.LoG.DimensionProcessing=3D
#filter: Laplacian of Gaussian (LoG) [ Reflect || Periodic || Edge || Zero ]
LIFEx.filter.LoG.PaddingMethod=Reflect
#filter: Laplacian of Gaussian (LoG) [ unit mm ]
LIFEx.filter.LoG.Sigma.z=7
LIFEx.filter.LoG.Sigma.y=2
LIFEx.filter.LoG.Sigma.x=2
#filter: Mean (LIFEx>=7.0.0) [ true || false ]
LIFEx.filter.Mean.Enable=false
#filter: Diameter Kernel Size (vx) [ integer value ]
LIFEx.filter.Mean.DiameterKernelSize=3
#filter: PaddingMethod [ Reflect || Periodic || Edge || Zero ]
LIFEx.filter.Mean.PaddingMethod=Reflect
#filter: Wavelet (LIFEx>=7.0.0) [ true || false ]
LIFEx.filter.Wavelet.Enable=false
#filter: Transform along Z axis(only for 3D) [ true || false ]
LIFEx.filter.Wavelet.ZTransform=true
#filter: Family [ Coiflets || Biorthogonal || Daubechies || Haar || Reverse biorthogonal || Symlets ]
LIFEx.filter.Wavelet.Family=Coiflets
#filter: Order [ integer value ] cf. documentation for values
LIFEx.filter.Wavelet.Order=1
#filter: Level [ constant integer value ] cf. documentation for values
LIFEx.filter.Wavelet.Level=1
#filter: PaddingMethod [ Reflect || Periodic || Edge || Zero ]
LIFEx.filter.Wavelet.PaddingMethod=Reflect
#filter: Laws (LIFEx>=7.0.0) [ true || false ]
LIFEx.filter.Laws.Enable=false
#filter: Kernel Size (vx) [ L3 || L5 || E3 || E5 || S3 || S5 || W5 || R5 ]
LIFEx.filter.Laws.ZKernelSize=L3
LIFEx.filter.Laws.YKernelSize=L3
LIFEx.filter.Laws.XKernelSize=L3
#filter: PaddingMethod [ Reflect || Periodic || Edge || Zero ]
LIFEx.filter.Laws.PaddingMethod=Reflect
########################################################################
# texture #
########################################################################
#texture: Common (LIFEx>=5.1.0)
LIFEx.texture.BinSize=0
LIFEx.texture.NbGrey=64
LIFEx.texture.SessionCsv=WD/DataFile1_PT_Anonym_TextureResults.csv
#texture: Absolute (LIFEx>=5.1.0) [ true || false ]
LIFEx.texture.ButtonAbsolute=true
LIFEx.texture.MinBound=0
LIFEx.texture.MaxBound=20
#texture: RelativeMeanSd (LIFEx>=5.1.0) [ true || false ]
LIFEx.texture.ButtonRelativeMeanSd=false
#texture: RelativeMinMax (LIFEx>=5.1.0) [ true || false ]
LIFEx.texture.ButtonRelativeMinMax=false
# SpatialResampling (0 = no spatial resampling = native spacing voxels)
LIFEx.texture.ZSpatialResampling=0
LIFEx.texture.YSpatialResampling=0
LIFEx.texture.XSpatialResampling=0
#texture: DistanceWithNeighbours (LIFEx>=5.1.0)
LIFEx.texture.GLCM.DistanceWithNeighbours=1
#texture: dimension calculation (3D is default) (LIFEx>=5.1.0) [ 3D || 2D ]
LIFEx.texture.DimensionProcessing=3D
# Patient0
LIFEx.texture.Session0.Img0=WD/DataFile1_PT_Anonym
LIFEx.texture.Session0.Roi0=WD/DataFile1_PT_Anonym_RoiVolume_healthy.nii
LIFEx.texture.Session0.Roi1=WD/DataFile1_PT_Anonym_RoiVolume_tumor.nii
# Patient1
LIFEx.texture.Session1.Img0=...{to define}
LIFEx.texture.Session1.Roi0=...{to define}
LIFEx.texture.Session1.Roi1=...{to define}