diff Sphinx/source/plugins/python/pydicom.py @ 703:a589668768d7

moving python samples in separate files (2)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 11 Jun 2021 10:07:12 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Sphinx/source/plugins/python/pydicom.py	Fri Jun 11 10:07:12 2021 +0200
@@ -0,0 +1,18 @@
+import io
+import orthanc
+import pydicom
+
+def DecodeInstance(output, uri, **request):
+    if request['method'] == 'GET':
+        # Retrieve the instance ID from the regular expression (*)
+        instanceId = request['groups'][0]
+        # Get the content of the DICOM file
+        f = orthanc.GetDicomForInstance(instanceId)
+        # Parse it using pydicom
+        dicom = pydicom.dcmread(io.BytesIO(f))
+        # Return a string representation the dataset to the caller
+        output.AnswerBuffer(str(dicom), 'text/plain')
+    else:
+        output.SendMethodNotAllowed('GET')
+
+orthanc.RegisterRestCallback('/pydicom/(.*)', DecodeInstance)  # (*)