Mercurial > hg > orthanc-book
view Sphinx/source/plugins/python/pil.py @ 880:ac9b677b73c3
object-storage 2.1.0
| author | Alain Mazy <am@osimis.io> |
|---|---|
| date | Fri, 21 Oct 2022 14:57:05 +0200 |
| parents | a589668768d7 |
| children | 3bae50354314 |
line wrap: on
line source
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) # (*)
