Hi,
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.
Window/Level and Bit information.
Moderator: Moderator Team
-
- OFFIS DICOM Team
- Posts: 1445
- Joined: Tue, 2004-11-02, 17:22
- Location: Oldenburg, Germany
- Contact:
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 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 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.
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
VOILUT = 1
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 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.
Who is online
Users browsing this forum: No registered users and 1 guest