Re: [Gdcm2] GDCM cannot get rescale intercept/slope/type from nested objects with undefined length
Cross-platform DICOM implementation
Brought to you by:
malat
|
From: <k3...@fr...> - 2017-08-18 06:11:23
|
<div dir='auto'>Thanks David.<div dir="auto">Unfortunately I am not very familiar with DICOM standard so I don't know what "DICOM Conformance Statement" is?<span style="font-family: sans-serif; font-size: 13.696px;"></span></div><div dir="auto">How could I make it work if I have this information for Phillips?</div><div dir="auto"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Le 17 août 2017 19:03, David Gobbi <dav...@gm...> a écrit :<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">DCS = DICOM Conformance Statement<div>PMS = Philips Medical Systems</div><div><br /></div><div>(I don't recognize the acronyms either, I'm just guessing from context!)</div><div><br /><div><br /><div class="elided-text">On Thu, Aug 17, 2017 at 10:38 AM, <span dir="ltr"><<a href="mailto:k3ops@free.fr">k3ops@free.fr</a>></span> wrote:<br /><blockquote style="margin:0 0 0 0.8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks for this detailed answer.<br /> <br /> Could you explain me what DCS and PMS stand for?<br /> <br /> Here is the output of gdcminfo for that image:<br /> MediaStorage is 1.2.840.10008.5.1.4.1.1.4 [MR Image Storage]<br /> TransferSyntax is 1.2.840.10008.1.2 [Implicit VR Little Endian: Default Transfer Syntax for DICOM]<br /> NumberOfDimensions: 2<br /> Dimensions: (160,160,1)<br /> SamplesPerPixel :1<br /> BitsAllocated :16<br /> BitsStored :12<br /> HighBit :11<br /> PixelRepresentation:0<br /> ScalarType found :UINT16<br /> PhotometricInterpretation: MONOCHROME2<br /> PlanarConfiguration: 0<br /> TransferSyntax: 1.2.840.10008.1.2<br /> Origin: (-73.2212,-67.9772,129.333)<br /> Spacing: (1,1,3)<br /> DirectionCosines: (1,0,0,0,1,0)<br /> Rescale Intercept/Slope: (-3142,1.53455)<br /> Orientation Label: AXIAL<br /> <br /> I guess we should blame ITK right? :)<br /> Thanks<br /> <br /> Florent<br /> <br /> ----- Mail original -----<br /> De: "Mathieu Malaterre" <<a href="mailto:mathieu.malaterre@gmail.com">mathieu.malaterre@gmail.com</a>><br /> À: <a href="mailto:k3ops@free.fr">k3ops@free.fr</a><br /> Cc: "gdcm-developers" <<a href="mailto:gdcm-developers@lists.sourceforge.net">gdcm-developers@lists.<wbr />sourceforge.net</a>><br /> Envoyé: Jeudi 17 Août 2017 14:18:29<br /> Objet: Re: [Gdcm2] GDCM cannot get rescale intercept/slope/type from nested objects with undefined length<br /> <div><div><br /> On Thu, Aug 17, 2017 at 2:10 PM, Mathieu Malaterre<br /> <<a href="mailto:mathieu.malaterre@gmail.com">mathieu.malaterre@gmail.com</a>> wrote:<br /> > Salut Florent :)<br /> ><br /> > On Thu, Aug 17, 2017 at 11:16 AM, <<a href="mailto:k3ops@free.fr">k3ops@free.fr</a>> wrote:<br /> >> Hi,<br /> >><br /> >> I am trying to read a DICOM series (multi-echo series from Philips) but I need to check some DICOM tags first:<br /> >> - 0028,1052: rescale intercept<br /> >> - 0028,1053: rescale slope<br /> >> - 0028,1054: rescale type<br /> ><br /> > So you are dealing with legacy MR Image Storage instance(s) from<br /> > Philips Medical System.<br /> ><br /> >> Unfortunately GDCM is not able to find that tags through ITKs API (gdcmIO-><wbr />GetMetaDataDictionary()), but when I use gdcmdump to search for DICOM tags manually I am able to find the tags but in nested objects with "undefined length":<br /> >><br /> >> (2001,1068) ?? (SQ) (Sequence with undefined length) # u/l,1 ?LinearModalityGLTrafo<br /> >> (fffe,e000) na (Item with undefined length)<br /> >> (0028,1052) ?? (DS) [-12095] # 6,1 Rescale Intercept<br /> >> (0028,1053) ?? (DS) [5.90720390720390] # 16,1 Rescale Slope<br /> >> (0028,1054) ?? (LO) [normalized] # 10,1 Rescale Type<br /> >> (2001,0010) ?? (LO) [Philips Imaging DD 001] # 22,1 Private Creator<br /> >> (2001,1077) ?? (CS) [LINEARMODALITY] # 14,1 GL TrafoType<br /> >> (2001,10c1) ?? (LO) [LinearModalityGLTrafo ] # 22,1 Nested Object Type Name<br /> >> (fffe,e00d)<br /> >> (fffe,e0dd)<br /> ><br /> > Well since the public tag is nested within a private tags, this means<br /> > it belong to the extended SOP Class definition. In case you have<br /> > access to the DCS of PMS for that particular instance, you should be<br /> > able to implement support for it.<br /> ><br /> >> Is there a way to fix that? Did you ever see that kind of nested objects? Is there a configuration on the Philips workstation to avoid that kind of nested objects?<br /> >> Thanks.<br /> ><br /> > I am not 100% convince there is anything to 'fix', could you please<br /> > send us the output of gdcminfo on that image. This will tell whether<br /> > the issue is really at GDCM level or at ITK level. I did implement<br /> > support for those Philips 'Combine MR Rescale option', since GDCM<br /> > 2.6.x<br /> <br /> I forgot to answer the last question: yes you can avoid this kind of<br /> object, since by definition MR Image Storage cannot store Rescale<br /> Intercept/Slope.<br /> <br /> See for example:<br /> <a href="https://groups.google.com/d/msg/comp.protocols.dicom/M4kdqcrs50Y/fJVGWNsgAwAJ">https://groups.google.com/d/<wbr />msg/comp.protocols.dicom/<wbr />M4kdqcrs50Y/fJVGWNsgAwAJ</a><br /> <br /> --<br /> Mathieu<br /></div></div></blockquote></div></div></div></div> </blockquote></div><br></div> |