Program: gdcm
Module: $RCSfile: gdcmDicomDir.cxx,v $
Language: C++
- Date: $Date: 2007/07/26 08:36:49 $
- Version: $Revision: 1.194 $
+ Date: $Date: 2010/04/09 15:23:40 $
+ Version: $Revision: 1.198 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
std::ofstream *fp = new std::ofstream(fileName.c_str(),
std::ios::out | std::ios::binary);
- if ( !fp )
+ if ( !fp )
{
gdcmWarningMacro("Failed to open(write) File: " << fileName.c_str());
return false;
binary_write( *fp, "DICM");
DicomDirMeta *ptrMeta = GetMeta();
- ptrMeta->WriteContent(fp, ExplicitVR, true);
+ ptrMeta->WriteContent(fp, ExplicitVR, true, false);
// force writing 0004|1220 [SQ ], that CANNOT exist within DicomDirMeta
for(i=0;i<6;++i)
cc != Patients.end();
++cc )
{
- (*cc)->WriteContent( fp, ExplicitVR, false );
+ (*cc)->WriteContent( fp, ExplicitVR, false, true );
}
// force writing Sequence Delimitation Item
gdcmErrorMacro( "Add PatientToEnd failed");
}
}
- /// \to do : deal with PRIVATE (not so easy, since PRIVATE appears
+ /// \todo : deal with PRIVATE (not so easy, since PRIVATE appears
/// at different levels ?!? )
else if ( v == "PRIVATE " ) // for SIEMENS 'CSA Non Image'
{
// get the current file characteristics
patCurName = (*it)->GetEntryString(0x0010,0x0010);
+ if (patCurName == "") // to prevent further troubles when wild anonymization was performed
+ patCurName = "gdcm^Patient";
patCurID = (*it)->GetEntryString(0x0010,0x0011);
studCurInstanceUID = (*it)->GetEntryString(0x0020,0x000d);
studCurID = (*it)->GetEntryString(0x0020,0x0010);