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 ...

+ Reply to Thread
Results 1 to 3 of 3

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
    Pixel padding value 64036

    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
    better explanation/solution, please post it.

    /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.

    please help me with this man,we are about to finish our project ,but we
    are completely halted here because of this ,which is very slow.

    hope u reply.
    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
    > Pixel padding value 64036
    >
    > 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



+ Reply to Thread