# How to do image normalization in Radiomics

**URL:** <https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689>\
**Category:** Radiomics\
**Created:** [July 22, 2020, 2:05pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689 "2020-07-22T14:05:01Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![danceward](https://avatars.discourse-cdn.com/v4/letter/d/7c8e57/32.png) [@danceward](https://discourse.slicer.org/u/danceward)\
**Post date:** [July 22, 2020, 2:05pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/1 "2020-07-22T14:05:01Z")

</div>

Hello  
I am doing some work about texture analysis using Radiomics package and how can I do image normalization before texture analysis? Thanks

---

<div class="post-metadata">

**Author:** ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)\
**Post date:** [July 30, 2020, 8:46pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/2 "2020-07-30T20:46:36Z")

</div>

This section in the documentation may be helpful:

[https://pyradiomics.readthedocs.io/en/latest/customization.html?highlight=normalization#feature-extractor-level](https://pyradiomics.readthedocs.io/en/latest/customization.html?highlight=normalization#feature-extractor-level)

---

<div class="post-metadata">

**Author:** ![danceward](https://avatars.discourse-cdn.com/v4/letter/d/7c8e57/32.png) [@danceward](https://discourse.slicer.org/u/danceward)\
**Post date:** [August 18, 2020, 12:57pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/3 "2020-08-18T12:57:15Z")

</div>

Thank you for your help 🙂

---

<div class="post-metadata">

**Author:** ![zzhan127](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/zzhan127/32/11058_2.png) [@zzhan127](https://discourse.slicer.org/u/zzhan127)\
**Post date:** [May 25, 2021, 6:26pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/4 "2021-05-25T18:26:40Z")

</div>

Hi Fedorov, thank you for the answer. I noticed that pyradiomics normalizes the whole image instead of the ROI. Is it possible to normalize the gray level of ROI? Thank you!

---

<div class="post-metadata">

**Author:** ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)\
**Post date:** [May 25, 2021, 6:36pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/5 "2021-05-25T18:36:47Z")

</div>

No, I don’t think this is possible.

---

<div class="post-metadata">

**Author:** ![MachadoL](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/machadol/32/3372_2.png) [@MachadoL](https://discourse.slicer.org/u/MachadoL)\
**Post date:** [July 10, 2021, 1:50pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/6 "2021-07-10T13:50:08Z")

</div>

@fedorov, and others,

does radiomics has any guideline on normalizing the whole image then extracting features from ROI image or cropping ROI image and then normalizing?

---

<div class="post-metadata">

**Author:** ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)\
**Post date:** [August 12, 2021, 3:26pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/7 "2021-08-12T15:26:00Z")

</div>

I don’t think there is a formal recommendation, but some suggested settings for normalization are available in this folder of the repo: [pyradiomics/examples/exampleSettings at master · AIM-Harvard/pyradiomics · GitHub](https://github.com/AIM-Harvard/pyradiomics/tree/master/examples/exampleSettings).

We also explored the effects of normalization choices on reproducibility of features extracted from prostate MRI in this paper: [Repeatability of Multiparametric Prostate MRI Radiomics Features | Scientific Reports](https://www.nature.com/articles/s41598-019-45766-z) (a lot more things that were explored but didn’t fit into the peer-reviewed paper are discussed in the preprint: [[1807.06089] Repeatability of Multiparametric Prostate MRI Radiomics Features](https://arxiv.org/abs/1807.06089)).

---

<div class="post-metadata">

**Author:** ![firatoz](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/firatoz/32/8611_2.png) [@firatoz](https://discourse.slicer.org/u/firatoz)\
**Post date:** [August 29, 2021, 5:41am UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/8 "2021-08-29T05:41:33Z")

</div>

Thanks for your answers, but I don’t know coding. How can I do image normalization in 3d slicer without using code? I am doing radiomics work using ct images and I want to normalize with 3 sigma technique

---

<div class="post-metadata">

**Author:** ![razie\_aqeli](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/razie_aqeli/32/13761_2.png) [@razie\_aqeli](https://discourse.slicer.org/u/razie_aqeli)\
**Post date:** [January 9, 2022, 3:54pm UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/9 "2022-01-09T15:54:24Z")

</div>

It is my question tOO!

---

<div class="post-metadata">

**Author:** ![JoostJM](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/joostjm/32/1091_2.png) [@JoostJM](https://discourse.slicer.org/u/JoostJM)\
**Post date:** [January 11, 2022, 11:41am UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/10 "2022-01-11T11:41:43Z")

</div>

If you look at the PyRadiomics documentation suggested above you can enable normalization using sigma technique. If you add a resegmenatation range on [-3, 3], this ensures you only include voxels in the range -3 sigma to +3 sigma.

---

<div class="post-metadata">

**Author:** ![LauraC](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/laurac/32/68458_2.png) [@LauraC](https://discourse.slicer.org/u/LauraC)\
**Post date:** [November 26, 2023, 1:59am UTC](https://discourse.slicer.org/t/how-to-do-image-normalization-in-radiomics/12689/12 "2023-11-26T01:59:08Z")

</div>

Hi,

this a little confusing for me, sorry if I say a nonsense. So if we configure resegmentation with mode ‘sigma’ and range [-3, 3] we’ll keep only the voxels of the ROI inside that range and the rest will be considered as non-roi pixels for the calculation of the features, but I am not sure if it is exactly the 3sigma normalization does. Because what pyradiomics does is not a normalization where the voxels are transformed to a new range of values, they are just erased.
