Click here to Skip to main content
13,149,186 members (51,518 online)
Rate this:
Please Sign up or sign in to vote.
See more:
Please help me to get through these probs..........
How to render the patient data into the pixeldata of dicomimage?
How to display the patient information over the image using dcmtk?
Is it possible to display the information using overlay?
Posted 16-Mar-11 22:43pm
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Just some quick notes on this,

DCM, the file format itself, is structured so that the leading header data contains this kind of information (segmentation, gantry position of the modality and patient relevance, demographic data, etc). In a multi-image exam, each image header contains a copy of this, along with series information and the position of each image in the overall case. In order to "create" new data inside of that header information, you will need a DICOM UID to indicate that the image of diagnostic reference has changed, and that your software is the new owner.

Here is a link to a quick explanation about DICOM UIDs.

If you don't want to actually change the raw image file, an easier solution is probably to store a secondary file with overlays and edits in it, which references the original file (these are always unique like : ''). Yes, overlays are ok as long as your image quality is provably not degraded (DCMTK has modules for image validation, as does the DVTk project), and as long as you have a way to turn them on and off. Print preview shouldn't be a problem if you already have a way to get the raw bitmap correctly from each DCM, but to print to an actual DICOM Printer will require the actual header data in each file to change (to reflect your software's edits). I suppose you could dummy one up, or use the DCMTK one as noted here .

You never, ever, want to disturb the actual bitmap (pixeldata) itself. Even in reconstruction a new series is created for composites. Only the header, and only using globally Unique UIDs if you want to avoid collisions.

Last note is that if you haven't stumbled onto The medical image format FAQ yet, I highly recommend it.

Hope that helps
Dylan Morley 23-Mar-11 5:34am
Good answer
aravindkrgec 6-Apr-11 5:10am
Thank you, your points are notable. But I think you didnot get me. I want to alter the pixel data so that when I use the pixel data for display, it have patient details into it.
chitlenz 7-Apr-11 1:22am
I think I get it, you want to do overlays right? I just don't understand why you are trying to alter the actual pixel data within the image instead of storing an external file and moving on. The solution I posted was for actually altering the pixeldata, since you have to re-sign the file using a valid DICOM UID if you make any edits at all to the original file. I don't know what your application is, so it's hard to understand your motive for doing this, but one possible reason is that you are digitizing a CR from film and want to insert patient data into the DCM file so that when the file is sent to a DICOM printer it will burn into the film, right? In this case, you will have a DCM UID issued from the digitizer (which usually allows you to edit the demographic data right at the capture, by the way) with whatever the tech typed in at capture time burned into the header. So, say the tech types in 'patient^one', and you want to modify that to show up as 'another^patient' when it prints (as the overlay). You would create a new DICOM file (from a UID base/root) and then add the pixeldata and header to match your needs, then you have a uniquely signed DICOM file. Again, this is all presuming you have to modify the file for some reason... have you looked into DICONDE yet (DICOM + Non Destructive Edits)? I think you may be driving a nail with a sledgehammer in a way. All demographic data from the header is applied as overlays, with the exception of US and CR/Film (there are other exceptions, but those mainly will show up in weird formats). In the DICOM standard, this is almost certainly covered in the 'hanging protocols' area, so if this explanation does not cover what you are looking for, you could look there as well.

Hope that helps.

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Please refer to this article

DICOM Image Viewer[^]
manu_000 17-Mar-11 6:03am
Thank you for your reply. But I already have an image viwer. I wanna print preview.
JackDingler 28-Nov-12 17:03pm
The print preview, is just a viewer that shows the user what the final print will resemble.

Viewing, print previewing and printing are operations with a number of common steps.
Rate this: bad
Please Sign up or sign in to vote.

Solution 3

you can remove the Pixel data of the dicom image and convert original dicom image to bitmap add patient information over this bitmap image by drawing it to a dc.take the pixel data of this bitmap and inset under pixeldata tag of dicom image

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web01 | 2.8.170924.2 | Last Updated 28 Nov 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100