Mercurial > hg > orthanc-book
view Sphinx/source/plugins/python/dicom-find-move-scp.py @ 1126:28dfd8d2d082 default tip
documenting wsi 3.0
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 27 Dec 2024 20:29:59 +0100 |
parents | daf07750e901 |
children |
line wrap: on
line source
import json import orthanc import pprint def OnFind(answers, query, issuerAet, calledAet): print('Received incoming C-FIND request from %s:' % issuerAet) answer = {} for i in range(query.GetFindQuerySize()): print(' %s (%04x,%04x) = [%s]' % (query.GetFindQueryTagName(i), query.GetFindQueryTagGroup(i), query.GetFindQueryTagElement(i), query.GetFindQueryValue(i))) answer[query.GetFindQueryTagName(i)] = ('HELLO%d-%s' % (i, query.GetFindQueryValue(i))) answers.FindAddAnswer(orthanc.CreateDicom( json.dumps(answer), None, orthanc.CreateDicomFlags.NONE)) def OnMove(**request): orthanc.LogWarning('C-MOVE request to be handled in Python: %s' % json.dumps(request, indent = 4, sort_keys = True)) # To indicate a failure in the processing, one can raise an exception: # raise Exception('Cannot handle C-MOVE') orthanc.RegisterFindCallback(OnFind) orthanc.RegisterMoveCallback(OnMove)