Program: gdcm
Module: $RCSfile: gdcmDocument.cxx,v $
Language: C++
- Date: $Date: 2005/06/02 12:26:19 $
- Version: $Revision: 1.242 $
+ Date: $Date: 2005/06/07 15:31:31 $
+ Version: $Revision: 1.244 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
//-----------------------------------------------------------------------------
-// Refer to Document::CheckSwap()
-//const unsigned int Document::HEADER_LENGTH_TO_READ = 256;
// Refer to Document::SetMaxSizeLoadEntry()
const unsigned int Document::MAX_SIZE_LOAD_ELEMENT_VALUE = 0xfff; // 4096
if( IsDocumentAlreadyLoaded )
{
gdcmWarningMacro( "A file was already parsed inside this "
- << "gdcm::Document (previous name was: "
- << Filename.c_str() << ". New name is :"
- << fileName );
+ << "gdcm::Document (previous name was: "
+ << Filename.c_str() << ". New name is :"
+ << fileName );
// todo : clean out the 'Document'
// We should call ClearEntry() on the parent object ?!?
}
if( filetype == ExplicitVR )
{
- if ( (vr == "OB") || (vr == "OW") || (vr == "SQ") )
+ if ( (vr == "OB") || (vr == "OW") || (vr == "SQ") || (vr == "UT") )
{
- // explicit VR AND OB, OW, SQ : 4 more bytes
+ // explicit VR AND OB, OW, SQ, UT : 4 more bytes
groupLength += 4;
}
}
if ( strLgrGroup != GDCM_UNFOUND)
{
lgrGroup = atoi(strLgrGroup.c_str());
- Fp->seekg(lgrGroup , std::ios::cur);
+ Fp->seekg(lgrGroup, std::ios::cur);
used = false;
continue;
}
{
if (BinEntry *binEntryPtr = dynamic_cast< BinEntry* >(entry) )
{
- //s << "gdcm::NotLoaded (BinEntry)";
s << GDCM_NOTLOADED;
s << " Ad.:" << (long)entry->GetOffset();
s << " x(" << std::hex << entry->GetOffset() << ")";
s << " x(" << std::hex << entry->GetLength() << ")";
binEntryPtr->SetValue(s.str());
}
- // Be carefull : a BinEntry IS_A ValEntry ...
else if (ValEntry *valEntryPtr = dynamic_cast< ValEntry* >(entry) )
{
- // s << "gdcm::NotLoaded. (ValEntry)";
s << GDCM_NOTLOADED;
s << " Address:" << (long)entry->GetOffset();
s << " Length:" << entry->GetLength();
uint32_t NewInt;
int nbInt;
// When short integer(s) are expected, read and convert the following
- // n *two characters properly i.e. consider them as short integers as
+ // (n * 2) characters properly i.e. consider them as short integers as
// opposed to strings.
// Elements with Value Multiplicity > 1
// contain a set of integers (not a single one)
{
newValue = Util::DicomString(str, length+1);
gdcmWarningMacro("Warning: bad length: " << length <<
- ",For string :" << newValue.c_str());
+ " ,For string :" << newValue.c_str());
// Since we change the length of string update it length
//entry->SetReadLength(length+1);
}
if ( Filetype == ExplicitVR && !entry->IsImplicitVR() )
{
- if ( vr == "OB" || vr == "OW" || vr == "SQ" || vr == "UN" )
+ if ( vr == "OB" || vr == "OW" || vr == "SQ" || vr == "UT" || vr == "UN" )
{
// The following reserved two bytes (see PS 3.5-2003, section
// "7.1.2 Data element structure with explicit vr", p 27) must be
// Allthough not recent many such GE corrupted images are still present
// on Creatis hard disks. Hence this fix shall remain when such images
// are no longer in use (we are talking a few years, here)...
- // Note: XMedCom probably uses such a trick since it is able to read
+ // Note: XMedCon probably uses such a trick since it is able to read
// those pesky GE images ...
if ( foundLength == 13)
{