Main Content

textureFeatures

Radiomics texture features

Since R2023b

    Description

    example

    T = textureFeatures(R) computes the radiomics texture features T for the radiomics object R.

    T = textureFeatures(R,Name=Value) specifies additional options using one or more optional name-value arguments.

    Examples

    collapse all

    Import a computed tomography (CT) image volume and the corresponding ROI mask volume from the IBSI validation data set [1][2][3] as medicalVolume objects.

    unzip("CTImageMaskNIfTI.zip")
    data = medicalVolume("CT_image.nii.gz");
    roi = medicalVolume("CT_mask.nii.gz");

    Visualize a slice of the CT image volume and the corresponding ROI.

    figure
    imshowpair(data.Voxels(:,:,20),roi.Voxels(:,:,20),"montage")

    Create a radiomics object, using the CT image volume and ROI mask volume, with default preprocessing options.

    R = radiomics(data,roi)
    R = 
      radiomics with properties:
    
                                 Data: [1x1 medicalVolume]
                             ROILabel: [1x1 medicalVolume]
                             Resample: 1
                            Resegment: 1
                           Discretize: 1
                        DiscretizeIVH: 1
                ResampledVoxelSpacing: 1
                   DataResampleMethod: 'linear'
                   MaskResampleMethod: 'linear'
                  ResegmentationRange: []
                      ExcludeOutliers: 1
           DiscreteBinSizeOrBinNumber: []
                       DiscreteMethod: 'FixedBinNumber'
        DiscreteIVHBinSizeOrBinNumber: []
                    DiscreteIVHMethod: 'FixedBinNumber'
    
    

    Compute the grey level co-occurrence matrix (GLCM) texture features of the ROI in the 2D-resampled CT image volume.

    I = textureFeatures(R,Type="GLCM",SubType="2D")
    I=1×51 table
        LabelID    JointMaximumAveraged2D    JointAverageAveraged2D    JointVarianceAveraged2D    JointEntropyAveraged2D    DifferenceAverageAveraged2D    DifferenceVarianceAveraged2D    DifferenceEntropyAveraged2D    SumAverageAveraged2D    SumVarianceAveraged2D    SumEntropyAveraged2D    AngularSecondMomentAveraged2D    ContrastAveraged2D    DissimilarityAveraged2D    InverseDifferenceAveraged2D    NormalisedInverseDifferenceAveraged2D    InverseDifferenceMomentAveraged2D    NormalisedInverseDifferenceMomentAveraged2D    InverseVarianceAveraged2D    CorrelationAveraged2D    AutoCorrelationAveraged2D    ClusterTendencyAveraged2D    ClusterShadeAveraged2D    ClusterProminenceAveraged2D    InformationCorrelation1Averaged2D    InformationCorrelation2Averaged2D    JointMaximumSliceMerged2D    JointAverageSliceMerged2D    JointVarianceSliceMerged2D    JointEntropySliceMerged2D    DifferenceAverageSliceMerged2D    DifferenceVarianceSliceMerged2D    DifferenceEntropySliceMerged2D    SumAverageSliceMerged2D    SumVarianceSliceMerged2D    SumEntropySliceMerged2D    AngularSecondMomentSliceMerged2D    ContrastSliceMerged2D    DissimilaritySliceMerged2D    InverseDifferenceSliceMerged2D    NormalisedInverseDifferenceSliceMerged2D    InverseDifferenceMomentSliceMerged2D    NormalisedInverseDifferenceMomentSliceMerged2D    InverseVarianceSliceMerged2D    CorrelationSliceMerged2D    AutoCorrelationSliceMerged2D    ClusterTendencySliceMerged2D    ClusterShadeSliceMerged2D    ClusterProminenceSliceMerged2D    InformationCorrelation1SliceMerged2D    InformationCorrelation2SliceMerged2D
        _______    ______________________    ______________________    _______________________    ______________________    ___________________________    ____________________________    ___________________________    ____________________    _____________________    ____________________    _____________________________    __________________    _______________________    ___________________________    _____________________________________    _________________________________    ___________________________________________    _________________________    _____________________    _________________________    _________________________    ______________________    ___________________________    _________________________________    _________________________________    _________________________    _________________________    __________________________    _________________________    ______________________________    _______________________________    ______________________________    _______________________    ________________________    _______________________    ________________________________    _____________________    __________________________    ______________________________    ________________________________________    ____________________________________    ______________________________________________    ____________________________    ________________________    ____________________________    ____________________________    _________________________    ______________________________    ____________________________________    ____________________________________
    
          "1"             0.025292                   10.263                    9.9482                     6.9415                      2.6834                          4.353                          2.8719                      20.525                   27.92                   4.3458                     0.011452                     11.872                  2.6834                       0.39071                             0.8891                                 0.3042                                    0.97287                               0.30871                    0.39971                    111.04                        27.92                     -17.682                      2401.8                           -0.10434                              0.66674                         0.021298                      10.262                        9.9491                       7.1238                          2.678                             4.5887                             2.9277                        20.525                      27.962                     4.3981                        0.0098741                       11.835                      2.678                          0.39129                                 0.8893                                    0.3049                                      0.97295                                  0.30908                       0.40201                        111.06                          27.962                        -18.094                         2408.5                             -0.052692                                0.55415               
    
    

    [1] Vallières, Martin, Carolyn R. Freeman, Sonia R. Skamene, and Issam El Naqa. “A Radiomics Model from Joint FDG-PET and MRI Texture Features for the Prediction of Lung Metastases in Soft-Tissue Sarcomas of the Extremities.” The Cancer Imaging Archive, 2015. https://doi.org/10.7937/K9/TCIA.2015.7GO2GSKS.

    [2] Vallières, M, C R Freeman, S R Skamene, and I El Naqa. “A Radiomics Model from Joint FDG-PET and MRI Texture Features for the Prediction of Lung Metastases in Soft-Tissue Sarcomas of the Extremities.” Physics in Medicine and Biology 60, no. 14 (July 7, 2015): 5471–96. https://doi.org/10.1088/0031-9155/60/14/5471.

    [3] Clark, Kenneth, Bruce Vendt, Kirk Smith, John Freymann, Justin Kirby, Paul Koppel, Stephen Moore, et al. “The Cancer Imaging Archive (TCIA): Maintaining and Operating a Public Information Repository.” Journal of Digital Imaging 26, no. 6 (December 2013): 1045–57. https://doi.org/10.1007/s10278-013-9622-7.

    Input Arguments

    collapse all

    Data and ROI for feature computation, specified as a radiomics object. The radiomics object R contains details of the preprocessed data and region of interest (ROI) from which to compute the features.

    Name-Value Arguments

    Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

    Example: textureFeatures(R,Type="GLCM",SubType="2D") computes the GLCM texture features as the average over 2D slices in the 2D resampled data.

    Category of texture features to compute, specified as one of these options.

    • "GLCM" — Grey level co-occurrence matrix

    • "GLRLM" — Grey level run length matrix

    • "GLSZM" — Grey level size zone matrix

    • "GLDZM" — Grey level distance zone matrix

    • "NGTDM" — Neighbourhood grey tone difference matrix

    • "NGLDM" — Neighbourhood grey level dependence matrix

    • "all"

    If you specify "all", the function computes every category of texture features. For more information on which specific texture features each category includes, see IBSI Standard and Radiomics Function Feature Correspondences.

    Data Types: char | string

    Resampling from which to compute texture features, specified as one of these options.

    • "2D" — Computes features for each 2D slice in the 2D resampled data and averages them.

    • "2.5D" — Computes features after merging all 2D slices in the 2D resampled data.

    • "3D" — Computes features for the entire 3D volume in the 3D resampled data.

    • "all" — Computes features for all three options.

    When you 2D-resample the volume, the function makes the voxel spacing along the x- and y-dimensions isotropic, but the voxel spacing along the z-dimension is the same as in the input volume. When you 3D-resample the volume, the function makes the voxel spacing along all three spatial dimensions isotropic.

    Data Types: char | string

    Output Arguments

    collapse all

    Texture features, returned as a table. The first column in T is LabelID. The subsequent columns are the texture features. For more details on which texture features are computed in each Type and SubType, see IBSI Standard and Radiomics Function Feature Correspondences.

    Version History

    Introduced in R2023b