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
How to load multiframe Dicom image
Moderator: Moderator Team
-
- ICSMED DICOM Services
- Posts: 2217
- Joined: Fri, 2004-10-29, 21:38
- Location: Oldenburg, Germany
This is not DCMTK-specific: check for data element (0028,0008) Number of Frames.How to know a dicom file is a multi-frame one or the classical single frame image;
Same as above.If it is a multiframe image, how to know the number of frames.
You could for example use the class DicomImage which encapsulates all the details of the DICOM image format (at least for visualization purposes).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.
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
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
-
- ICSMED DICOM Services
- Posts: 2217
- Joined: Fri, 2004-10-29, 21:38
- Location: Oldenburg, Germany
If all frames are stored in a single DICOM object (i.e. file) then, of course, they share the same SOP Instance UID.do all the frames share the same InstanceUID? And DicomImage doesn't output it, right?
Time information is stored in the dataset, so you should use the DcmDataset class in order to retrieve the required values.how to imaging time for each frame?
Same as above.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.
Please note that there is no specific support for the functional group sequences used by the Enhanced MR SOP Class - at least not yet.
Who is online
Users browsing this forum: Ahrefs [Bot], Google [Bot] and 1 guest