# Why Slicer automatically scales a MultiVolume by a factor

**URL:** <https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557>\
**Category:** Support\
**Created:** [July 15, 2020, 3:06pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557 "2020-07-15T15:06:07Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![xlucox](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xlucox/32/6381_2.png) [@xlucox](https://discourse.slicer.org/u/xlucox)\
**Post date:** [July 15, 2020, 3:06pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/1 "2020-07-15T15:06:07Z")

</div>

Hi !!!

I have a MRI sequence which consist of a number of images in the time. When I upload it to Slicer the pixel values are scaled with respect to the original values. I plotted the image with matplotlib in python and the values are different. I would like to upload my image without this scaling, is there ant way?

Thank you very much.

---

<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:** [July 15, 2020, 3:42pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/2 "2020-07-15T15:42:05Z")

</div>

What kind of MRI image is this? What did you use to create it? What is the range of values that you see in Slicer and what range would you expect? What DICOM reader did you use when you displayed it using matplotlib?

---

<div class="post-metadata">

**Author:** ![xlucox](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xlucox/32/6381_2.png) [@xlucox](https://discourse.slicer.org/u/xlucox)\
**Post date:** [July 15, 2020, 4:29pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/3 "2020-07-15T16:29:03Z")

</div>

This is a look locker sequence for CMR. I used pydicom to extract the matrix of the image. It seems that some times the values in Slicer are scaled by 8 or 16 with respect to the values I get with matplotlib.

---

<div class="post-metadata">

**Author:** ![xlucox](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xlucox/32/6381_2.png) [@xlucox](https://discourse.slicer.org/u/xlucox)\
**Post date:** [July 15, 2020, 4:31pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/4 "2020-07-15T16:31:28Z")

</div>

- I get with pydicom.

---

<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:** [July 15, 2020, 4:59pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/5 "2020-07-15T16:59:25Z")

</div>

For clinical images, Slicer applies the appropriate intensity scaling. Pydicom just provides raw values that you need to rescale yourself.

---

<div class="post-metadata">

**Author:** ![xlucox](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xlucox/32/6381_2.png) [@xlucox](https://discourse.slicer.org/u/xlucox)\
**Post date:** [July 15, 2020, 5:11pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/6 "2020-07-15T17:11:12Z")

</div>

Ok. Is there any way to don’t apply this scaling when loading images?

---

<div class="post-metadata">

**Author:** ![xlucox](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xlucox/32/6381_2.png) [@xlucox](https://discourse.slicer.org/u/xlucox)\
**Post date:** [July 15, 2020, 5:14pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/7 "2020-07-15T17:14:41Z")

</div>

Or is this scaling value saved in some part of the VolumeNode?

---

<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:** [July 15, 2020, 5:34pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/8 "2020-07-15T17:34:14Z")

</div>

Scaling is necessary, because this is how DICOM encodes values in byte or word data type. You can reverse engineer it from the appropriate DICOM fields.

In MRML nodes you can only change the displayed window/level (in the volume’s display node).

Why are you interested in the raw values? What are you trying to achieve?

---

<div class="post-metadata">

**Author:** ![xlucox](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xlucox/32/6381_2.png) [@xlucox](https://discourse.slicer.org/u/xlucox)\
**Post date:** [July 15, 2020, 5:52pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/9 "2020-07-15T17:52:24Z")

</div>

I’m developing a module which extract the signal from a MRI ROI and fit some functions. The problem is that the fitting is sensitive to the change of value scales and I would like to this module works well in the most general cases. The fact is that different images from the same MR have different order of magnitude because of this auto-scaling.

---

<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:** [July 17, 2020, 9:23pm UTC](https://discourse.slicer.org/t/why-slicer-automatically-scales-a-multivolume-by-a-factor/12557/10 "2020-07-17T21:23:49Z")

</div>

That’s exactly why you need to take into account the scaling. You get meaningful/standardized values after you apply the proper scaling.
