How to extract a single field from DICOM Data
2 views (last 30 days)
Show older comments
For my work I have to use DICOMINFO. However from the long list that appears I only need to see one or two lines of this. Is there any way of requesting only this data or a second line of code that I could add after DICOMINFO to extract the information that I need?
1 Comment
Rik
on 7 Oct 2018
Not as far as I know. I just read the file in binary and then extracted the value that I needed.
Answers (1)
ILÁN FRANCISCO CARRETERO JUCHNOWICZ
on 17 Jun 2020
Hi,
I recently contacted MathWorks Support and they have advised me the following solution:
''there is an undocumented way you might be able to extract 'dicominfo' faster. Please see the following example.
>> obj = images.internal.dicom.DICOMFile('CT-MONO2-16-ankle.dcm');
>> info = obj.getAttributeByName('SeriesTime');
This method first creates an object to extract the attributesNames and then use 'getAttributeByName' to read the information of a particular attribute. "
I have tried the commands detailed above and it works really well and faster than the dicominfo function.
I hope it helps you!
2 Comments
Rik
on 17 Jun 2020
The dicominfo function works well and can handle a lot of damaged or not fully DICOM-compliant files. If you don't need that robustness it is painfully slow.
If you need a much faster version, you can use this FEX submission. I haven't compared the speed of that function with the code you just posted.
See Also
Categories
Find more on DICOM Format in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!