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: David G. <dav...@gm...> - 2017-08-17 17:03:53
|
DCS = DICOM Conformance Statement PMS = Philips Medical Systems (I don't recognize the acronyms either, I'm just guessing from context!) On Thu, Aug 17, 2017 at 10:38 AM, <k3...@fr...> wrote: > Thanks for this detailed answer. > > Could you explain me what DCS and PMS stand for? > > Here is the output of gdcminfo for that image: > MediaStorage is 1.2.840.10008.5.1.4.1.1.4 [MR Image Storage] > TransferSyntax is 1.2.840.10008.1.2 [Implicit VR Little Endian: Default > Transfer Syntax for DICOM] > NumberOfDimensions: 2 > Dimensions: (160,160,1) > SamplesPerPixel :1 > BitsAllocated :16 > BitsStored :12 > HighBit :11 > PixelRepresentation:0 > ScalarType found :UINT16 > PhotometricInterpretation: MONOCHROME2 > PlanarConfiguration: 0 > TransferSyntax: 1.2.840.10008.1.2 > Origin: (-73.2212,-67.9772,129.333) > Spacing: (1,1,3) > DirectionCosines: (1,0,0,0,1,0) > Rescale Intercept/Slope: (-3142,1.53455) > Orientation Label: AXIAL > > I guess we should blame ITK right? :) > Thanks > > Florent > > ----- Mail original ----- > De: "Mathieu Malaterre" <mat...@gm...> > À: k3...@fr... > Cc: "gdcm-developers" <gdc...@li...> > Envoyé: Jeudi 17 Août 2017 14:18:29 > Objet: Re: [Gdcm2] GDCM cannot get rescale intercept/slope/type from > nested objects with undefined length > > On Thu, Aug 17, 2017 at 2:10 PM, Mathieu Malaterre > <mat...@gm...> wrote: > > Salut Florent :) > > > > On Thu, Aug 17, 2017 at 11:16 AM, <k3...@fr...> wrote: > >> Hi, > >> > >> I am trying to read a DICOM series (multi-echo series from Philips) but > I need to check some DICOM tags first: > >> - 0028,1052: rescale intercept > >> - 0028,1053: rescale slope > >> - 0028,1054: rescale type > > > > So you are dealing with legacy MR Image Storage instance(s) from > > Philips Medical System. > > > >> Unfortunately GDCM is not able to find that tags through ITKs API > (gdcmIO->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": > >> > >> (2001,1068) ?? (SQ) (Sequence with undefined length) # u/l,1 > ?LinearModalityGLTrafo > >> (fffe,e000) na (Item with undefined length) > >> (0028,1052) ?? (DS) [-12095] # 6,1 > Rescale Intercept > >> (0028,1053) ?? (DS) [5.90720390720390] # > 16,1 Rescale Slope > >> (0028,1054) ?? (LO) [normalized] # > 10,1 Rescale Type > >> (2001,0010) ?? (LO) [Philips Imaging DD 001] # > 22,1 Private Creator > >> (2001,1077) ?? (CS) [LINEARMODALITY] # > 14,1 GL TrafoType > >> (2001,10c1) ?? (LO) [LinearModalityGLTrafo ] # > 22,1 Nested Object Type Name > >> (fffe,e00d) > >> (fffe,e0dd) > > > > Well since the public tag is nested within a private tags, this means > > it belong to the extended SOP Class definition. In case you have > > access to the DCS of PMS for that particular instance, you should be > > able to implement support for it. > > > >> 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? > >> Thanks. > > > > I am not 100% convince there is anything to 'fix', could you please > > send us the output of gdcminfo on that image. This will tell whether > > the issue is really at GDCM level or at ITK level. I did implement > > support for those Philips 'Combine MR Rescale option', since GDCM > > 2.6.x > > I forgot to answer the last question: yes you can avoid this kind of > object, since by definition MR Image Storage cannot store Rescale > Intercept/Slope. > > See for example: > https://groups.google.com/d/msg/comp.protocols.dicom/ > M4kdqcrs50Y/fJVGWNsgAwAJ > > -- > Mathieu > |