Module: $RCSfile: gdcmFileHelper.cxx,v $
Language: C++
- Date: $Date: 2005/03/09 09:45:33 $
- Version: $Revision: 1.29 $
+ Date: $Date: 2005/04/19 09:58:19 $
+ Version: $Revision: 1.33 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
SetWriteFileTypeToImplicitVR();
CheckMandatoryElements();
break;
+ case Unknown: // should never happen; ExplicitVR is the default value
case ExplicitVR:
SetWriteFileTypeToExplicitVR();
CheckMandatoryElements();
break;
case ACR:
case ACR_LIBIDO:
+ // Just to avoid further trouble if user create a file ex-nihilo,
+ // wants to write it as an ACR-NEMA file,
+ // and forget to create any Entry belonging to group 0008
+ // (shame on him !)
+ // We add Recognition Code (RET)
+ if ( ! FileInternal->GetValEntry(0x0008, 0x0010) )
+ FileInternal->InsertValEntry("", 0x0008, 0x0010);
SetWriteFileTypeToACR();
- break;
- default:
- SetWriteFileTypeToExplicitVR();
+ SetWriteFileTypeToImplicitVR();
CheckMandatoryElements();
+ break;
+
}
// --------------------------------------------------------------
// just before writting ...
/// \todo the best trick would be *change* the recognition code
/// but pb expected if user deals with, e.g. COMPLEX images
+
if( WriteType == ACR_LIBIDO )
{
SetWriteToLibido();
Archive->Restore(0x0028,0x0010);
Archive->Restore(0x0028,0x0011);
Archive->Restore(0x0008,0x0010);
+
+ // Restore 'LibIDO-special' entries, if any
+ Archive->Restore(0x0028,0x0015);
+ Archive->Restore(0x0028,0x0016);
+ Archive->Restore(0x0028,0x0017);
+ Archive->Restore(0x0028,0x00199);
}
/**
Archive->Push(e_0010_0010);
}
- // Patient's ID : if missing, we set it to 'GDCM_Patient_ID'
- ValEntry *e_0010_0020 = FileInternal->GetValEntry(0x0010, 0x0020);
- if ( !e_0010_0020 )
- {
- e_0010_0020 = new ValEntry(
- Global::GetDicts()->GetDefaultPubDict()->GetEntry(0x0010, 0x0020) );
- e_0010_0020->SetValue("GDCM_Patient_ID");
- Archive->Push(e_0010_0020);
- }
-
- // Patient's Birth Date :'type 2' entry -> must exist, value not mandatory
+ // Patient's Birth Date : 'type 2' entry -> must exist, value not mandatory
ValEntry *e_0010_0030 = FileInternal->GetValEntry(0x0010, 0x0030);
if ( !e_0010_0030 )
{