diff Core/DicomParsing/ParsedDicomFile.cpp @ 2521:6db878376018

support anonymization of CurrentRequestedProcedureEvidenceSequence
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Apr 2018 17:59:16 +0200
parents 4dcafa8d6633
children 9a0c6a046cc2
line wrap: on
line diff
--- a/Core/DicomParsing/ParsedDicomFile.cpp	Thu Mar 29 16:14:10 2018 +0200
+++ b/Core/DicomParsing/ParsedDicomFile.cpp	Mon Apr 09 17:59:16 2018 +0200
@@ -1007,13 +1007,17 @@
   }
 
 
-  ParsedDicomFile::ParsedDicomFile(ParsedDicomFile& other) : 
+  ParsedDicomFile::ParsedDicomFile(ParsedDicomFile& other,
+                                   bool keepSopInstanceUid) : 
     pimpl_(new PImpl)
   {
     pimpl_->file_.reset(dynamic_cast<DcmFileFormat*>(other.pimpl_->file_->clone()));
 
-    // Create a new instance-level identifier
-    ReplacePlainString(DICOM_TAG_SOP_INSTANCE_UID, FromDcmtkBridge::GenerateUniqueIdentifier(ResourceType_Instance));
+    if (!keepSopInstanceUid)
+    {
+      // Create a new instance-level identifier
+      ReplacePlainString(DICOM_TAG_SOP_INSTANCE_UID, FromDcmtkBridge::GenerateUniqueIdentifier(ResourceType_Instance));
+    }
   }
 
 
@@ -1041,9 +1045,9 @@
   }
 
 
-  ParsedDicomFile* ParsedDicomFile::Clone()
+  ParsedDicomFile* ParsedDicomFile::Clone(bool keepSopInstanceUid)
   {
-    return new ParsedDicomFile(*this);
+    return new ParsedDicomFile(*this, keepSopInstanceUid);
   }