Reading private DICOM tags?

  • Follow


I'm trying to extract the value of a private DICOM tag of a PHILIPS PET/CT scan file in Matlab.

The specific tag is 7053,1000.

I've created a custom dicom-dict and added the line:
(7053,1000) UN SUVScalefactor 1

But all I get in return when reading the dicom file in Matlab is a vector with bytes and not the correct value which is decimal value like (0.001817).

What am I doing wrong here?

John
0
Reply john.ly (1) 2/25/2010 2:53:03 PM

John,

You were so close!  The private value is returned as a vector of bytes 
because of the "UN" in your dicom-dict file.  That value means 
"unknown," so we just return the bytes without any translation.

You'll need to get the two-character code for the destination type. 
Likely choices are "DS" for "decimal string" (a string that gets 
converted to a floating point number), "FL" for single-precision 
floating point numbers, or "FD" for double-precision floats.  You can 
see the full set of possible values in Part 5, section 6.2.2 of the 
DICOM standard... or just look in dicominfo.m at the convertRawAttr() 
function, which is probably easier.

The final arbiter of the value that you should use is the scanner's 
DICOM conformance statement.  Often these are available online, but they 
don't always give all of the details of private attributes.  Maybe 
that's where you got the values for your data dictionary.

Good luck!

Jeff


John Ly wrote:
> I'm trying to extract the value of a private DICOM tag of a PHILIPS 
> PET/CT scan file in Matlab.
> 
> The specific tag is 7053,1000.
> 
> I've created a custom dicom-dict and added the line:
> (7053,1000) UN SUVScalefactor 1
> 
> But all I get in return when reading the dicom file in Matlab is a 
> vector with bytes and not the correct value which is decimal value like 
> (0.001817).
> 
> What am I doing wrong here?
> 
> John
0
Reply jeff.mather (70) 2/25/2010 6:49:15 PM


1 Replies
41 Views

(page loaded in 0.133 seconds)


Reply: