AIM-Harvard / pyradiomics

Open-source python package for the extraction of Radiomics features from 2D and 3D images and binary masks. Support: https://discourse.slicer.org/c/community/radiomics
http://pyradiomics.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
1.14k stars 493 forks source link

[FEAT EXTRACTION] Difference between voxel-based and segment-based feature extraction #638

Closed LiJiaqi96 closed 3 years ago

LiJiaqi96 commented 3 years ago

Hi, I noticed that when executing the feature extractor, there is a parameter "voxelBased" to select whether to use voxel-based or segment-based feature extraction.

Could you please help me clarify the difference between this two methods? I think the segmentation mask is required when executing feature extractor. Thanks!

JoostJM commented 3 years ago

@LiJiaqi96 it controls how the features are calculated. Segment-based means the feature values are based on the entire segment (aka ROI, Mask, Labelmap, ...), i.e. yielding 1 scalar value per feature and is the most standard application of radiomics feature extraction. The second, voxel-based, extraction calculates a feature value for each voxel in the segment. It does so by computing a kernel region around each voxel and calculates radiomics features based on voxels inside that kernel. The process is repeated for each voxel, i.e. yielding a scalar value for each feature for each voxel in the segment, better know as parameter maps for each feature. Results in this latter case are also stored as image objects for each feature.

Kernel size, en whether or not to take the intersection between the main segmentation and each kernel when defining the region around a voxel to use for feature calculation are controlled by the voxel-based specific settings.

AnkushJamthikar commented 1 year ago

Can we understand how the voxel-based feature extraction is happening in the background? I want to understand how you use the kernel over the image to get the radiomic features. I have a 2D image and I want to compute a radiomic feature for every pixel and then I want to visualize that radiomic feature. Can it be possible to use the voxel-based method? Please give some feedback on this.

Thank you! Ankush