[Insight-users] reading Dicom Volume

Iván Macía imacia at vicomtech.org
Wed Jan 28 05:01:37 EST 2009


Hi Mathieu,

> -----Mensaje original-----
> De: Mathieu Malaterre [mailto:mathieu.malaterre at gmail.com]
> Enviado el: miércoles, 28 de enero de 2009 9:00
> Para: Iván Macía
> CC: shoosh moosh; insight-users at itk.org
> Asunto: Re: [Insight-users] reading Dicom Volume
> 
> 'lo,
> 
> On Tue, Jan 27, 2009 at 5:16 PM, Iván Macía <imacia at vicomtech.org>
> wrote:
> > Hi Mathieu,
> >
> > You mean using ImageSeriesReader? I guess that if streaming is
> supported for
> > DICOM series you could use ImageSeriesReader (as in the new test
> > itkImageFileWriterPastingTest1) but it seems this is supported only
> for
> > ImageFileReader. At least I couldn't find it in the latest Doxygen
> > documentation.
> 
> I have not tried it myself, but I thought Luis (someone?) posted  a
> report that it was working.
> 

I assume this was for the ImageFileReader, maybe Luis knows a bit more about
the status of this, but I tried to look at the code of ImageSeriesReader in
the latest CVS and found nothing related to streaming. In ImageFileReader
there is clearly a flag for enabling streaming.

> > We are dealing with very large datasets and we had to implement some
> > custom-made cached 3D image that reads slices on demand, but this
> would
> > simplify things a bit.
> 
> Just for curiosity what are those volume ? (Enhanced MR Image Storage,
> Multiframe US...)
> 

DICOM Data from one example image:

Modality: XA (X-ray angiography)
Manufacturer: Siemens
Manufacturer's Model Name: AXIOM-Artis (C-arm angiography)
Rows: 2480
Columns: 1920
Number of Frames: 16 in this one, but I have one with 45 frames or so

If necessary, maybe I could provide the image data, I have to ask first

> > Regarding the GDCM streaming, what would happen if the volume size
> involved
> > decreasing the in-plane resolution. Would GDCMImageIO object read the
> whole
> > slice?
> 
> Yup, unfortunately. I have not put too much work on it as the Pixel
> Data is at most 2Gb. So by design DICOM is pretty limited for the size
> of the dataset. Anyway I understand it could be a nice feature.
> 

I think shoosh moosh was asking for something like this.

Would be really nice for the future, apart from the multi-frame, we are
dealing with CT images up to 512x512x1650 or so. Related to this, I know
there were also some initial efforts to have a new itk::Image with an slice
memory model. We did something similar "manually" but not at the level of
iterators etc, we simply load whole slices on demand.

But the main problem for us now are multi-frame, since we can barely load
them without running out of memory.

> > Previously I had a post about a related, but not exactly the same
> problem
> > about reading large multi-frame images because they didn't fit in
> memory :(
> > In this case GDCM was reading all the frames even ImageFileReader
> streaming
> > was used. See my older post here
> > http://www.nabble.com/Read-large-multi-frame-image-frame-by-frame-
> using-GDCM
> > -and-ImageFileReader-td20706507.html
> 
> Did you log in a bug report ? Assign it to me.
> 

There was already one :)
http://public.kitware.com/Bug/view.php?id=8185

> thanks
> 
> --
> Mathieu

Thanks for your help

Iván




More information about the Insight-users mailing list