LUT table in DCMTK

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
m-ishihara
Posts: 40
Joined: Thu, 2008-09-18, 09:20
Location: Japan

LUT table in DCMTK

#1 Post by m-ishihara »

Hi OFFIS team,

I am not sure if the DCMTK reads the Modality LUT or the VOI LUT data in the tags of DICOM data.

We have the DICOM data including Modality LUT and another one including VOI LUT. We investigated the both data using "dataset->findAndGetElement()" as follows;

dataset->findAndGetElement(DCM_ModalityLUTSequence, element, OFFalse);
dataset->findAndGetElement(DCM_VOILUTSequence, element, OFFalse);
dataset->findAndGetElement(DCM_LUTDescriptor, element, OFFalse);
dataset->findAndGetElement(DCM_LUTData, element, OFFalse);

The results are that in the DICOM data including Modality LUT the only "element" of DCM_ModalityLUTSequence has meaningful contents but other "element" has no meaningful contents, in the DICOM data including VOI LUT the only "element" of DCM_VOILUTSequence has meaningful contents but other "element" has no meaningful contents. So far, I have to conclude that DCMTK doesn't read the Modality LUT or the VOI LUT data in the DICOM data.
Is it right?
If so, in order to read and use the Modality LUT or the VOI LUT data, please tell me how should I do?

In addition, is it the same about Presentation LUT?

Thank's for your help,

Best Regards,
Masabumi Ishihara :(
Maty

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1435
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#2 Post by Marco Eichelberg »

The Modality LUT Sequence and VOI LUT Sequence are not contained in all DICOM images. When they are present, of course the DCMTK parser reads them and provides access, as to all other elements of the dataset.

Note that both Modality LUT Sequence and VOI LUT Sequence are Sequenceelements, i.e. instances of DcmSequenceOfItems. You will not find a LUT Descriptor or LUT Data in the main dataset, but in the first item of the sequence. See the API documentation for Sequences (class DcmSequenceOfItems and class DcmItem) to see how you navigate through hierarchical data structures.

That said, if you are trying to read the content of the Modality LUT and VOI LUT then you are probably trying to re-implement a functionality that is already present in class DicomImage (module dcmimgle+dcmimage), and highly optimized as well. If you want to display a DICOM image, don't try to re-invent the wheel.

m-ishihara
Posts: 40
Joined: Thu, 2008-09-18, 09:20
Location: Japan

Thanks!

#3 Post by m-ishihara »

Dear, Marco

Thank you for your reply.
Your explanation and advice are very helpful for me to implement the further function of our Viewer.

Yours truely,
Maty

Post Reply

Who is online

Users browsing this forum: Google [Bot], paperini and 1 guest