Program: gdcm
Module: $RCSfile: gdcmDocument.cxx,v $
Language: C++
- Date: $Date: 2007/06/18 11:10:17 $
- Version: $Revision: 1.361 $
+ Date: $Date: 2007/07/11 12:21:01 $
+ Version: $Revision: 1.363 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
uint16_t length16;
if ( Filetype == ExplicitVR && !entry->IsImplicitVR() )
{
+
+ // WARNING :
+ //
+ // For some images, length of UN elements is coded on 2 bytes (instead of 4)
+ // There are *not* readable !
+ // You can make a quick and dirty patch, commenting out
+ //| vr == "UN"
+ // in the following line.
+ // (the 'straight' images will no longer be readable ...)
+
if ( vr == "OB" || vr == "OW" || vr == "SQ" || vr == "UT"
- || vr == "UN" || changeFromUN == true)
+ || vr == "UN" || changeFromUN == true)
{
changeFromUN = false;
// The following reserved two bytes (see PS 3.5-2003, section
return false;
s16 = *((uint16_t *)(deb+2));
- //s32 = *((uint32_t *)(deb));
Fp->seekg ( 0L, std::ios::beg); // Once per Document
CurrentOffsetPosition = 0;
switch(s16) // try an other trick!
// -> to be able to decode 0029|1010 DataElement
// -> and be not less cleaver than dcmdump ;-)
{
- case 0x00040000 :
- SwapCode = 4321;
+ case 0x0004 :
+ SwapCode = 1234;
break;
- case 0x04000000 :
+ case 0x0400 :
SwapCode = 3412;
- break;
- case 0x00000400 :
- SwapCode = 2143;
- break;
- case 0x00000004 :
- SwapCode = 1234;
- break;
-
+ break;
default:
gdcmWarningMacro("ACR/NEMA unfound swap info (Hopeless !)");
Filetype = Unknown;