Mercurial > hg > orthanc
diff OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp @ 4514:5b929e6b3c36
removal of "dicom-as-json" attachments
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 16 Feb 2021 12:18:41 +0100 |
parents | 11c2ddb4e2ca |
children | 8734caa12448 |
line wrap: on
line diff
--- a/OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp Fri Feb 12 12:13:19 2021 +0100 +++ b/OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.cpp Tue Feb 16 12:18:41 2021 +0100 @@ -886,7 +886,8 @@ unsigned int maxStringLength, Encoding encoding, bool hasCodeExtensions, - const std::set<DicomTag>& ignoreTagLength) + const std::set<DicomTag>& ignoreTagLength, + unsigned int depth) { if (parent.type() == Json::nullValue) { @@ -925,7 +926,8 @@ { DcmItem* child = sequence.getItem(i); Json::Value& v = target.append(Json::objectValue); - DatasetToJson(v, *child, format, flags, maxStringLength, encoding, hasCodeExtensions, ignoreTagLength); + DatasetToJson(v, *child, format, flags, maxStringLength, encoding, hasCodeExtensions, + ignoreTagLength, depth + 1); } } } @@ -938,7 +940,8 @@ unsigned int maxStringLength, Encoding encoding, bool hasCodeExtensions, - const std::set<DicomTag>& ignoreTagLength) + const std::set<DicomTag>& ignoreTagLength, + unsigned int depth) { assert(parent.type() == Json::objectValue); @@ -952,6 +955,14 @@ DicomTag tag(FromDcmtkBridge::Convert(element->getTag())); + // New flag in Orthanc 1.9.1 + if (depth == 0 && + (flags & DicomToJsonFlags_StopAfterPixelData) && + tag > DICOM_TAG_PIXEL_DATA) + { + continue; + } + /*element->getTag().isPrivate()*/ if (tag.IsPrivate() && !(flags & DicomToJsonFlags_IncludePrivateTags)) @@ -978,8 +989,8 @@ } } - FromDcmtkBridge::ElementToJson(parent, *element, format, flags, - maxStringLength, encoding, hasCodeExtensions, ignoreTagLength); + FromDcmtkBridge::ElementToJson(parent, *element, format, flags, maxStringLength, encoding, + hasCodeExtensions, ignoreTagLength, depth); } } @@ -997,7 +1008,7 @@ Encoding encoding = DetectEncoding(hasCodeExtensions, dataset, defaultEncoding); target = Json::objectValue; - DatasetToJson(target, dataset, format, flags, maxStringLength, encoding, hasCodeExtensions, ignoreTagLength); + DatasetToJson(target, dataset, format, flags, maxStringLength, encoding, hasCodeExtensions, ignoreTagLength, 0); } @@ -1009,7 +1020,7 @@ { std::set<DicomTag> ignoreTagLength; target = Json::objectValue; - DatasetToJson(target, dataset, format, flags, maxStringLength, Encoding_Ascii, false, ignoreTagLength); + DatasetToJson(target, dataset, format, flags, maxStringLength, Encoding_Ascii, false, ignoreTagLength, 0); }