Window/Level and Bit information.

Questions regarding the DCMPRINT library, a DCMTK add-on that implements a DICOM Print Management SCP and SCU

Moderator: Moderator Team

Post Reply
Posts: 14
Joined: Thu, 2006-03-23, 13:34

Window/Level and Bit information.

#1 Post by ecoto » Wed, 2006-10-18, 11:29


I'm using the tcpprt application to send images to a printer. I have noticed a few issues that I would like to ask you about.

1) The bit information seems to influence the final result. For instance, let's say that I print a CT slice where: "Bits Allocated" is 16, "Bits stored" is 16, and "High Bit" is 15. Now, let's say that I print the same slice but with "Bits stored" set to 12, and "High Bit" set to 11. After printing both slices, the result is different. Although "Bits stored=12" would be the right setting, a lot of applications also accept 15, since the non-used bits are just 0. Are you using the bits information to compute the full density range ?. Is there any way to change that ?.

2) The window width information seems to be ignored. If I print the same slice twice but with different Window Widths, the result is the same. It seems that you are using the full data range as the window width. How can I specify a different window width ?.

Thanks in advance.

Marco Eichelberg
Posts: 1225
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany

#2 Post by Marco Eichelberg » Fri, 2006-10-20, 09:41

Both observations are actually the same - by default, tcpprt does not set a window level and width, which is equivalent to setting a window level and width that covers the complete pixel range as defined by Bits Stored.

When a VOI LUT or a pair of values for Window Center/Window Width is actually encoded in the image, then this can be easily enabled on API level with a call to PSVModelImageBox::setVOI().

When you are using tcpprt as a command line tool with the --auto command line option (non-interactive mode), then the same behaviour can be enabled in the configuration file for each image box by defining an entry

Code: Select all

in the configuration file - see tcpprt.cfg as shipped with DCMPRINT for an example which is just commented out.

There is actually no API call that would allow you to simply define an arbitrary pair of values for window level/width. If this sounds like a glaring lack, then you're probably right :wink: Explaining this would be a lengthy story, going back to the Referenced Print Management service that DCMPRINT was originally designed for to support, where this was a task of the SCP and not of the SCU, but this service has been retired from DICOM (and most printers and also DCMPRINT) long ago, so there is no real excuse for this, except that you would be the first person to ask for it.

Posts: 14
Joined: Thu, 2006-03-23, 13:34


#3 Post by ecoto » Sat, 2006-10-21, 18:37

Thank you Marco,

It works perfectly.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest