Mercurial > hg > orthanc-book
diff Sphinx/source/plugins/python/pil.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/pil.py Fri Jun 11 10:07:12 2021 +0200 @@ -0,0 +1,26 @@ +from PIL import Image +import io +import orthanc + +def DecodeInstance(output, uri, **request): + if request['method'] == 'GET': + # Retrieve the instance ID from the regular expression (*) + instanceId = request['groups'][0] + + # Render the instance, then open it in Python using PIL/Pillow + png = orthanc.RestApiGet('/instances/%s/rendered' % instanceId) + image = Image.open(io.BytesIO(png)) + + # Downsize the image as a 64x64 thumbnail + image.thumbnail((64, 64), Image.ANTIALIAS) + + # Save the thumbnail as JPEG, then send the buffer to the caller + jpeg = io.BytesIO() + image.save(jpeg, format = "JPEG", quality = 80) + jpeg.seek(0) + output.AnswerBuffer(jpeg.read(), 'text/plain') + + else: + output.SendMethodNotAllowed('GET') + +orthanc.RegisterRestCallback('/pydicom/(.*)', DecodeInstance) # (*)