# Max and Min values for Window width/level - DICOM

This is a discussion on Max and Min values for Window width/level - DICOM ; Dear friends, I would like to know, how the minimum and maximum value of window width and window level are calculated. For example I have a CT image with following tag informations. Samples per pixel 1 Phot metric intrpretation MONOCHROME2 ...

# Thread: Max and Min values for Window width/level

1. ## Max and Min values for Window width/level

Dear friends,

I would like to know, how the minimum and maximum value of window width
and window level are calculated.
For example I have a CT image with following tag informations.

Samples per pixel 1
Phot metric intrpretation MONOCHROME2
Rows 210
columns 512

Pixel Spacing 1.0\1.0

bits allocated 16
bits stored 16
High Bit 15
Pixel representation 1

Window width 400
Window level 40

intercept 0.0
slop 1.0

I have two Slider controls for adjusting window width and window level.
How can I give minimum and maximium values to this slider control?

When I look into one of the DICOME viewer with the same image, I got
the following result:

Window width Min 0
Window width Max 3600

Window level Min -1000
Window Level MAx 2000

Could anyone please explain,what is the algorithm used for calculating
these values?

Thanks and Regards
Alvin

2. ## Re: Max and Min values for Window width/level

Hi Alvin,

I may not have the best answer for you, but I will try to help as much
as I can.

> I would like to know, how the minimum and maximum value of window width
> and window level are calculated.

I'm not sure exactly what you are referring to by "minimum" and
"maximum" values.

CT images show density and the grayscale values are Hounsfield Units
(HUs). They have strict meanings for each value and represent specific
tissue types. -1000 HU = density of air in a vacuum. 0 = density of
water. +2000 = density of bone. + 3000 = density of metal. So, 1HU =
1/10th of 1% of the density of water and the total range of gray values
for CT is from -1000 to +3000.

Also, typical medical images in DICOM (especially CT) are 12-bit images
.... so, they contain a 4096 grayscale range. Therefore, the window
level can be anywhere in that range and the window width can stradle
that level anywhere along that range as well. In your example, 400/40
is a typical w/l for a CT image of the abdomen and other soft tissue.

For MR this is more difficult because their grayscale range varies by
scanner, patient and from image to image.

> When I look into one of the DICOME viewer with the same image, I got
> the following result:
>
> Window width Min 0
> Window width Max 3600
>
> Window level Min -1000
> Window Level MAx 2000
>
> Could anyone please explain,what is the algorithm used for calculating
> these values?

This is a good question and I don't have the answer for this, so
hopefully someone else can answer, but I have also noticed that
sometimes I see CT images that go from -1000 to +3000, but other times
they go from 0 to 4000. Usually I have seen this discrepency between
different DICOM viewers, but also on the same viewer a few times.

I believe that the min and max values can be stored in the DICOM
header, but I don't think you can rely on that everytime. To calculate
the true min/max for each image (regardless of modality) your best bet
might be to read the pixel data of the image, group them by their value
(like generating a histogram) and then you can see what the min and max
are for that specific image.

Well, I hope I answered some of your questions and if others have a

/Aaron

3. ## Re: Max and Min values for Window width/level

Hi alwin

I am also having the same problem ,i dont think there are any tags
which will give this information. I try to check with Ezdicom which is
working fine ,i dont know what they have done.

I think rather than slider bar it is better to apply WL on mouse
move, because then u don't have to worry about these things,i am
currently doing that.

I have a question for u,hope u can help me with this issue.
Currently i am applying WL by calculating it for each pixel(of image
array) in a for loop.So whenever i apply it on mouse move the process
is becoming very slower.I came to know that we must use a lookup table
to make it work faster.I really did'nt get anything about how to make
LUT,and how to use it.

I just wanted to know how faster is yours WL thing working ,and how
to make that look up table.

are completely halted here because of this ,which is very slow.

Thanks
Swamy

alvin wrote:
> Dear friends,
>
> I would like to know, how the minimum and maximum value of window width
> and window level are calculated.
> For example I have a CT image with following tag informations.
>
> Samples per pixel 1
> Phot metric intrpretation MONOCHROME2
> Rows 210
> columns 512
>
> Pixel Spacing 1.0\1.0
>
> bits allocated 16
> bits stored 16
> High Bit 15
> Pixel representation 1
>
> Window width 400
> Window level 40
>
> intercept 0.0
> slop 1.0
>
>
> I have two Slider controls for adjusting window width and window level.
> How can I give minimum and maximium values to this slider control?
>
> When I look into one of the DICOME viewer with the same image, I got
> the following result:
>
> Window width Min 0
> Window width Max 3600
>
> Window level Min -1000
> Window Level MAx 2000
>
> Could anyone please explain,what is the algorithm used for calculating
> these values?
>
> Thanks and Regards
> Alvin