Need help searching through a DICOM structure

I have a structure ( a DICOMDIR and its files) that I want to search and select certain items for further use. I have been able to read in the DICOMDIR as follows:
dd = dicominfo('path/DICOMDIR');
The next step is to review the items in dd.DirectoryRecordSequence such as
dd.DirectoryRecordSequence.Item_1
There are about 1400 items and I want to index through them with a loop. I can get the proper information with the following:
getfield(dd.DirectoryRecordSequence,'Item_1')
and I can get an array of the field names,
fn = fieldnames(dd.DirectoryRecordSequence);
so that fn(1) is
ans =
1×1 cell array
{'Item_1'}
But
getfield(dd.DirectoryRecordSequence, fn(1))
does not work. How do I go about getting this so I can index it by referencing
fn(i) {where i = 1 to 1400}?
Thank you

1 Commento

I need to use the char function:
dd.DirectoryRecordSequence.(char(fn(3)))

Accedi per commentare.

 Risposta accettata

Walter Roberson
Walter Roberson il 26 Set 2017
Modificato: Walter Roberson il 26 Set 2017
getfield(dd.DirectoryRecordSequence, fn{1})
or
dd.DirectoryRecordSequence.(fn{1})
You do not need char() -- just use the right indexing style

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by