From b4231dbceb7300514df7dbed00f84639b6ca6a4a Mon Sep 17 00:00:00 2001 From: jpr Date: Wed, 14 Jan 2004 10:25:30 +0000 Subject: [PATCH] modif in Header printing --- src/gdcmHeader.cxx | 16 ++++++++++++++++ src/gdcmHeaderEntrySet.cxx | 8 ++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/gdcmHeader.cxx b/src/gdcmHeader.cxx index 4c39aada..cdef1721 100644 --- a/src/gdcmHeader.cxx +++ b/src/gdcmHeader.cxx @@ -1830,6 +1830,22 @@ void gdcmHeader::FixHeaderEntryFoundLength(gdcmHeaderEntry * ElVal, guint32 Foun FoundLength =0; } + + // a SeQuence Element is beginning + // Let's forget it's length + // (we want to 'go inside') + + // Pb : *normaly* fffe|e000 is just a marker, its length *should be* zero + // in gdcm-MR-PHILIPS-16-Multi-Seq.dcm we find lengthes as big as 28800 + // if we set the length to zero IsAnInteger() breaks... + // if we don't, we lost 28800 characters from the Header :-( + + else if(ElVal->GetGroup() == 0xfffe){ + //printf("========================= %08x %d\n",FoundLength,FoundLength); + // sometimes, length seems to be wrong + //FoundLength =0; // some more clever checking to be done ! + } + ElVal->SetUsableLength(FoundLength); } diff --git a/src/gdcmHeaderEntrySet.cxx b/src/gdcmHeaderEntrySet.cxx index b49582d2..acbefa42 100644 --- a/src/gdcmHeaderEntrySet.cxx +++ b/src/gdcmHeaderEntrySet.cxx @@ -44,8 +44,6 @@ void gdcmHeaderEntrySet::Print(std::ostream & os) { gdcmTS * ts = gdcmGlobal::GetTS(); std::ostringstream s; - - s << "------------- using tagHT ---------------------" << std::endl; // Tag HT s << "------------- using tagHT ---------------------" << std::endl; @@ -97,10 +95,8 @@ void gdcmHeaderEntrySet::Print(std::ostream & os) { d2 = _CreateCleanString(v); // replace non printable characters by '.' s << greltag << ": lgth : "; lgth = (*i)->GetReadLength(); - if ( lgth == 0xffffffff) - s << std::hex << lgth << std::dec ; - else - s << lgth; + + s << std::hex << "x(" << lgth << ") "<< std::dec << lgth; s << ",\t Offset : " << o; s << " x(" << std::hex << o << std::dec << ") "; s << "\t[" << (*i)->GetVR() << "]"; -- 2.45.1