How to extract a single field from DICOM Data
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ben Fidock
el 6 de Oct. de 2018
Comentada: ILÁN FRANCISCO CARRETERO JUCHNOWICZ
el 17 de Jun. de 2020
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 comentario
Rik
el 7 de Oct. de 2018
Not as far as I know. I just read the file in binary and then extracted the value that I needed.
Respuestas (1)
ILÁN FRANCISCO CARRETERO JUCHNOWICZ
el 17 de Jun. de 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 comentarios
Rik
el 17 de Jun. de 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.
Ver también
Categorías
Más información sobre DICOM Format en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!