diff Core/DicomFormat/DicomMap.cpp @ 681:3bdb5db8e839 query-retrieve

generalization of query/retrieve
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 24 Jan 2014 17:40:45 +0100
parents 08eca5d86aad
children 67e6400fca03
line wrap: on
line diff
--- a/Core/DicomFormat/DicomMap.cpp	Fri Jan 24 15:35:39 2014 +0100
+++ b/Core/DicomFormat/DicomMap.cpp	Fri Jan 24 17:40:45 2014 +0100
@@ -386,4 +386,32 @@
     GetMainDicomTagsInternal(result, ResourceType_Series);
     GetMainDicomTagsInternal(result, ResourceType_Instance);
   }
+
+
+  void DicomMap::ExtractMainDicomTagsForLevel(DicomMap& result,
+                                              ResourceType level) const
+  {
+    switch (level)
+    {
+      case ResourceType_Patient:
+        ExtractPatientInformation(result);
+        break;
+
+      case ResourceType_Study:
+        ExtractStudyInformation(result);
+        break;
+
+      case ResourceType_Series:
+        ExtractSeriesInformation(result);
+        break;
+
+      case ResourceType_Instance:
+        ExtractInstanceInformation(result);
+        break;
+
+      default:
+        throw OrthancException(ErrorCode_ParameterOutOfRange);
+    }
+  }
+
 }