[ITK] [ITK-users] Using Python SimpleITK to Read/Write to BytesIO instance rather than file

Brian E Chapman Brian.Chapman at utah.edu
Wed Oct 26 11:26:48 EDT 2016


Ziv,

Thanks for your reply and the pointer to opneigtlink. Our main motivation is speed: just trying to save the write-to-disk/read-from-disk costs. Using PyDICOM we can read directly from Girder via streams and I believe we also can with nibabel. But ultimately our processing will be done with ITK and I was hoping to have SimpleITK so I was hoping to avoid all the challenges of reading in one format, passing to simpleitk and trying to keep track of all the meta data appropriately in the process.

Brian

------
Brian E. Chapman, Ph.D.
Associate Professor
Department of Radiology and Imaging Sciences
University of Utah

> On Oct 26, 2016, at 8:22 AM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] <zivrafael.yaniv at nih.gov> wrote:
> 
> Hi Brian,
> 
> Currently ITK/SimpleITK do not have components for reading an image
> directly from a stream. We usually download, save to disk, and read from
> disk using the appropriate IO. We used this approach with our Jupyter
> notebooks where the read function either finds the data in a cache or
> fetches it from MIDAS into the cache and then reads it
> (https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks/blob/mast
> er/downloaddata.py).
> 
> The challenge with streaming is that we currently don't have a protocol
> for interpreting the streamed data (meta-data-dictionary + intensity/color
> values). A possible solution is to use a client-server architecture with
> the OpenIGTLink protocol (http://openigtlink.org). You can transfer
> meta-data (patient name etc.) and complete images. See the specification
> on their website.
> 
> Out of curiosity, what is the motivation for the streaming only approach
> (girder -> SimpleITK -> girder)?
> 
>   hope this helps
>     Ziv
> 
> 
> 
> 
> 
> On 10/25/16, 5:15 PM, "Brian E Chapman" <Brian.Chapman at utah.edu> wrote:
> 
>> Hi,
>> 
>> We are looking at using SimpleITK in conjunction with Girder to read
>> images from girder manipulate the images with a Python script and then
>> write the contents back up to Girder. We would prefer to do this using
>> Byte streams rather than saving to a local file, reading/writing to the
>> local file and then uploading the file to Girder, but we have not been
>> able to find a way within SimpleITK (within Python) to read and write
>> from/to streams rather than files.
>> 
>> Any guidance would be appreciated.
>> 
>> Brian
>> 
>> _____________________________________
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> 
>> Kitware offers ITK Training Courses, for more information visit:
>> http://www.kitware.com/products/protraining.php
>> 
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/insight-users
> 

_____________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-users


More information about the Community mailing list