Clear Filters
Clear Filters

How to extract a single field from DICOM Data

5 views (last 30 days)
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
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.

Sign in to comment.

Answers (1)

ILÁN FRANCISCO CARRETERO JUCHNOWICZ
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
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.

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!