# Parallelize itk::ImageSeriesReader (ITK 4.12)

**URL:** <https://discourse.itk.org/t/parallelize-itk-imageseriesreader-itk-4-12/1745>\
**Category:** Engineering\
**Tags:** dicom, gdcmio, threads, io\
**Created:** [April 4, 2019, 1:38pm UTC](https://discourse.itk.org/t/parallelize-itk-imageseriesreader-itk-4-12/1745 "2019-04-04T13:38:49Z")\
**Posts on this page:** 1\
**Showing post:** 15

<div class="post-metadata">

**Author:** ![svg](https://discourse.itk.org/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@svg](https://discourse.itk.org/u/svg)\
**Post date:** [April 8, 2019, 8:05am UTC](https://discourse.itk.org/t/parallelize-itk-imageseriesreader-itk-4-12/1745/15 "2019-04-08T08:05:35Z")

</div>

If I read your response correct @matt.mccormick. Your saying that the code snippet included in the first comment is correct and should work with multiple threads?

Create incense of reader:

> typedef itk::ImageSeriesReader\< FloatImageType4D \> ReaderType;  
> ReaderType::Pointer reader = ReaderType::New();

Create instance of ImageIO:

> typedef itk::GDCMImageIO ImageIOType;  
> ImageIOType::Pointer dicomIO = ImageIOType::New();

One more question 🙂 regarding your comment seen below. Your simply saying that each reader must read its own file (they are not allowed to read the same file), right?

> [@matt.mccormick](#):
>
> There should be independent sets of pipeline / image / data state per series / thread.

Have a great day and thank you for replying 🙂

---

_[View the full topic](https://discourse.itk.org/t/parallelize-itk-imageseriesreader-itk-4-12/1745)._
