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:
-
In the top bar of 3D Slicer, click on the module search magnifying glass 🔍.
-
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 toshape
, 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:
- Click Apply.
- Wait for the process to complete.
- 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:
-
Click the SAVE button in the top bar of 3D Slicer.
-
In the file list, select only the files related to:
- CT Images → (
.nrrd
) - SEG Segmentation → (
.seg.nrrd
) - RTSTRUCT Segmentation → (
.seg.vtm
)
- CT Images → (
-
Deselect all other files.
-
Modify the destination directory where you want to save the files and rename them if necessary.
-
Click Save to download them to the selected location.
🔗 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