How to extract a single field from DICOM Data

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 commentaire

Rik
Rik le 7 Oct 2018
Not as far as I know. I just read the file in binary and then extracted the value that I needed.

Connectez-vous pour commenter.

Réponses (1)

0 votes

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 commentaires

Rik
Rik le 17 Juin 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.
okey Rik, thanks for the information!

Connectez-vous pour commenter.

Produits

Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by