changeset 353:61e4c62b8c35

samples of anonymization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 28 Jan 2013 16:58:07 +0100
parents cc9eddbf07d3
children 4d76fce206ef
files Resources/Samples/Python/AnonymizeAllPatients.py Resources/Samples/Python/DownloadAnonymized.py
diffstat 2 files changed, 34 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Resources/Samples/Python/AnonymizeAllPatients.py	Mon Jan 28 16:43:49 2013 +0100
+++ b/Resources/Samples/Python/AnonymizeAllPatients.py	Mon Jan 28 16:58:07 2013 +0100
@@ -22,4 +22,6 @@
     if not name.startswith('anonymized'):
 
         # Trigger the anonymization
-        RestToolbox.DoPost('%s/patients/%s/anonymize' % (URL, patient))
+        RestToolbox.DoPost('%s/patients/%s/anonymize' % (URL, patient),
+                           { 'Keep' : [ 'SeriesDescription',
+                                        'StudyDescription' ] })
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/Samples/Python/DownloadAnonymized.py	Mon Jan 28 16:58:07 2013 +0100
@@ -0,0 +1,31 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+
+URL = 'http://localhost:8042'
+
+#
+# This sample code will download a ZIP file for each patient that has
+# been anonymized in Orthanc.
+#
+
+import os
+import os.path
+import sys
+import RestToolbox
+
+# Loop over the patients
+for patient in RestToolbox.DoGet('%s/patients' % URL):
+
+    # Ignore patients whose name starts with "Anonymized", as it is
+    # the result of a previous anonymization
+    infos = RestToolbox.DoGet('%s/patients/%s' % (URL, patient))
+    name = infos['MainDicomTags']['PatientName'].lower()
+    if name.startswith('anonymized'):
+
+        # Trigger the download
+        print 'Downloading %s' % name
+        zipContent = RestToolbox.DoGet('%s/patients/%s/archive' % (URL, patient))
+        f = open(os.path.join('/tmp', name + '.zip'), 'wb')
+        f.write(zipContent)
+        f.close()