+
+ // For old ACR-NEMA (24 bits problem)
+ Archive->Restore(0x0028,0x0100);
+ Archive->Restore(0x0028,0x0101);
+ Archive->Restore(0x0028,0x0102);
+
+ // For the LUT
+ Archive->Restore(0x0028,0x1101);
+ Archive->Restore(0x0028,0x1102);
+ Archive->Restore(0x0028,0x1103);
+ Archive->Restore(0x0028,0x1201);
+ Archive->Restore(0x0028,0x1202);
+ Archive->Restore(0x0028,0x1203);
+}
+
+void File::SetWriteFileTypeToACR()
+{
+ Archive->Push(0x0002,0x0010);
+}
+
+void File::SetWriteFileTypeToExplicitVR()
+{
+ std::string ts = Util::DicomString(
+ Document::GetTransferSyntaxValue(ExplicitVRLittleEndian).c_str() );
+
+ ValEntry* tss = CopyValEntry(0x0002,0x0010);
+ tss->SetValue(ts);
+
+ Archive->Push(tss);
+}
+
+void File::SetWriteFileTypeToImplicitVR()
+{
+ std::string ts = Util::DicomString(
+ Document::GetTransferSyntaxValue(ImplicitVRLittleEndian).c_str() );
+
+ ValEntry* tss = CopyValEntry(0x0002,0x0010);
+ tss->SetValue(ts);
+}
+
+void File::RestoreWriteFileType()
+{
+ Archive->Restore(0x0002,0x0010);