How to load multiframe Dicom image

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
xdx
Posts: 3
Joined: Mon, 2009-06-15, 17:41

How to load multiframe Dicom image

#1 Post by xdx »

Hello,

I am using DCMTK to load dicom images. It works pretty well.

Recently, I got some MR image from our Philips scanner and my program could not handle. The reason is because it is save in multiframe dicom format.


I am wondering if DCMTK has any functions to support loading this type of file. For example,

- How to know a dicom file is a multi-frame one or the classical single frame image;

- If it is a multiframe image, how to know the number of frames.

- if I would access the #n frame in a multiframe dicom file, for example, query the value of #n image with a tag, is there any library avaialble? if yes, could you direct me where to find the function list in DCMTK lib? Otherwise, how to do it with existing DCMTK functions. I searched the offis forum and didn’t find the exact answer.

If possible, it would be highly appreciated if you can provide some sample c++ code.

Thank you!

Don

Jörg Riesmeier
ICSMED DICOM Services
ICSMED DICOM Services
Posts: 2217
Joined: Fri, 2004-10-29, 21:38
Location: Oldenburg, Germany

#2 Post by Jörg Riesmeier »

How to know a dicom file is a multi-frame one or the classical single frame image;
This is not DCMTK-specific: check for data element (0028,0008) Number of Frames.
If it is a multiframe image, how to know the number of frames.
Same as above.
if I would access the #n frame in a multiframe dicom file, for example, query the value of #n image with a tag, is there any library avaialble? if yes, could you direct me where to find the function list in DCMTK lib? Otherwise, how to do it with existing DCMTK functions.
You could for example use the class DicomImage which encapsulates all the details of the DICOM image format (at least for visualization purposes).

xdx
Posts: 3
Joined: Mon, 2009-06-15, 17:41

#3 Post by xdx »

Thank you for the prompt reply!

But, it seems DicomImage doesn't have all the frame specific info that exists in single frame image. Here are several questions about multiframe dicom image:

- do all the frames share the same InstanceUID? And DicomImage doesn't output it, right?

- how to imaging time for each frame?

- how to get the image position for each frame? In single frame image, it can be obtained at (0x0020, 0x0032). I didn't find such info in DicomImage class.

Thank you again!

Don

Jörg Riesmeier
ICSMED DICOM Services
ICSMED DICOM Services
Posts: 2217
Joined: Fri, 2004-10-29, 21:38
Location: Oldenburg, Germany

#4 Post by Jörg Riesmeier »

do all the frames share the same InstanceUID? And DicomImage doesn't output it, right?
If all frames are stored in a single DICOM object (i.e. file) then, of course, they share the same SOP Instance UID.
how to imaging time for each frame?
Time information is stored in the dataset, so you should use the DcmDataset class in order to retrieve the required values.
how to get the image position for each frame? In single frame image, it can be obtained at (0x0020, 0x0032). I didn't find such info in DicomImage class.
Same as above.

Please note that there is no specific support for the functional group sequences used by the Enhanced MR SOP Class - at least not yet.

Post Reply

Who is online

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