diff OrthancServer/OrthancRestApi.cpp @ 305:86bb79522f19

name of the private tags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 20 Dec 2012 13:01:46 +0100
parents 4eea080e6e7a
children 326d5a4a5af3
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi.cpp	Wed Dec 19 14:57:18 2012 +0100
+++ b/OrthancServer/OrthancRestApi.cpp	Thu Dec 20 13:01:46 2012 +0100
@@ -841,8 +841,9 @@
 
   // Modification of DICOM instances ------------------------------------------
 
-  static void ModifyInstanceInternal(ParsedDicomFile& toModify,
-                                     const Json::Value& replacements)
+  static void ReplaceInstanceInternal(ParsedDicomFile& toModify,
+                                      const Json::Value& replacements,
+                                      DicomReplaceMode mode)
   {
     if (!replacements.isObject())
     {
@@ -857,15 +858,18 @@
       std::string value = replacements[name].asString();
 
       DicomTag tag = FromDcmtkBridge::ParseTag(name);      
-      toModify.Replace(tag, value);
+      toModify.Replace(tag, value, mode);
     }
 
     // A new SOP instance UID is automatically generated
     std::string instanceUid = FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Instance);
-    toModify.Replace(DICOM_TAG_SOP_INSTANCE_UID, instanceUid);
+    toModify.Replace(DICOM_TAG_SOP_INSTANCE_UID, instanceUid, DicomReplaceMode_InsertIfAbsent);
   }
 
 
+  
+
+
   static void ModifyInstance(RestApi::PostCall& call)
   {
     RETRIEVE_CONTEXT(call);
@@ -877,7 +881,7 @@
     if (call.ParseJsonRequest(request))
     {
       std::auto_ptr<ParsedDicomFile> modified(dicom.Clone());
-      ModifyInstanceInternal(*modified, request);
+      ReplaceInstanceInternal(*modified, request, DicomReplaceMode_InsertIfAbsent);
       modified->Answer(call.GetOutput());
     }
 
@@ -885,8 +889,6 @@
     std::string seriesUid = FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Series);
     modified->Replace(DICOM_TAG_SERIES_INSTANCE_UID, seriesUid);
     modified->Replace(DICOM_TAG_STUDY_INSTANCE_UID, studyUid);*/
-
-
   }