# Normalization/calibration

**URL:** <https://discourse.slicer.org/t/normalization-calibration/1420>\
**Category:** Support\
**Created:** [November 9, 2017, 2:56pm UTC](https://discourse.slicer.org/t/normalization-calibration/1420 "2017-11-09T14:56:31Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hamburgerfinger](https://avatars.discourse-cdn.com/v4/letter/h/eb9ed0/32.png) [@Hamburgerfinger](https://discourse.slicer.org/u/Hamburgerfinger)\
**Post date:** [November 9, 2017, 2:56pm UTC](https://discourse.slicer.org/t/normalization-calibration/1420/1 "2017-11-09T14:56:31Z")

</div>

What is the best way to apply a normalization or calibration factor to an image volume? (I.e. just multiply all voxel scalars by a constant)

It seems like a good place for this would be the “Volumes” node.

Thanks!  
Luke

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [November 9, 2017, 5:08pm UTC](https://discourse.slicer.org/t/normalization-calibration/1420/2 "2017-11-09T17:08:04Z")

</div>

You can click and drag in any of the slice viewers to apply linear scaling/offset to the displayed volume.

---

<div class="post-metadata">

**Author:** ![Hamburgerfinger](https://avatars.discourse-cdn.com/v4/letter/h/eb9ed0/32.png) [@Hamburgerfinger](https://discourse.slicer.org/u/Hamburgerfinger)\
**Post date:** [November 10, 2017, 4:26pm UTC](https://discourse.slicer.org/t/normalization-calibration/1420/3 "2017-11-10T16:26:48Z")

</div>

But this just changes the color mapping. I want to actually modify the values present in the dataset by scalar multiplication.

For instance, if the image is quantified in units of (signal)/(unit volume) and I want (signal)/(unit mass), it’s necessary to multiply by a calibration factor (inverse of the density).

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [November 10, 2017, 6:51pm UTC](https://discourse.slicer.org/t/normalization-calibration/1420/4 "2017-11-10T18:51:01Z")

</div>

> [@Hamburgerfinger](#):
>
> to actually modify the values present in the dataset by scalar multiplication.

This should be helpful: [Documentation/Nightly/Developers/Python scripting - Slicer Wiki](https://www.slicer.org/wiki/Documentation/Nightly/Developers/Python_scripting#Accessing_Volume_data_as_numpy_array)

---

<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:** [November 10, 2017, 10:48pm UTC](https://discourse.slicer.org/t/normalization-calibration/1420/5 "2017-11-10T22:48:18Z")

</div>

If you prefer to use the GUI for that operation, you can use ShiftScaleImageFilter from the SimpleFilters module:

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/a/9/a92065604dcd399cd9419fa8e9978e5280b49c04.png)

---

<div class="post-metadata">

**Author:** ![Hamburgerfinger](https://avatars.discourse-cdn.com/v4/letter/h/eb9ed0/32.png) [@Hamburgerfinger](https://discourse.slicer.org/u/Hamburgerfinger)\
**Post date:** [November 10, 2017, 11:31pm UTC](https://discourse.slicer.org/t/normalization-calibration/1420/6 "2017-11-10T23:31:29Z")

</div>

Thanks, this is exactly what I wanted!

Best,  
Luke
