Main Content

intensityFeatures

Radiomics intensity features

Since R2023b

    Description

    I = intensityFeatures(R) computes the radiomics intensity features I for the radiomics object R.

    example

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

    example

    Examples

    collapse all

    Load an X-ray image into the workspace as a medicalImage object. Visualize the image.

    data = medicalImage("forearmXrayImage1.dcm");
    I = data.Pixels;
    figure
    imshow(I,[])

    Draw two regions of interest (ROI) in the X-ray image. Create masks from the ROIs.

    roi1 = drawassisted(Color="g");
    roi2 = drawassisted(Color="r");

    mask1 = createMask(roi1,I);
    mask2 = createMask(roi2,I);

    Create an ROI label matrix, using different labels for the two ROIs. Create a medicalImage object of the ROI label data.

    mask = zeros(size(I));
    mask(mask1) = 1;
    mask(mask2) = 2;
    info = dicominfo("forearmXrayImage1.dcm");
    roi = medicalImage(mask,info);

    Create a radiomics object from the X-ray image data and ROI label data.

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

    Compute intensity features for both ROIs.

    I = intensityFeatures(R)
    I=2×50 table
        "1"    2.3092e+03    2.4966e+03    2.3144e+03    6.9224e+04     0.9158     0.3904    2250    1744    2036    2715    3310    332    1566    208.8567    143.3701    201.9787    0.1137    0.0724    1.5284e+10    2.3293e+03    57.6709      696.6411     0.9149     0.3903     51    1    30     98    157
        "2"    2.3496e+03    2.3553e+03    2.4385e+03    1.3586e+05    -0.7283    -0.0536    2500    1374    1933    2847    3145    534    1771    301.5276    217.8525    298.1146    0.1512    0.1082    2.3464e+10    2.4662e+03    94.8709    1.0675e+03    -0.7300    -0.0498    100    1    50    131    157
    
    

    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")

    Figure contains an axes object. The hidden axes object contains an object of type image.

    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: [1×1 medicalVolume]
                             ROILabel: [1×1 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 local intensity features of the ROI in the 2-D resampled CT image volume.

    I = intensityFeatures(R,Type=["LocalIntensity","IntensityHistogram"],SubType="2D")
    I=1×26 table
        LabelID    LocalIntensityPeak2D    GlobalIntensityPeak2D    MeanDiscretisedIntensity2D    DiscretisedIntensityVariance2D    DiscretisedIntensitySkewness2D    DiscretisedIntensityKurtosis2D    MedianDiscretisedIntensity2D    MinimumDiscretisedIntensity2D    TenthDiscretisedIntensityPercentile2D    NinetiethDiscretisedIntensityPercentile2D    MaximumDiscretisedIntensity2D    IntensityHistogramMode2D    DiscretisedIntensityInterquartileRange2D    DiscretisedIntensityRange2D    IntensityHistogramMeanAbsoluteDeviation2D    IntensityHistogramRobustMeanAbsoluteDeviation2D    IntensityHistogramMedianAbsoluteDeviation2D    IntensityHistogramCoeffcientOfVariation2D    IntensityHistogramQuartileCoeffcientOfDispersion2D    DiscretisedIntensityEntropy2D    DiscretisedIntensityUniformity2D    MaximumHistogramGradient2D    MaximumHistogramGradientIntensity2D    MinimumHistogramGradient2D    MinimumHistogramGradientIntensity2D
        _______    ____________________    _____________________    __________________________    ______________________________    ______________________________    ______________________________    ____________________________    _____________________________    _____________________________________    _________________________________________    _____________________________    ________________________    ________________________________________    ___________________________    _________________________________________    _______________________________________________    ___________________________________________    _________________________________________    __________________________________________________    _____________________________    ________________________________    __________________________    ___________________________________    __________________________    ___________________________________
    
          "1"             71.689                  78.084                      10.488                          10.846                            -0.069                           -0.1125                             11                               1                                    6                                         15                                     20                             10                                  5                                    19                                  2.6421                                          2.0664                                            2.639                                        0.31401                                           0.2381                                      3.761                            0.085523                          351.5                                7                                -344                               13                 
    
    

    [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

    collapse all

    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: intensityFeatures(R,Type="LocalIntensity",SubType="2D") computes the local intensity features on 2-D resampled data.

    Category of intensity features to compute, specified as one or more of these options.

    • "LocalIntensity"

    • "IntensityBasedStatistics"

    • "IntensityHistogram"

    • "IntensityVolumeHistogram"

    • "all"

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

    Data Types: char | string

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

    • "2D" — Computes features from the 2-D resampled data. This is the default option for 2-D data, when the Data and ROILabel properties of the radiomics object R are 2-D matrices or medicalImage objects.

    • "3D" — Computes features from the 3-D resampled data. This is the default option for 3-D data, when the Data and ROILabel properties of the radiomics object R are 3-D arrays or medicalVolume objects. 3-D resampling is not applicable for 2-D data.

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

    For 3-D data, when you perform 3-D resampling of the volume, the function makes the voxel spacing along all three spatial dimensions isotropic. However, when you perform 2-D resampling of the volume, the function makes the voxel spacing along only the x- and y-dimensions isotropic, while retaining the voxel spacing of the input volume along the z-dimension.

    Data Types: char | string

    Output Arguments

    collapse all

    Intensity features, returned as a table. The first column in I is LabelID. The subsequent columns are the intensity features. Each row of the table corresponds to an ROI. For more details on which intensity features are computed in each Type and SubType, see IBSI Standard and Radiomics Function Feature Correspondences.

    Version History

    Introduced in R2023b

    expand all