diff Core/DicomParsing/ParsedDicomFile.cpp @ 2409:e4045b3c9772

ignore-length argument if retrieving DICOM tags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 27 Sep 2017 17:36:13 +0200
parents 75c779ca948c
children 6e5bc5c6d1a4
line wrap: on
line diff
--- a/Core/DicomParsing/ParsedDicomFile.cpp	Mon Sep 25 14:50:13 2017 +0200
+++ b/Core/DicomParsing/ParsedDicomFile.cpp	Wed Sep 27 17:36:13 2017 +0200
@@ -842,9 +842,10 @@
         return false;
       }
 
+      std::set<DicomTag> tmp;
       std::auto_ptr<DicomValue> v(FromDcmtkBridge::ConvertLeafElement
                                   (*element, DicomToJsonFlags_Default, 
-                                   ORTHANC_MAXIMUM_TAG_LENGTH, GetEncoding()));
+                                   0, GetEncoding(), tmp));
       
       if (v.get() == NULL ||
           v->IsNull())
@@ -1241,14 +1242,36 @@
                                       DicomToJsonFlags flags,
                                       unsigned int maxStringLength)
   {
+    std::set<DicomTag> ignoreTagLength;
     FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset(),
-                                        format, flags, maxStringLength, GetDefaultDicomEncoding());
+                                        format, flags, maxStringLength,
+                                        GetDefaultDicomEncoding(), ignoreTagLength);
+  }
+
+
+  void ParsedDicomFile::DatasetToJson(Json::Value& target, 
+                                      DicomToJsonFormat format,
+                                      DicomToJsonFlags flags,
+                                      unsigned int maxStringLength,
+                                      const std::set<DicomTag>& ignoreTagLength)
+  {
+    FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset(),
+                                        format, flags, maxStringLength,
+                                        GetDefaultDicomEncoding(), ignoreTagLength);
+  }
+
+
+  void ParsedDicomFile::DatasetToJson(Json::Value& target,
+                                      const std::set<DicomTag>& ignoreTagLength)
+  {
+    FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset(), ignoreTagLength);
   }
 
 
   void ParsedDicomFile::DatasetToJson(Json::Value& target)
   {
-    FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset());
+    const std::set<DicomTag> ignoreTagLength;
+    FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset(), ignoreTagLength);
   }
 
 
@@ -1449,12 +1472,6 @@
   }
 
 
-  void ParsedDicomFile::ExtractDicomAsJson(Json::Value& target) const
-  {
-    FromDcmtkBridge::ExtractDicomAsJson(target, *pimpl_->file_->getDataset());
-  }
-
-
   bool ParsedDicomFile::LookupTransferSyntax(std::string& result)
   {
     return FromDcmtkBridge::LookupTransferSyntax(result, *pimpl_->file_);