PET normalisation before Radiomics

Hello All,

I’ve been trying to calculate the bin width for fixed bin numbers. However, some PET data range were fluctuating. Example the minimum SUV = 3274.76, and the maximum = 14063.3.

I looked to pyradiomics recommendations and they mentioned that: “we still recommend a fixed bin width, but with additional pre-processing (e.g. normalization) to ensure better comparability of gray values”.

I tried ( PETDICOM) extenstion for PET normalisation, but i’m not sure what is their normalisation range?
In slicer, this extension create two files: 1- standardised_uptake_value_body_weight 2- SUVBW.
they look similar(not sure what’s the different).

After normalisation, I’ll calculate the bin width as (max-min)/ desired number of bins
Do you think this way make sense?

Thanks for your help,

Visually they look the same, but the absolute values will most likely be different.
As to determining bin width, your approach should be fine, so long as it’s not recalculated for each case separately, that would be equivalent to a fixed bin count.

Generally, I run the batch once with just first order, and use the Range feature to get a feel for what kind of bin width I want to use (a compromise so most cases have somewhere between 10-100 bins.

Finally, PyRadiomics also provides built in normalization, using mean and standard deviation of the image (not just the masked region). You can enable it using setting normalize.