Radiomics extraction - rubpergar/3D-Slicer-guide GitHub Wiki

📊 Radiomics Extraction

In this section, you will learn how to extract radiomic features using 3D Slicer and the SlicerRadiomics extension.

🔍 Accessing the Radiomics Module

To begin extracting radiomics features, follow these steps:

  1. In the top bar of 3D Slicer, click on the module search magnifying glass 🔍.

  2. Type Radiomics and select the module from the SlicerRadiomics extension.

⚙️ Analysis Configuration

Inside the Radiomics module, you will find several customization options for feature extraction:

1️⃣ Input Configuration

  • In the Input Image Volume dropdown, select the patient's CT image set.

  • In the Input regions dropdown, choose the segmentation you want to use for radiomics extraction:

    • RTSTRUCT
    • SEG

2️⃣ Customizing Feature Extraction

  • Click Extraction customization to manually select the feature classes to extract:

    • firstorder : Calculates basic statistical properties of the image, such as mean, standard deviation, skewness, and kurtosis, reflecting the intensity distribution.
    • glcm (Gray Level Co-occurrence Matrix): Evaluates the spatial relationship between pixels to describe image texture, measuring contrast, homogeneity, and correlation.
    • gldm (Gray Level Dependence Matrix): Captures the dependency of intensity values within the image, useful for characterizing fine and homogeneous textures.
    • glrlm (Gray Level Run Length Matrix): Analyzes repeating intensity patterns, useful for evaluating granularity and uniformity in textures.
    • glszm (Gray Level Size Zone Matrix): Measures the distribution of zones with the same gray level, providing insights into the structural heterogeneity of the image.
    • ngtdm (Neighboring Gray Tone Difference Matrix): Assesses intensity variations in relation to neighboring pixels, useful for detecting coarse textures.
    • shape : Extracts geometric characteristics of the segmented volume, such as size, compactness, and sphericity of the region of interest.
    • shape 2D : Similar to shape, but applied to two-dimensional image slices, useful when analyzing sections instead of full volumes.
  • For more details on each feature type, refer to the official documentation:
    👉 PyRadiomics Features

3️⃣ Resampling and Filtering

In the Resampling and Filtering section, you can modify parameters to improve the quality of the extracted data:

  • Resampled voxel size: Adjusts the voxel size to standardize the data.
  • LoG kernel sizes: Applies different kernel sizes for the Laplacian of Gaussian (LoG) filter.
  • Wavelet-based features: Enables or disables the extraction of Wavelet-based features.

4️⃣ Additional Settings Configuration

In the Settings section, you can adjust the following parameters:

  • Bin Width: Sets the bin width for histogram calculations.
  • Enforce Symmetrical GLCM: Enables or disables forced symmetry in the Gray Level Co-occurrence Matrix (GLCM).

🚀 Running Radiomics Extraction

Once all settings are configured, follow these steps:

  1. Click Apply.
  2. Wait for the process to complete.
  3. A table will be generated containing all extracted features based on the configured settings.

🖥️ Exporting Data for Python Analysis

If you want to manually extract radiomic features using a Python script with the pyradiomics library, you will need to export the data first from 3D Slicer.

📥 Steps to Export Files:

  1. Click the SAVE button in the top bar of 3D Slicer.
    image

  2. In the file list, select only the files related to:

    • CT Images → (.nrrd)
    • SEG Segmentation → (.seg.nrrd)
    • RTSTRUCT Segmentation → (.seg.vtm)
  3. Deselect all other files.

  4. Modify the destination directory where you want to save the files and rename them if necessary.

  5. Click Save to download them to the selected location.
    image

🔗 Once saved, these files can be used in Python scripts with pyradiomics for customized feature extraction.

🚀 With this, you're all set to extract and analyze radiomics in an advanced way!


⏮️ 🚀 Start

⬅️ Previous: 👀 Visualization